previously the lucee build would just skip any inv...
# lucee
z
previously the lucee build would just skip any invalid test cases, silently skipping tests with syntax errors, I have extended the test filtering process to manually sniff any bad test cases for
skip="true"
if
skip=true
isn't set, it then throws out a nice error https://luceeserver.atlassian.net/browse/LDEV-4379
👍 2
👍🏼 1
[java] [script] -------------- Start Tests ----------- [java] [script] ERROR: test.tickets.LDEV1813 [java] [script] failure in C:\work\lucee6\test\tickets\LDEV1813.cfc;Syntax Error, Invalid Construct [java] [script] at line: 7, column: 45 [java] [script] 5: var a = [1,2,3,4,5,6,7,8]; [java] [script] 6: var arr = ["Aa","Bb","Cc","Dd","Ee"]; [java] [script] 7: assertEquals([1, 2, 3, 4, 5, 6,7, 8], a[:]);//return entire Array [java] [script] 8: assertEquals([1, 2, 3, 4, 5, 6], a[1:6]); //starts from 1 to 6 index [java] [script] 9: assertEquals([1, 3, 5], a[162]);// "Increase step by 2" [java] [script] [java] [script] lucee.runtime.exp.Abort: Page request is aborted [java] [script] at lucee.runtime.tag.Abort.doStartTag(Abort.java:74) [java] [script] at _testrunner_cfc$cf.udfCall1(/test/_testRunner.cfc:131)
a
Good improvement. Although I am curious as to the previous thinking that it was "OK" to skip "invalid" tests. IE; why what you have done here was not always the case already. This is not to take anything from your efforts to sort it out. Good stuff.
z
because, amongst other things, if you don't have an extension installed it causes a compiler error when you use a tag like cfzip or add a test case for unsupported syntax like above
Extension CI run a subset of tests, usually with only lucee light
a
Ah OK, this is not something the central / official Lucee build process is doing (having tests that break, and just skipping them), it's more for other ppl doing their own builds / testing thereof.
z
sorta, the build has to be able to skip certain test failures, i have an improved version in the works which creates a stub cfc from the component header, so that we can extract the metadata to then filter out and ignore failures by labels...
once this is sorted out, it will behave as you'd expect
we have a range of test flags, like
-DtestDebug="true"
and
-DtestSkip="true"
for debugging all this stuff
✅ 2
a
Gotcha
z
I am no longer trying to manually parse the component, it now creates a stub cfc https://github.com/lucee/Lucee/commit/49ac19e8b0e36d3728e93cfc636c6e093c0b6215
and i've refactored the testFiltering out into a seperate cfc, before more refactoring (n adding tests) https://github.com/lucee/Lucee/commit/db4348522f26b54b35992777ee593f7c360cfc63