OK, so I've patched test-stamp-propagation so it will use the timestamp cache when available. This should make the test more deterministic on all platforms when using ASDF. I left your increased sleep delay for other defsystems and/or ASDF with cache disabled (or old ASDF without cache).
The complexity of ASDF and its test suite is a testament to the horror of portability in CL. That ASDF and its test suite are possible at all is a testament to the compatibility between the many maintained CL implementations across many operating systems.
Do all tests pass now on all platforms including Windows? Is there any obstacle to release left?
PS: someone ought to examine the stamp propagation failure on ABCL and XCL (that share a lot of their runtime). But not me.
—♯ƒ • François-René ÐVB Rideau •Reflection&Cybernethics• http://fare.tunes.org I used to like the government, but that was before it got big and popular.
On Sat, Oct 19, 2013 at 10:51 PM, Dave Cooper david.cooper@genworks.com wrote:
On Sat, Oct 19, 2013 at 7:43 PM, Faré fahree@gmail.com wrote:
I committed a variant of your patch. See 3.0.2.30.
With this pulled, test-stamp-propagation started failing even more reliably (on Windows only), usually on the first or second lisp being run.
I remembered reading somewhere (I think some things Gary Byers was saying on openmcl-devel) that Windows does not always have particularly fine-grained timing facilities. So I thought maybe 2 seconds sleep was not enough to wait before touching files, and increased that to 5 seconds for Windows, as reflected in the attached patch.
With this change, I ran test-stamp-propagation on all the platforms three times through, all passing.
For good measure I also bumped the sleep for non-os-windows to 3 seconds from 2.
Maybe it's not necessary to clear the build/ directory before each set of tests anymore. I'll play with that a little bit.
Touch is not part of Windows, but it's probably part of either cygwin or msys or whichever add-on you run the test scripts with.
Oh ya. It does work when the lisp is invoked from cygwin. So touch is not assumed to be there in normal asdf, only during the tests, right? Then no prob.
-- My Best,
Dave Cooper, Genworks Support david.cooper@genworks.com, dave.genworks.com(skype)