I am in the process of cleaning up all the tests in the func/ directory.
Several people have expressed confusion about how to run the tests in the perf/ and func/ directory.
The perf/ benchmarks are performance microbenchmarks. Regrettably, the way of the world is to eke out the very best numbers for each test. Conceptually, then, each microbenchmark is intended to run on an otherwise "pristine" system. Therefore, tests in the perf/ directory should always be run on a newly initialized hard disk. The reason that the Makefiles do not automatically run init.hd whenever test.hd is run is that the disk formatting takes a while, and in many cases one test can run in the environment set up by another. A cleaner makefile setup would have test.hd depend on init.hd. I should probably go ahead and make this change in that subdirectory, but I'm going to hold off.
In the func/ tests, things are simpler but are somewhat clouded by historical accident.
Most of the func/ tests date back to the earliest attempts to run EROS. May of them were written to use an earlier (and now obsolete) version of 'mkimage', which is why several of the directories have test.old-imgmap.i486 (I renamed them so I would know which tests weren't expected to work). I have rewritten only those imgmap files that need dictated -- hopefully I'll nail down the last of them today.
All of those early tests were designed to run from ramdisk, because at the time I did not have a hard disk driver of any kind written. These tests pretty much all run from the same volmap description, which is the one in the func/ directory. All of them *can* be run from hard disk now that the disk bootstrap knows how to load from hard disk. I find it more convenient to generate the ramdisk tests fo a floppy, take the floppy to my second machine, insert it, and push reset.
A few of the later tests may not fit this mold, and may actually require going to a hard disk -- I'll be checking them out over the next little bit.
Anyway, I hope that this at least *reduces* the confusion about how/when to run 'make init.hd'.