Closed taliesinb closed 3 years ago
@maxitg , I've made sure that if the RequiresFrontEnd option is not explicitly set, then the default will be True for existing test files that use the frontend through graphicsQ etc (it is a no-op to nest UsingFrontEnd, of course).
Also, this PR switches the default for ./test.wls from loading the installed paclet (e.g. requiring you to call ./install.wls first), to loading "Kernel/init.m", e.g. the local file tree of which test.wls is a part. This PR therefore should wait until we have landed another PR which will switch to "in-place builds" that remove the need for the "/Build" subdirectory. That will come later tonight!
Also, if desired I can add the functionality that will automatically fail the test suite if the C++ code doesn't match the built hash.
Now, this change in which file is loaded will break the CI testing system, we can discuss what to do about that. I see three options:
I prefer 1, since it is the behavior that developers will want to use on a day-to-day basis.
@taliesinb, I agree with 1, however, ./build.wls && ./install.wls && ./test.wls
(and even ./build.wls && ./test.wls
) should still cause the tests to pass (it would not be user friendly otherwise), which means CI should not fail (although we do want to change it to use -lip
to make sure the paclet is built correctly).
It's actually very easy to modify what the CI does by changing this file and the scripts used therein (it has nothing to do with Ants, it's just using ordinary build/install/test scripts).
Oh, I should also mention that I've included a hack to fixed the nasty InputForm spew that used to happen if a subkernel prints anything or issues a message. It is now much more readable (and even colored orange to draw attention!).
This change introduces the following improvements to the
test.wls
script:--load-installed-paclet
/-lip
flag to load the installed paclet rather than loading the localKernel/init.m
, the latter now being the default behavior.--disable-parallelization
/-dp
flag to disable parallelization for short-lived tests, which can speed things up quite a bit..wlt
files where they occur.UsingFrontEnd[...]
for tests in which the frontend is used.This change is