<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/lib/oeqa/selftest, branch sumo-next</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=sumo-next</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=sumo-next'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2019-04-25T14:01:21+00:00</updated>
<entry>
<title>devtool: Split tests into multiple classes</title>
<updated>2019-04-25T14:01:21+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2018-07-13T21:59:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=5ddf7fff992b065ee512878d2fe65f3e35d818cf'/>
<id>urn:sha1:5ddf7fff992b065ee512878d2fe65f3e35d818cf</id>
<content type='text'>
This allows better parallelism between the different tests as currently
this block takes the longest time to execute. devtool tests are still
all grouped into the "devtool" module for ease of exection.

This also makes it easier to execute some subset of devtool tests for
testing devtool changes.

(From OE-Core rev: 84f19e78d9b1f3d634cf1d46ce48f24670199d0b)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
Signed-off-by: Armin Kuster &lt;akuster808@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>oeqa: Default to buffer mode for tests</title>
<updated>2019-04-25T14:01:21+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2018-07-14T14:50:48+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=9a8d6d9fd200fdbd27dce63d6337e8d1fce49533'/>
<id>urn:sha1:9a8d6d9fd200fdbd27dce63d6337e8d1fce49533</id>
<content type='text'>
Currently some tests run in buffer mode and some don't. Those that don't can
corrupt stdout/stderr. Switch to using buffer mode everywhere so we're consistent.

If there is useful output on stdout/stderr, it will be displayed if the test
fails.

(From OE-Core rev: 85c1b6fb516aae58240330a0aca659bfafcd3883)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
Signed-off-by: Armin Kuster &lt;akuster808@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>oeqa/selftest/devtool: Ensure dbus is built befoe running test</title>
<updated>2019-04-25T14:01:21+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2018-07-13T22:16:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=65681147b2339d119a9e2f864103ea83b544daa3'/>
<id>urn:sha1:65681147b2339d119a9e2f864103ea83b544daa3</id>
<content type='text'>
If dbus isn't build first the dbus dependency of dbus-wait can't be detected
through pkgconfig and the test fails:

AssertionError: {'DEPENDS': {'dbus'}} != {}
- {'DEPENDS': {'dbus'}}
+ {} : Some expected variables not found in recipe: {'DEPENDS': {'dbus'}}

Ensure dbus is built and present in the sysroot.

(From OE-Core rev: af7ba26a603a12de0aed35e786674c92049c2bee)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
Signed-off-by: Armin Kuster &lt;akuster808@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>logging: use warning instead warn</title>
<updated>2019-04-25T14:01:21+00:00</updated>
<author>
<name>Chen Qi</name>
<email>Qi.Chen@windriver.com</email>
</author>
<published>2018-07-19T05:47:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=8c7ca97dd6fe790453dee2d245db0594e58c6fbf'/>
<id>urn:sha1:8c7ca97dd6fe790453dee2d245db0594e58c6fbf</id>
<content type='text'>
The warn method is deprecated. We should use the documented warning instead.

Quoting from the python's official doc:
"""
Note: There is an obsolete method warn which is functionally identical to warning.
      As warn is deprecated, please do not use it - use warning instead.
"""

(From OE-Core rev: cc771aa4b74f222f1bea38b0b50196b2fbc97ab4)

Signed-off-by: Chen Qi &lt;Qi.Chen@windriver.com&gt;
Signed-off-by: Ross Burton &lt;ross.burton@intel.com&gt;
Signed-off-by: Armin Kuster &lt;akuster808@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>pkgdata.py: avoid target-sdk-dummy-provides to mess things up</title>
<updated>2019-04-25T14:01:21+00:00</updated>
<author>
<name>Chen Qi</name>
<email>Qi.Chen@windriver.com</email>
</author>
<published>2019-01-30T02:56:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=56ddd6b3f454da60ccbc0e138171763032c644f2'/>
<id>urn:sha1:56ddd6b3f454da60ccbc0e138171763032c644f2</id>
<content type='text'>
Sometimes we meet the following failure for the test_lookup_recipe
test case.

  AssertionError: 'zlib\nbusybox is in the RPROVIDES of target-sdk-provid[32 chars]ummy' != 'zlib\nbusybox'
    zlib
  + busybox- busybox is in the RPROVIDES of target-sdk-provides-dummy:
  - target-sdk-provides-dummy

