The Lucee build by default skips any invalid tests plus some other rules
- tests prefixes with an _
- tests in a directory which includes an
- tests which don’t extend the Lucee test BaseSpec
- tests which don’t compile
The build uses a custom scanner for tests, which also skips any non test files and allows filtering by name or labels, i.e.
ant -DtestFilter="LDEV123" or
The must use the Lucee BaseSpec requirement is a bit annoying if you are using Testbox outside of the Lucee CI process, so I have added the ability to enable using additional baseSpecs with the Lucee build process
I noticed this was annoying when I added some CI for the lucee-mariab db extension
But skipping invalid tests can be annoying / frustrating when developing or debugging tests, so we have a few build flags to make your life easier as a developer, hacking away, trying to making Lucee even better!
If you run with
ant -DtestDebug="true" you will see a list of all the CFCs under the test directory and why they weren’t run. If you pass in
-DtestDebugAbort="true" the build will exit after scanning thru all the tests, so you don’t need to wait or ctrl-c to abort the build, as it takes a few minutes to run all our wonderful tests.
I’ve added a Github Action Workflow, so you can try this out on your forked repo
The output looks like this
[java] [script] -------------- Start Tests ----------- [java] [script] /home/runner/work/Lucee/Lucee/test/components/_Administrator.cfc :: test has _ prefix (_Administrator.cfc) [java] [script] /home/runner/work/Lucee/Lucee/test/_setupTestServices.cfc :: test has _ prefix (_setupTestServices.cfc) [java] [script] /home/runner/work/Lucee/Lucee/test/_testRunner.cfc :: test has _ prefix (_testRunner.cfc) [java] [script] /home/runner/work/Lucee/Lucee/test/components/_Query.cfc :: test has _ prefix (_Query.cfc) [java] [script] /home/runner/work/Lucee/Lucee/test/functions/_IsNull.cfc :: test has _ prefix (_IsNull.cfc) [java] [script] /home/runner/work/Lucee/Lucee/test/functions/_SerializeJSON2.cfc :: test has _ prefix (_SerializeJSON2.cfc) [java] [script] /home/runner/work/Lucee/Lucee/test/functions/_DeSerializeJSON.cfc :: test has _ prefix (_DeSerializeJSON.cfc) [java] [script] /home/runner/work/Lucee/Lucee/test/datasource/_postgreSQL2.cfc :: test has _ prefix (_postgreSQL2.cfc) [java] [script] /home/runner/work/Lucee/Lucee/test/a_debug_build/_A_error.cfc :: test has _ prefix (_A_error.cfc) [java] [script] /home/runner/work/Lucee/Lucee/test/a_debug_build/_A_failure.cfc :: test has _ prefix (_A_failure.cfc) [java] [script] /home/runner/work/Lucee/Lucee/test/a_debug_build/_MongoDB.cfc :: test has _ prefix (_MongoDB.cfc) [java] [script] /home/runner/work/Lucee/Lucee/test/components/Administrator/TestArchive/Admin.cfc :: Not a test suite [java] [script] /home/runner/work/Lucee/Lucee/test/functions/arrayFunctions.cfc :: test suite has skip=true [java] [script] /home/runner/work/Lucee/Lucee/test/functions/CreateDynamicProxy/osgi/Completor.cfc :: Not a test suite [java] [script] /home/runner/work/Lucee/Lucee/test/functions/custom/custom/Serialize.cfc :: Not a test suite [java] [script] /home/runner/work/Lucee/Lucee/test/functions/CreateDynamicProxy/javaSetting/Test.cfc :: Not a test suite [java] [script] /home/runner/work/Lucee/Lucee/test/functions/Duplicate/comps/some/B.cfc :: Not a test suite
For further documentation about this see Building Lucee 5 & 6 from source :: Lucee Documentation