exekall rework (part 2)
-
Mostly rework/cleanup the
ValueDB
where exekall stores the objects that were computed for each "stages" of the test (what is displayed inSTRUCTURE
file in tests' artifact folder). That DB now has a simple API to allow reloading object instances in a script or notebook. Documentation/examples coming soon. -
bisector
is now integrated with exekall'sValueDB
, which can be stored directly inside bisector's report. That allows to remove the xUnit ad-hoc file sincebisector
can now deal withlisa
objects directly (mostlyResultBundle
andResult
). As a consequence, opening a report usingbisector report
will likely require thelisa
package to be importable, which meanslisa
should installed as well. -
exekall
learns aexekall compare
subcommand that allows comparing twoVALUE_DB.pickle.xz
files. It will expect multiple values for each test, and look for significant regressions. In order to have more than one value for each test in one DB, useexekall merge
orbisector report myreport.yml.gz -oexport-db=merged_db.pickle.xz
-
exekall compare
is implemented in term of functions/classes found in lisa/regression.py, which can be readily used for other purposes if needed.
breaking changes:
- Since
xUnit
is replaced byValueDB
inbisector
's reports, that version won't be able to open previous lisa-next reports. lisa legacy reports should still work fine. -
ValueDB
structure has changed, so reloading previously-generated DB won't work.
note:
Since a lot more objects are now stored in bisector
's report, the report loading time has increased. Use bisector report --cache
to use a pickle cache of the YAML report, which is around ~10 times faster to open.