This is because target-sdk-provides-dummy rprovides busybox.

So clean things up to avoid failure.

(From OE-Core rev: 5ae49260180adc0070287db01c01a0820ce99ad3)

Signed-off-by: Chen Qi &lt;Qi.Chen@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
Signed-off-by: Armin Kuster &lt;akuster808@gmail.com&gt;
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:27+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=c7eb843d7cfba62b371103e7c13aeb33bb6cb682'/>
<id>urn:sha1:c7eb843d7cfba62b371103e7c13aeb33bb6cb682</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: e4195565d2a50046d4378c97f7a593c41bed51bd)

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:27+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=d038d97d48ac77078a398c2214c3f7d2b09c0f08'/>
<id>urn:sha1:d038d97d48ac77078a398c2214c3f7d2b09c0f08</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: bb0bc6368bb51ac0be77d13fe931601d493951ea)

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>
<entry>
<title>oe-selftest: devtool: Support meta being a symbolic link</title>
<updated>2019-02-25T22:27:46+00:00</updated>
<author>
<name>Peter Kjellerstedt</name>
<email>peter.kjellerstedt@axis.com</email>
</author>
<published>2018-10-20T23:20:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=c4681cc02eeb15a3ce0443400b9a027cb2960e6b'/>
<id>urn:sha1:c4681cc02eeb15a3ce0443400b9a027cb2960e6b</id>
<content type='text'>
oe-selftest's devtool tests have been broken since commit 2457cd57
(oe-selftest: devtool: avoid parallel races by using temporary copy of
core) if meta is a symbolic link.

(From OE-Core rev: daba6c5a991b370709d17e51305334f55a3858ec)

(From OE-Core rev: 3eb59559ecd2e93fb590a330b47de1db0750fc0b)

Signed-off-by: Peter Kjellerstedt &lt;peter.kjellerstedt@axis.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
Signed-off-by: Armin Kuster &lt;akuster808@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>oe-selftest: devtool: avoid parallel races by using temporary copy of core</title>
<updated>2019-02-25T22:27:46+00:00</updated>
<author>
<name>Paul Eggleton</name>
<email>paul.eggleton@linux.intel.com</email>
</author>
<published>2018-07-26T14:27:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=e5eadb501b93d7f5d571d952da0424e45bfb1889'/>
<id>urn:sha1:e5eadb501b93d7f5d571d952da0424e45bfb1889</id>
<content type='text'>
Some of the devtool tests make changes to files under meta/ -
legitimately since we want these tests to be working with real recipes
and associated files. Unfortunately with the new oe-selftest
parallelisation this can break other tests if files go missing at the
wrong time (among other scenarios). To avoid this issue, simply take a
copy of the core repository and use that for these tests. (We copy the
entire repository since changing the path of meta/ influences COREBASE
and thus we need to have things like scripts/ alongside as well).

(From OE-Core rev: 2457cd57b4195924ef127f497efa2f34f411e660)

(From OE-Core rev: 9cb8353a4f0137823d6ed3e467db9dd7ead7b3de)

Signed-off-by: Paul Eggleton &lt;paul.eggleton@linux.intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
Signed-off-by: Armin Kuster &lt;akuster808@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>oeqa/selftest/runqemu: Enable kvm when QEMU_USE_KVM is set</title>
<updated>2019-02-25T22:27:45+00:00</updated>
<author>
<name>Robert Yang</name>
<email>liezhi.yang@windriver.com</email>
</author>
<published>2019-01-04T07:15:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=0bda55062765da0797c871d6f9bc02b527837299'/>
<id>urn:sha1:0bda55062765da0797c871d6f9bc02b527837299</id>
<content type='text'>
(From OE-Core rev: 564de3681353fe8e203425388e8be9703a89d2da)

(From OE-Core rev: 1207949c986cc9f6b3940a99e87bc4d8cfb86d5b)

Signed-off-by: Robert Yang &lt;liezhi.yang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
Signed-off-by: Armin Kuster &lt;akuster808@gmail.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
