[M3devel] m3tests, pickles

Mika Nystrom mika at async.caltech.edu
Wed Jan 16 09:45:47 CET 2008


Can I add something tricky to a wish list on regression testing?
Tricky because I don't know the best way to go about it.

I have spent quite some time with various versions of Modula-3
tracking down issues with Pickles.  Usually the problem is that
Pickles aren't transferrable between systems, and it turns out that
I have included some type, somewhere, that doesn't translate.
MUTEX is a good example.  First of all it would be very nice if
such system dependencies were kept out (for instance, don't know
if it's possible, but something like this...)

TYPE RealMutex = OBJECT END;

TYPE WinMutex = RealMutex OBJECT (* windows fields *) END;
TYPE PosixMutex = RealMutex OBJECT (* POSIX fields *) END;

TYPE MUTEX = RealMutex;

and of course all that a client sees is MUTEX which is the same
across systems.

However I realize that what I say above may not be possible or
practical in all cases.

This brings me to the fact that Pickles are sensitive to certain
types of bugs (I think), and it would be very nice to check that
all OS/processor builds of M3 make compatible Pickles, with the
possible exception of things like MUTEX.  Of course this can't be
done within a single build...

     Mika



More information about the M3devel mailing list