<feed xmlns='http://www.w3.org/2005/Atom'>
<title>openembedded-core.git/meta/lib/oeqa, branch uninative-1.6</title>
<subtitle>Mirror of openembedded-core</subtitle>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/'/>
<entry>
<title>runtime-test.py: fix typo</title>
<updated>2017-03-26T12:17:03+00:00</updated>
<author>
<name>Robert Yang</name>
<email>liezhi.yang@windriver.com</email>
</author>
<published>2017-03-24T08:55:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=73b386c16b2388b5b351305bf1855c444d53481e'/>
<id>73b386c16b2388b5b351305bf1855c444d53481e</id>
<content type='text'>
roofs -&gt; rootfs.

Signed-off-by: Robert Yang &lt;liezhi.yang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
roofs -&gt; rootfs.

Signed-off-by: Robert Yang &lt;liezhi.yang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>oeqa.buildperf: limit the length of error output</title>
<updated>2017-03-26T12:17:03+00:00</updated>
<author>
<name>Markus Lehtonen</name>
<email>markus.lehtonen@linux.intel.com</email>
</author>
<published>2017-03-24T14:43:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=3f1996cb016713295edf35edc32dd5e84888a5c7'/>
<id>3f1996cb016713295edf35edc32dd5e84888a5c7</id>
<content type='text'>
Limit the length of error logs to 40 lines. We don't need to
show/archive thousands of lines of bitbake logs if an error occurs.

Signed-off-by: Markus Lehtonen &lt;markus.lehtonen@linux.intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Limit the length of error logs to 40 lines. We don't need to
show/archive thousands of lines of bitbake logs if an error occurs.

Signed-off-by: Markus Lehtonen &lt;markus.lehtonen@linux.intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>oeqa.utils.commands: limit runCmd exception output</title>
<updated>2017-03-26T12:17:03+00:00</updated>
<author>
<name>Markus Lehtonen</name>
<email>markus.lehtonen@linux.intel.com</email>
</author>
<published>2017-03-24T14:43:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=403dd205828002d6ef4e8b474aedb6082289e22f'/>
<id>403dd205828002d6ef4e8b474aedb6082289e22f</id>
<content type='text'>
Make it possible to limit the length of output lines shown in runCmd
exceptions. E.g when running bitbake we easily get thousands of lines of
log output, where only the last few (tens) are interesting or relevant
when an error occurs.

Signed-off-by: Markus Lehtonen &lt;markus.lehtonen@linux.intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Make it possible to limit the length of output lines shown in runCmd
exceptions. E.g when running bitbake we easily get thousands of lines of
log output, where only the last few (tens) are interesting or relevant
when an error occurs.

Signed-off-by: Markus Lehtonen &lt;markus.lehtonen@linux.intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>oe-build-perf-test: sum rusage in buildstats</title>
<updated>2017-03-26T12:17:03+00:00</updated>
<author>
<name>Markus Lehtonen</name>
<email>markus.lehtonen@linux.intel.com</email>
</author>
<published>2017-03-24T14:17:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=70c41bb721c00ed2abbb88d273eebc3a8bb01f5d'/>
<id>70c41bb721c00ed2abbb88d273eebc3a8bb01f5d</id>
<content type='text'>
Instead of separate rusage and child rusage values, only store their sum
value in buildstats. This is a big reduction in data footprint without
really losing any interesting data.

Also, utilize OrderedDict to order data more logically.

