<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/scripts/lib/resulttool/template, branch thud</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=thud</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=thud'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2019-03-26T15:38:23+00:00</updated>
<entry>
<title>resulttool/report: Ensure ptest results are sorted</title>
<updated>2019-03-26T15:38:23+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2019-02-27T17:10:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=38bbbb4ee19e2be5461b267da71c528d3fa1d0d0'/>
<id>urn:sha1:38bbbb4ee19e2be5461b267da71c528d3fa1d0d0</id>
<content type='text'>
(From OE-Core rev: 2e3ffad9e97c5f757e1457721308eb8da63bcabf)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>resulttool: Improvements to allow integration to the autobuilder</title>
<updated>2019-03-26T15:38:22+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2019-02-16T18:13:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=10b6fbfb8a3a9c0ba2f323658bc3387051a77ca9'/>
<id>urn:sha1:10b6fbfb8a3a9c0ba2f323658bc3387051a77ca9</id>
<content type='text'>
This is a combined patch of the various tweaks and improvements I
made to resulttool:

* Avoid subprocess.run() as its a python 3.6 feature and we
  have autobuilder workers with 3.5.

* Avoid python keywords as variable names

* Simplify dict accesses using .get()

* Rename resultsutils -&gt; resultutils to match the resultstool -&gt;
  resulttool rename

* Formalised the handling of "file_name" to "TESTSERIES" which the code
  will now add into the json configuration data if its not present, based
  on the directory name.

* When we don't have failed test cases, print something saying so
  instead of an empty table

* Tweak the table headers in the report to be more readable (reference
  "Test Series" instead if file_id and ID instead of results_id)

* Improve/simplify the max string length handling

* Merge the counts and percentage data into one table in the report
  since printing two reports of the same data confuses the user

* Removed the confusing header in the regression report

* Show matches, then regressions, then unmatched runs in the regression
  report, also remove chatting unneeded output

* Try harder to "pair" up matching configurations to reduce noise in
  the regressions report

* Abstracted the "mapping" table concept used to pairing in the
  regression code to general code in resultutils

* Created multiple mappings for results analysis, results storage and
  'flattening' results data in a merge

* Simplify the merge command to take a source and a destination,
  letting the destination be a directory or a file, removing the need for
  an output directory parameter

* Add the 'IMAGE_PKGTYPE' and 'DISTRO' config options to the regression
  mappings

* Have the store command place the testresults files in a layout from
  the mapping, making commits into the git repo for results storage more
  useful for simple comparison purposes

* Set the oe-git-archive tag format appropriately for oeqa results
  storage (and simplify the commit messages closer to their defaults)

* Fix oe-git-archive to use the commit/branch data from the results file

* Cleaned up the command option help to match other changes

* Follow the model of git branch/tag processing used by oe-build-perf-report
  and use that to read the data using git show to avoid branch change

* Add ptest summary to the report command

* Update the tests to match the above changes

(From OE-Core rev: b4513e75f746a0989b09ee53cb85e489d41e5783)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>resulttool: enable merge, store, report and regression analysis</title>
<updated>2019-03-26T15:38:22+00:00</updated>
<author>
<name>Yeoh Ee Peng</name>
<email>ee.peng.yeoh@intel.com</email>
</author>
<published>2019-02-14T05:50:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=661fa1335b6832a1d13b13e8ca4354cdef213358'/>
<id>urn:sha1:661fa1335b6832a1d13b13e8ca4354cdef213358</id>
<content type='text'>
OEQA outputs test results into json files and these files were
archived by Autobuilder during QA releases. Example: each oe-selftest
run by Autobuilder for different host distro generate a
testresults.json file.

These scripts were developed as a test result tools to manage
these testresults.json file.

Using the "store" operation, user can store multiple testresults.json
files as well as the pre-configured directories used to hold those files.

Using the "merge" operation, user can merge multiple testresults.json
files to a target file.

Using the "report" operation, user can view the test result summary
for all available testresults.json files inside a ordinary directory
or a git repository.

Using the "regression-file" operation, user can perform regression
analysis on testresults.json files specified. Using the "regression-dir"
and "regression-git" operations, user can perform regression analysis
on directory and git accordingly.

These resulttool operations expect the testresults.json file to use
the json format below.
{
    "&lt;testresult_1&gt;": {
        "configuration": {
            "&lt;config_name_1&gt;": "&lt;config_value_1&gt;",
            "&lt;config_name_2&gt;": "&lt;config_value_2&gt;",
            ...
            "&lt;config_name_n&gt;": "&lt;config_value_n&gt;",
        },
        "result": {
            "&lt;testcase_namespace_1&gt;": {
                "status": "&lt;PASSED or FAILED or ERROR or SKIPPED&gt;",
                "log": "&lt;failure or error logging&gt;"
            },
            "&lt;testcase_namespace_2&gt;": {
                "status": "&lt;PASSED or FAILED or ERROR or SKIPPED&gt;",
                "log": "&lt;failure or error logging&gt;"
            },
            ...
            "&lt;testcase_namespace_n&gt;": {
                "status": "&lt;PASSED or FAILED or ERROR or SKIPPED&gt;",
                "log": "&lt;failure or error logging&gt;"
            },
        }
    },
    ...
    "&lt;testresult_n&gt;": {
        "configuration": {
            "&lt;config_name_1&gt;": "&lt;config_value_1&gt;",
            "&lt;config_name_2&gt;": "&lt;config_value_2&gt;",
            ...
            "&lt;config_name_n&gt;": "&lt;config_value_n&gt;",
        },
        "result": {
            "&lt;testcase_namespace_1&gt;": {
                "status": "&lt;PASSED or FAILED or ERROR or SKIPPED&gt;",
                "log": "&lt;failure or error logging&gt;"
            },
            "&lt;testcase_namespace_2&gt;": {
                "status": "&lt;PASSED or FAILED or ERROR or SKIPPED&gt;",
                "log": "&lt;failure or error logging&gt;"
            },
            ...
            "&lt;testcase_namespace_n&gt;": {
                "status": "&lt;PASSED or FAILED or ERROR or SKIPPED&gt;",
                "log": "&lt;failure or error logging&gt;"
            },
        }
    },
}

To use these scripts, first source oe environment, then run the
entry point script to look for help.
    $ resulttool

To store test result from oeqa automated tests, execute the below
    $ resulttool store &lt;source_dir&gt; &lt;git_branch&gt;

To merge multiple testresults.json files, execute the below
    $ resulttool merge &lt;base_result_file&gt; &lt;target_result_file&gt;

To report test report, execute the below
    $ resulttool report &lt;source_dir&gt;

To perform regression file analysis, execute the below
    $ resulttool regression-file &lt;base_result_file&gt; &lt;target_result_file&gt;

To perform regression dir analysis, execute the below
    $ resulttool regression-dir &lt;base_result_dir&gt; &lt;target_result_dir&gt;

To perform regression git analysis, execute the below
    $ resulttool regression-git &lt;source_dir&gt; &lt;base_branch&gt; &lt;target_branch&gt;

[YOCTO# 13012]
[YOCTO# 12654]

(From OE-Core rev: 39cda3498ec68b91a671ead256231324d74f7d4c)

Signed-off-by: Yeoh Ee Peng &lt;ee.peng.yeoh@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
