<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/poky.git/meta/lib/oeqa/utils, branch genericarm64</title>
<subtitle>Mirror of git.yoctoproject.org/poky</subtitle>
<id>https://git.enea.com/cgit/linux/poky.git/atom?h=genericarm64</id>
<link rel='self' href='https://git.enea.com/cgit/linux/poky.git/atom?h=genericarm64'/>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/'/>
<updated>2024-01-30T15:15:54+00:00</updated>
<entry>
<title>oeqa/qemurunner: Handle rare shutdown race</title>
<updated>2024-01-30T15:15:54+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2024-01-26T22:52:26+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=5573fb12ebc10778c37840af220796347966ec2f'/>
<id>urn:sha1:5573fb12ebc10778c37840af220796347966ec2f</id>
<content type='text'>
The pid file can disappear when qemu is shutting down leading to a
file not found race before it is read.

Tweak the code to handle this and fix a rare but annoying race error
case.

[YOCTO #15036]

(From OE-Core rev: 8c07aac9d55f92fe5fbe3cab9f006efecf266328)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>qemurunner: more cleanups for output blocking</title>
<updated>2023-12-21T10:38:30+00:00</updated>
<author>
<name>Alex Bennée</name>
<email>alex.bennee@linaro.org</email>
</author>
<published>2023-12-20T16:14:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=4a5ef39d8a6a18dc48f280fb52be1fc8bfac3799'/>
<id>urn:sha1:4a5ef39d8a6a18dc48f280fb52be1fc8bfac3799</id>
<content type='text'>
If we are only tracking stdout and are not using self.readsock we end
up throwing an exception blocking further action from the thread. Fix
this by checking self.readsock is not None first.

While we are at it split even into fd, event to make things clearer
and handle the fail path of stringify_event by echoing the hex value
of the unknown flag.

(From OE-Core rev: 5e58737c66090fe009ec49296f3e7d687eb05766)

Signed-off-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;
Cc: Mikko Rapeli &lt;mikko.rapeli@linaro.org&gt;
Cc: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>qemurunner: Improve handling of serial port output blocking</title>
<updated>2023-12-20T07:47:00+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2023-12-18T15:14:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=98b63ecc4358a11c6840bad90c86846b8b9a3a76'/>
<id>urn:sha1:98b63ecc4358a11c6840bad90c86846b8b9a3a76</id>
<content type='text'>
Similar to stdout in the previous commit, we need to ensure serial output
if written is read and put somewhere, else qemu might block on writes to
the serial port leading to hangs in the kernel. Use our existing logging
thread to log data when run_serial is not in use.

(From OE-Core rev: 05761282ba31e4ba3594f7321e2162d01fe12a5f)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>qemurunner: Improve stdout logging handling</title>
<updated>2023-12-20T07:47:00+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2023-12-18T12:18:45+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=d921da782aed3fdf0b2c888751cc6e67618adc6a'/>
<id>urn:sha1:d921da782aed3fdf0b2c888751cc6e67618adc6a</id>
<content type='text'>
We need to ensure we read from and log the output from qemu stdout
as otherwise the buffers can fill and block, leading qemu to hang.
Use our existing logging thread to do this.

Reviewed-by: Alex Bennée &lt;alex.bennee@linaro.org&gt;
(From OE-Core rev: a9c46ee014ef1e6436b39fdd4fd15d15388ea795)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>qemurunner: remove unused import</title>
<updated>2023-12-13T11:34:27+00:00</updated>
<author>
<name>Ross Burton</name>
<email>ross.burton@arm.com</email>
</author>
<published>2023-12-07T14:36:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=b9eeb3b3863fd98c20d177b98cb0fd54a4440ce1'/>
<id>urn:sha1:b9eeb3b3863fd98c20d177b98cb0fd54a4440ce1</id>
<content type='text'>
Removes unused logging import

(From OE-Core rev: 1f21509a2fadb66888589e9946b34dddf5becc72)

Signed-off-by: Ross Burton &lt;ross.burton@arm.com&gt;
Signed-off-by: Eilís 'pidge' Ní Fhlannagáin &lt;pidge@baylibre.com&gt;
Signed-off-by: Alexandre Belloni &lt;alexandre.belloni@bootlin.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>oeqa/qemurunner: Drop newlines serial workaround</title>
<updated>2023-10-15T08:11:47+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2023-10-15T08:06:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=ddd38a3b1562b6c5b74c1e8e23c2e5c9b38bc4a2'/>
<id>urn:sha1:ddd38a3b1562b6c5b74c1e8e23c2e5c9b38bc4a2</id>
<content type='text'>
Drop the newlines serial workaround, it doesn't seem to fix things
enough of the time to be useful.

(From OE-Core rev: 6cd57b2d148c5de7839d52d8cec359e4a10e0cd6)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>oeqa/utils/gitarchive: ensure tag matches regex before getting its fields</title>
<updated>2023-10-11T08:43:45+00:00</updated>
<author>
<name>Alexis Lothoré</name>
<email>alexis.lothore@bootlin.com</email>
</author>
<published>2023-10-10T09:30:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=3c531686820ca9baeb6394cf75df8d27b5d8a731'/>
<id>urn:sha1:3c531686820ca9baeb6394cf75df8d27b5d8a731</id>
<content type='text'>
Whenever we ask gitarchive to retrieve test results for specific revisions,
we first do a "large" search in get_tags, which uses glob patterns with git
ls-remote, and then we filter received tags with a regex to parse the tags
fields.
Currently gitarchive assumes that all tags returned by get_tags will match
the regex. This assumption is wrong (for example searching "master-next" in
get_tags may return some tags like "abelloni/master-next), and leads then
to exception when we try to retrieve tags fields:
Traceback (most recent call last):
  File "/home/pokybuild/yocto-worker/a-full/build/scripts/resulttool", line 78, in &lt;module&gt;
    sys.exit(main())
             ^^^^^^
  File "/home/pokybuild/yocto-worker/a-full/build/scripts/resulttool", line 72, in main
    ret = args.func(args, logger)
          ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pokybuild/yocto-worker/a-full/build/scripts/lib/resulttool/regression.py", line 315, in regression_git
    revs2 = gitarchive.get_test_revs(logger, repo, tag_name, branch=args.branch2)
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pokybuild/yocto-worker/a-full/build/meta/lib/oeqa/utils/gitarchive.py", line 246, in get_test_revs
    fields, runs = get_test_runs(log, repo, tag_name, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/pokybuild/yocto-worker/a-full/build/meta/lib/oeqa/utils/gitarchive.py", line 238, in get_test_runs
    groups = m.groupdict()

Fix this exception by merely skipping those additionals tags which won't
match the regex

(From OE-Core rev: 8b5ace47372e958db9e4abb23378947fb02f6fc2)

Signed-off-by: Alexis Lothoré &lt;alexis.lothore@bootlin.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>oeqa/utils/gitarchive: fix tag pattern searching</title>
<updated>2023-10-11T08:43:45+00:00</updated>
<author>
<name>Alexis Lothoré</name>
<email>alexis.lothore@bootlin.com</email>
</author>
<published>2023-10-10T09:30:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=800665612aab3d0f18aacd7dc4fe4e0111ff5b2d'/>
<id>urn:sha1:800665612aab3d0f18aacd7dc4fe4e0111ff5b2d</id>
<content type='text'>
Whenever we ask gitarchive to search for tags, we can provide it with a
pattern (containing glob patterns). However, when searching for example for
tags matching branch master-next, it can find more tags which does not
correspond exactly to branch master-next (e.g. abelloni/master-next tags
will match).

Prevent those additional tags from being fetched by gitarchive by using a
more specific pattern: prefix user-provided pattern with "refs/tags"

(From OE-Core rev: c24b7ea28021da48aa8f3498a9b899f595efde56)

Signed-off-by: Alexis Lothoré &lt;alexis.lothore@bootlin.com&gt;
Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>oeqa/qemurunner: Ensure we retry after BrokenPipeError</title>
<updated>2023-10-11T08:39:46+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2023-10-10T13:31:20+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=441146001650959ea327e6eb9e6d93ccd669a8d8'/>
<id>urn:sha1:441146001650959ea327e6eb9e6d93ccd669a8d8</id>
<content type='text'>
If the BrokenPipeError occurs when writing to the serial port to wake it
up, defer the write and try again (which will happen on the 5s timeout
of the select call). Why it should return ESHUTDOWN and then work later
I'm not sure but it does appear to make it work. For now we need 'working'
QA tests whilst the issue is debugged.

(From OE-Core rev: ea9e6ba0ab31a0b20012c283aa768496a50b527a)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
<entry>
<title>oeqa/qemurunner: Add extra logging when console doesn't appear</title>
<updated>2023-10-10T08:53:32+00:00</updated>
<author>
<name>Richard Purdie</name>
<email>richard.purdie@linuxfoundation.org</email>
</author>
<published>2023-10-09T16:50:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.enea.com/cgit/linux/poky.git/commit/?id=c0af426af86d634b2bcef4d76e5c46b46dde7acf'/>
<id>urn:sha1:c0af426af86d634b2bcef4d76e5c46b46dde7acf</id>
<content type='text'>
If the console doesn't appear, breifly sleep and try an extra read. This
is a useful debugging trick which we may as well preserve in the code. We're
already failing at this point so extra data is useful.

This means if we perturb things on the other port, we may gain useful logging
insight.

(From OE-Core rev: be3724854947ded160789d0353b7efb8c593040f)

Signed-off-by: Richard Purdie &lt;richard.purdie@linuxfoundation.org&gt;
</content>
</entry>
</feed>