[YOCTO #10582]

Signed-off-by: Markus Lehtonen &lt;markus.lehtonen@linux.intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Instead of separate rusage and child rusage values, only store their sum
value in buildstats. This is a big reduction in data footprint without
really losing any interesting data.

Also, utilize OrderedDict to order data more logically.

[YOCTO #10582]

Signed-off-by: Markus Lehtonen &lt;markus.lehtonen@linux.intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>oe-build-perf-test: pack all buildstat in one file</title>
<updated>2017-03-26T12:17:02+00:00</updated>
<author>
<name>Markus Lehtonen</name>
<email>markus.lehtonen@linux.intel.com</email>
</author>
<published>2017-03-24T14:17:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=a7f2e8915db379021f3409ca640de5d3b054a830'/>
<id>a7f2e8915db379021f3409ca640de5d3b054a830</id>
<content type='text'>
Write out all buildstats into one big json file, instead of using
multiple per-measurement files. Individual buildstats will be indexed
using "&lt;test_name&gt;.&lt;measurement_name&gt;" as the key. Also, changes the
per-testcase working directories into temporary directories that will be
removed after test execution as there are no more per-testcase data files
to store permanently.

[YOCTO #10582]

Signed-off-by: Markus Lehtonen &lt;markus.lehtonen@linux.intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Write out all buildstats into one big json file, instead of using
multiple per-measurement files. Individual buildstats will be indexed
using "&lt;test_name&gt;.&lt;measurement_name&gt;" as the key. Also, changes the
per-testcase working directories into temporary directories that will be
removed after test execution as there are no more per-testcase data files
to store permanently.

[YOCTO #10582]

Signed-off-by: Markus Lehtonen &lt;markus.lehtonen@linux.intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>targetcontrol.py: use logger.info to replace of bb.note</title>
<updated>2017-03-26T12:17:02+00:00</updated>
<author>
<name>Robert Yang</name>
<email>liezhi.yang@windriver.com</email>
</author>
<published>2017-03-24T08:45:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=b139790422bc8e0d80bad063bb78bc1632731bc1'/>
<id>b139790422bc8e0d80bad063bb78bc1632731bc1</id>
<content type='text'>
The bb.note prints multiple same lines when invoke this class again, but
if we set mainlogger.propagate = False, nothing would be printed,
according to logging's document:

https://docs.python.org/3/library/logging.html
Note
If you attach a handler to a logger and one or more of its ancestors, it
may emit the same record multiple times. In general, you should not need
to attach a handler to more than one logger - if you just attach it to
the appropriate logger which is highest in the logger hierarchy, then it
will see all events logged by all descendant loggers, provided that
their propagate setting is left set to True. A common scenario is to
attach handlers only to the root logger, and to let propagation take
care of the rest.

We may need avoid using bb.note or bb.warn in oeqa since it attaches
multiple log handlers which may cause confusions

This patch only sets "mainlogger.propagate = False" in
selftest/runqemu.py and use logger.info to replace bb.note in
targetcontrol.py to minimize the impact.

[YOCTO #10249]

Signed-off-by: Robert Yang &lt;liezhi.yang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The bb.note prints multiple same lines when invoke this class again, but
if we set mainlogger.propagate = False, nothing would be printed,
according to logging's document:

https://docs.python.org/3/library/logging.html
Note
If you attach a handler to a logger and one or more of its ancestors, it
may emit the same record multiple times. In general, you should not need
to attach a handler to more than one logger - if you just attach it to
the appropriate logger which is highest in the logger hierarchy, then it
will see all events logged by all descendant loggers, provided that
their propagate setting is left set to True. A common scenario is to
attach handlers only to the root logger, and to let propagation take
care of the rest.

We may need avoid using bb.note or bb.warn in oeqa since it attaches
multiple log handlers which may cause confusions

This patch only sets "mainlogger.propagate = False" in
selftest/runqemu.py and use logger.info to replace bb.note in
targetcontrol.py to minimize the impact.

[YOCTO #10249]

Signed-off-by: Robert Yang &lt;liezhi.yang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>selftest/runqemu.py: add it to test runqemu</title>
<updated>2017-03-26T12:17:02+00:00</updated>
<author>
<name>Robert Yang</name>
<email>liezhi.yang@windriver.com</email>
</author>
<published>2017-03-24T08:45:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=e7073cb4786411bb71645e7d7cbc1c510910c4cc'/>
<id>e7073cb4786411bb71645e7d7cbc1c510910c4cc</id>
<content type='text'>
Usage:
$ oe-selftest -r runqemu

Current test cases:
$ runqemu nographic qemux86-64
$ runqemu nographic qemux86-64 ext4
$ runqemu nographic qemux86-64 iso
$ runqemu nographic core-image-minimal
$ runqemu nographic core-image-minimal vmdk
$ runqemu nographic core-image-minimal vdi
$ runqemu nographic tmp/deploy/images/qemux86-64
$ runqemu nographic tmp/deploy/images/qemux86-64 hddimg
$ runqemu nographic qemux86-64 slirp
$ runqemu nographic qemux86-64 slirp qcow2
$ runqemu nographic tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.qemuboot.conf
$ runqemu nographic tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4

Need more later:
- Test initramfs
- Test nfs
- Test when set DEPLOY_DIR_IMAGE and OECORE_NATIVE_SYSROOT
- And others which similate runqemu runs on SDK and eSDK.

[YOCTO #10249]

Signed-off-by: Robert Yang &lt;liezhi.yang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Usage:
$ oe-selftest -r runqemu

Current test cases:
$ runqemu nographic qemux86-64
$ runqemu nographic qemux86-64 ext4
$ runqemu nographic qemux86-64 iso
$ runqemu nographic core-image-minimal
$ runqemu nographic core-image-minimal vmdk
$ runqemu nographic core-image-minimal vdi
$ runqemu nographic tmp/deploy/images/qemux86-64
$ runqemu nographic tmp/deploy/images/qemux86-64 hddimg
$ runqemu nographic qemux86-64 slirp
$ runqemu nographic qemux86-64 slirp qcow2
$ runqemu nographic tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.qemuboot.conf
$ runqemu nographic tmp/deploy/images/qemux86-64/core-image-minimal-qemux86-64.ext4

Need more later:
- Test initramfs
- Test nfs
- Test when set DEPLOY_DIR_IMAGE and OECORE_NATIVE_SYSROOT
- And others which similate runqemu runs on SDK and eSDK.

[YOCTO #10249]

Signed-off-by: Robert Yang &lt;liezhi.yang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>qemurunner.py: fix handling of runqemuparams</title>
<updated>2017-03-26T12:17:01+00:00</updated>
<author>
<name>Chen Qi</name>
<email>Qi.Chen@windriver.com</email>
</author>
<published>2017-03-24T08:45:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=16400f2b8bffc4cae0263bb597522071299b46ca'/>
<id>16400f2b8bffc4cae0263bb597522071299b46ca</id>
<content type='text'>
The launch() doesn't need runqemuparams, we need handle it in start().

Signed-off-by: Chen Qi &lt;Qi.Chen@windriver.com&gt;
Signed-off-by: Robert Yang &lt;liezhi.yang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The launch() doesn't need runqemuparams, we need handle it in start().

Signed-off-by: Chen Qi &lt;Qi.Chen@windriver.com&gt;
Signed-off-by: Robert Yang &lt;liezhi.yang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>oeqa/targetcontrol.py: modify it to test runqemu</title>
<updated>2017-03-26T12:17:01+00:00</updated>
<author>
<name>Robert Yang</name>
<email>liezhi.yang@windriver.com</email>
</author>
<published>2017-03-24T08:44:59+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=9305d816bdf8837ea3a407091cb7f24a9a3ae8dc'/>
<id>9305d816bdf8837ea3a407091cb7f24a9a3ae8dc</id>
<content type='text'>
Modify the following files to test runqemu:
    targetcontrol.py
    utils/commands.py
    utils/qemurunner.py

We need simulate how "runqemu" works in command line, so when test
"runqemu", the targetcontrol.py, utils/commands.py and
utils/qemurunner.py don't have to find the rootfs or set env vars.

[YOCTO #10249]

Signed-off-by: Robert Yang &lt;liezhi.yang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Modify the following files to test runqemu:
    targetcontrol.py
    utils/commands.py
    utils/qemurunner.py

We need simulate how "runqemu" works in command line, so when test
"runqemu", the targetcontrol.py, utils/commands.py and
utils/qemurunner.py don't have to find the rootfs or set env vars.

[YOCTO #10249]

Signed-off-by: Robert Yang &lt;liezhi.yang@windriver.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>qemurunner: configurable timeout for run_serial()</title>
<updated>2017-03-26T12:17:01+00:00</updated>
<author>
<name>Patrick Ohly</name>
<email>patrick.ohly@intel.com</email>
</author>
<published>2017-03-24T21:46:16+00:00</published>
<link rel='alternate' type='text/html' href='https://git.multitech.net/cgit/openembedded-core.git/commit/?id=accf0362f964cc9d6330b6e52e83d748d890521f'/>
<id>accf0362f964cc9d6330b6e52e83d748d890521f</id>
<content type='text'>
Some commands might need to run longer than the default timeout of
five seconds. If that occurred, run_serial() returned with a status
code of zero (sic!) and no other indication of what went wrong.

Now the timeout is configurable (with five still the default) and
an explicit warning ("&lt;&lt;&lt; run_serial(): command timed out after 5 seconds without output &gt;&gt;&gt;")
gets appended at the end of the data returned to the caller.

While at it, the logic for checking for the timeout was updated a bit
because both implementations could overshoot the timeout when entering
select() right before the final deadline.

Signed-off-by: Patrick Ohly &lt;patrick.ohly@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Some commands might need to run longer than the default timeout of
five seconds. If that occurred, run_serial() returned with a status
code of zero (sic!) and no other indication of what went wrong.

Now the timeout is configurable (with five still the default) and
an explicit warning ("&lt;&lt;&lt; run_serial(): command timed out after 5 seconds without output &gt;&gt;&gt;")
gets appended at the end of the data returned to the caller.

While at it, the logic for checking for the timeout was updated a bit
because both implementations could overshoot the timeout when entering
select() right before the final deadline.

Signed-off-by: Patrick Ohly &lt;patrick.ohly@intel.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</pre>
</div>
</content>
</entry>
</feed>
