zorba-coders team mailing list archive
-
zorba-coders team
-
Mailing list archive
-
Message #15881
Re: [Merge] lp:~zorba-coders/zorba/fots_driver into lp:zorba
> 1. It appears that dependencies are checked twice: in driver:run() and
> driver:test(). Isn't this redundant, or am I missing something?.
It's a feature not a bug :)
As stated in the http://my.zorba-xquery.com/dokuwiki/doku.php?id=fots#dependencies
A dependency can be set:
- either at the test case level (see below for an example)
- or at the test set level
Or in both places (have a XQuery 3.0 dependency at the test set level and say a HOF dependency at the test case level for *some* test cases only)
1) driver:run() dependency check:
It could happen that there is a dependency at the test set level that is not met: in this case no test case will met that dependency => driver do not needs to run the test (meaning calling driver:test())
Example: there is a HOF dependency added at the test case level and HOF is not supported (*yet* by Zorba)
2) driver:test() dependency check:
Assuming the dependencies in test set are met, the driver still checks the dependencies defined at the test set level AND test case level.
Here is an example why:
at the test case level there is a dependency added for XQuery 3.0.
There is no dependency added at test case level for none of the test cases.
This still means that every test case should have the string "xquery version '3.0';" added to the string passed to XQXQ
Hope this makes sense...
I can add some comments in the code: would this be O.K. ?
> 2. The parameters $testSetPrefixes and $testCasePrefixes of driver:run() and
> driver:fots-run() have misleading names. They don't hold prefixes anymore but
> full test-set and test-case names. Can you rename to just $testSets and
> $testCases?
$testSetPrefixes is a prefix:
Did you try running the CLI with something like:
[...] -e mode:=run-test-sets -e testSetPrefixes:=prod
This will run all test sets that have a name starting with "prod"
FIX:
It's true that this is not added as an example: I will add it so it is more clear.
$testCasePrefixes is indeed *only* test case name.
FIX:
I can either:
- make it interpreted as a prefix (like it's the case of 'testSetPrefixes')
- or I can leave it like it is and rename the param 'testCseName'
Which do you suggest is better?
BTW,
GHislain mentioned that an improvement can be made such that for CLI mode "run-test-cases" one should add only "testCasePrefixes" (aka testCaseName).
Well the "testSetPrefixes" is not *needed*, it only helps find the test case faster:
- if you run in mode "run-test-cases" and pass only "testCasePrefixes" => 26493 test cases are searched (the whole FOTS)
- if instead you are passing the *exact* test set name => only the test cases in that set are searched => a lot less test cases (anywhere from 10 to some hundreds test cases)
Hope this also makes sense...
--
https://code.launchpad.net/~zorba-coders/zorba/fots_driver/+merge/133988
Your team Zorba Coders is subscribed to branch lp:zorba.
Follow ups
References