On Fri, Jul 1, 2011 at 12:40 PM, Yanni Chiu <[email protected]> wrote:
> On 01/07/11 8:54 AM, Igor Stasenko wrote: > >> >> The next step is to run tests for built VMs. For this i planning to >> create a specialized package, which will contain code snippets for >> loading& firing off various tests, >> because currently all tests are a bunch of .st scripts, and managing >> files over dozen of networked machines is not fun. >> So, i think i will just take these snippets and put them into single >> MC package, so then it could be managed much easier. >> > > Building VM's on CI server is a great step forward. Thanks for making it > happen. > > I'm curious about how to test each build. For a C compiler, typically a > fixed-point is done - i.e. compile the new compiler (yielding stage1 > compiler), then use the stage1 compiler to compile the new compiler again > (yielding stage2 compiler). Repeat to get stage3 compiler. The stage2 and > stage3 compiler binaries are supposed to be identical. Then, in a C/UNIX > system, recompiling the OS and tools was a good test suite. > > There may be some equivalent thing to do for a JIT/VM + image, but I can't > figure out what it is. Maybe all the method dictionaries need to be written > out in canonical order, then the stage2 and stage3 results compared. But, > that would only test the compiler, not the JIT functionality. Anyways, just > some random thoughts... > ? The VM source is generated in a canonical order (essentially alphabetic by function, but with exceptions; the interpret interpreter main loop comes first). This source is pure C and compiled with the C compiler. The VM is tested by running tests in the image while running above the VM. HTH -- best, Eliot
