[Vm-dev] Spur image/VM testing (was: Spur-3126 problem with #instVarAt: )

David T. Lewis lewis at mail.msen.com
Sat Nov 8 00:24:11 UTC 2014

On Fri, Nov 07, 2014 at 09:52:01AM -0800, Eliot Miranda wrote:
> HiChris, Hi All,
>    Chris, forgive me for replying to vm-dev, but I want to canvas responses
> to the solutions I'm proposing, (and I want to spread this good news) so
> I'm begging forgiveness instead of asking permission ;-)
> On Thu, Nov 6, 2014 at 7:31 PM, Chris Muller <ma.chris.m at gmail.com> wrote:
> > Hi Eliot.  The good news is, with a minor tweak to a timeout delay,
> > the Magma test suite actually *finished to completion*!
> > Yeeeeeaaaaahhh!!!
> >
> Fantastic news.  Your's is a great test of the system.  Thanks for your
> efforts in getting us this far!

Well as long as we are hijacking conversations I'll go ahead and add this :-)

I have been running the OSProcess/CommandShell test suite on Spur. These
tests put a heavy load on Squeak with process switching and lots of file
(pipe) operations. Here is what I have found so far.

Management summary:

I have found absolutely no problems associated with the new Spur image format
or VM changes compared to Squeak on Cog. It's faster, and aside from that
it just works. Really very impressive when you consider what it takes to
run these tests.

If you are interested mainly in the Spur image and VM, stop reading now. It
is really very good, and it works right now, today.

Details and issues not directly related to Spur, but possibly of interest:

- The following tests fail on Cog and Spur. I believe the failures are
related to various modifications in the oscog branch of the plugins,
although I have not attempted to debug them in detail. The failures related
to Cog/Spur are:

  (PipeableOSProcessTestCase selector: #testForkSqueakReadAndWriteReferenceStream) run.
  (UnixProcessAccessorTestCase selector: #testForkHeadlessSqueakReadAndWriteReferenceStream) run.
  (UnixProcessAccessorTestCase selector: #testRedirectStdOutTo) run.
  (UnixProcessTestCase selector: #testCatAFile) run.
  (UnixProcessTestCase selector: #testRunCommand) run.

- The forkSqueak methods do not work on Cog/Spur. No display is opened for
the child Squeak. This is an issue in the oscog branch of the XDisplayControlPlugin
and/or its implemention in the Cog/Spur VM. Not relevant to Spur testing
but it would be nice to fix.

- I get various failures in the test runner that are timing related, and
possibly related to parallel execution of tests. These are probably issues
in the OSProcess/CommandShell test suite, and my best guess at this point
is that they reflect issues exposed by the higher performance of the
Cog/Spur VMs. I do not consider these failures significant with respect
to Spur (or Cog).

- I am running the OSProcess tests on my older SuSE box, which works. When
I run on a newer Ubuntu, lots of things fail. I am confident, although I
cannot prove it yet, that this due to the same Ubuntu runtime library bug
that forced us to hack WriteStream>>nextChunkPut: in Squeak trunk. Noted
here because if you run the OSProcess/CommandShell tests and get lots of
failures, you may be using a buggy Ubuntu or similar system. Unfortunately
this cannot be fixed in the VM or in the plugins or in OSP, it seems to
be a runtime library bug in the OS itself.


More information about the Vm-dev mailing list