<feed xmlns='http://www.w3.org/2005/Atom'>
<title>qemu/qemu.git/tests/unit/meson.build, branch master</title>
<subtitle>QEMU main repository</subtitle>
<id>https://git.landau.one/pub/scm/virt/qemu/qemu.git/atom?h=master</id>
<link rel='self' href='https://git.landau.one/pub/scm/virt/qemu/qemu.git/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/virt/qemu/qemu.git/'/>
<updated>2026-09-07T10:31:03+00:00</updated>
<entry>
<title>tests/unit: add websock handshake test</title>
<updated>2026-09-07T10:31:03+00:00</updated>
<author>
<name>Denis V. Lunev</name>
<email>den@openvz.org</email>
</author>
<published>2026-08-31T10:01:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/virt/qemu/qemu.git/commit/?id=e867e2047c6cf8c1e59e8e1155291cc0a0b9dd29'/>
<id>urn:sha1:e867e2047c6cf8c1e59e8e1155291cc0a0b9dd29</id>
<content type='text'>
Check that malformed HTTP greetings are answered with an HTTP 400
rather than an empty response. The no-space case is the one which used
to leave the response buffer empty.

Fixes: CVE-2026-84788
Cc: Daniel P. Berrangé &lt;berrange@redhat.com&gt;
Cc: Marc-André Lureau &lt;marcandre.lureau@redhat.com&gt;
Reviewed-by: Daniel P. Berrangé &lt;berrange@redhat.com&gt;
Reviewed-by: Marc-André Lureau &lt;marcandre.lureau@redhat.com&gt;
Signed-off-by: Denis V. Lunev &lt;den@openvz.org&gt;
[DB: exclude test from Windows since it depends on AF_UNIX
 which is not universally available]
Signed-off-by: Daniel P. Berrangé &lt;berrange@redhat.com&gt;
</content>
</entry>
<entry>
<title>tests: tag slow tests with 'slow' suite for easy filtering</title>
<updated>2026-08-25T11:20:43+00:00</updated>
<author>
<name>Marc-André Lureau</name>
<email>marcandre.lureau@redhat.com</email>
</author>
<published>2026-05-12T06:56:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/virt/qemu/qemu.git/commit/?id=f4b26072289084a0b182c1faa28aa338fe861c5d'/>
<id>urn:sha1:f4b26072289084a0b182c1faa28aa338fe861c5d</id>
<content type='text'>
Add several RCU and thread-pool unit tests to the slow_tests dict,
and tag all slow tests (both qtest and unit) with a 'slow' suite so
they can be excluded or selected via meson test --suite/--no-suite.

Acked-by: Fabiano Rosas &lt;farosas@suse.de&gt;
Signed-off-by: Marc-André Lureau &lt;marcandre.lureau@redhat.com&gt;
Message-ID: &lt;20260512065633.3542562-1-marcandre.lureau@redhat.com&gt;
</content>
</entry>
<entry>
<title>tests/unit: add reproducer for BlockAcctStats histogram locking race</title>
<updated>2026-08-03T08:42:29+00:00</updated>
<author>
<name>Denis V. Lunev</name>
<email>den@openvz.org</email>
</author>
<published>2026-07-24T11:13:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/virt/qemu/qemu.git/commit/?id=842c89281a20c3ea783609c5ac9da226e017e490'/>
<id>urn:sha1:842c89281a20c3ea783609c5ac9da226e017e490</id>
<content type='text'>
block_latency_histogram_set() and block_latency_histograms_clear()
replace BlockLatencyHistogram's nbins/boundaries/bins without taking
stats-&gt;lock, while block_account_one_io() reads those same fields
under that lock from whatever iothread completes the I/O.

Add a test that races two real threads against
block_latency_histogram_set() and
block_acct_start()/block_acct_done() on the same BlockAcctStats.
Applied here it passes, since the previous two commits already take
the lock; reverting them locally reproduces the abort this series
fixes, in about a second.

Signed-off-by: Denis V. Lunev &lt;den@openvz.org&gt;
CC: Kevin Wolf &lt;kwolf@redhat.com&gt;
CC: Hanna Reitz &lt;hreitz@redhat.com&gt;
CC: Vladimir Sementsov-Ogievskiy &lt;vsementsov@yandex-team.ru&gt;
CC: Andrey Drobyshev &lt;andrey.drobyshev@virtuozzo.com&gt;
Message-ID: &lt;20260724111311.4086859-4-den@openvz.org&gt;
Reviewed-by: Kevin Wolf &lt;kwolf@redhat.com&gt;
Signed-off-by: Kevin Wolf &lt;kwolf@redhat.com&gt;
</content>
</entry>
<entry>
<title>tests: add unit tests for RamDiscardManager multi-source aggregation</title>
<updated>2026-06-22T21:08:49+00:00</updated>
<author>
<name>Marc-André Lureau</name>
<email>marcandre.lureau@redhat.com</email>
</author>
<published>2026-06-04T13:43:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/virt/qemu/qemu.git/commit/?id=c2237aaf6dcdef9a9886baee512ca2c43f3fed08'/>
<id>urn:sha1:c2237aaf6dcdef9a9886baee512ca2c43f3fed08</id>
<content type='text'>
Add various unit tests for the RamDiscardManager multi-source
aggregation functionality.

The test uses a TestRamDiscardSource QOM object that tracks populated
state via a bitmap, similar to RamBlockAttributes implementation.

Signed-off-by: Marc-André Lureau &lt;marcandre.lureau@redhat.com&gt;
Link: https://lore.kernel.org/r/20260604-rdm5-v5-10-5768e6a0943d@redhat.com
Signed-off-by: Peter Xu &lt;peterx@redhat.com&gt;
</content>
</entry>
<entry>
<title>tests/unit: add test-envlist covering setenv/unsetenv name matching</title>
<updated>2026-06-03T16:45:06+00:00</updated>
<author>
<name>Denis V. Lunev</name>
<email>den@openvz.org</email>
</author>
<published>2026-05-20T21:26:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/virt/qemu/qemu.git/commit/?id=05221c600a5f3ef657d71aeaea632c5f1bab3a2d'/>
<id>urn:sha1:05221c600a5f3ef657d71aeaea632c5f1bab3a2d</id>
<content type='text'>
util/envlist had no test coverage. Add tests/unit/test-envlist
exercising the public envlist API and pinning down the prefix-match
hazard fixed in the previous commit:

  - envlist_unsetenv("FOO") must not remove an entry named "FOOBAR";
  - envlist_setenv("FOO=...") must not replace an existing "FOOBAR=..."
    entry placed earlier in the list (envlist_setenv() inserts at the
    head, so the first prefix match wins under the old strncmp rule).

Also cover the rest of the contract: head-insertion order observed
through envlist_to_environ(), replacement of an existing variable,
the count argument of envlist_to_environ(), and the documented EINVAL
paths (NULL inputs, setenv without '=', unsetenv with '=').

Signed-off-by: Denis V. Lunev &lt;den@openvz.org&gt;
Reviewed-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
Message-id: 20260520212628.479772-3-den@openvz.org
Cc: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
Cc: Markus Armbruster &lt;armbru@redhat.com&gt;
Cc: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
Signed-off-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
</content>
</entry>
<entry>
<title>tests/qtest: Individual verbose switches</title>
<updated>2026-05-12T12:40:08+00:00</updated>
<author>
<name>Fabiano Rosas</name>
<email>farosas@suse.de</email>
</author>
<published>2026-04-29T00:31:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/virt/qemu/qemu.git/commit/?id=f606321be88c8af4a22b1105f4621bb4a790a6ba'/>
<id>urn:sha1:f606321be88c8af4a22b1105f4621bb4a790a6ba</id>
<content type='text'>
Allow logging to be set for specific parts of QTest. Having a single
QTEST_LOG knob creates an output stream that is almost useless due to
spamming from some operations.

Add a backward-compatible way of selecting which parts will be made
verbose. Reuse the existing QTEST_LOG variable. The new options are:

QTEST_LOG=
fuzz - fuzz.c
qga - unit/test-qga.c
qmp - libqmp.c
qtest - QTest device, i.e. -qtest-log option
test - generic term for usage of all tests

E.g.:

QTEST_LOG=fuzz,qga,qmp,qtest,test
  equivalent to QTEST_LOG=1

QTEST_LOG=qmp,qtest
  enables logging of qmp operations from libqmp.c and logging of the
  qtest device.

QTEST_LOG=test,qmp
  enable test output and libqmp.c output.

QTEST_LOG=-qmp
  enable all output, except for libqmp.c

Acked-by: Peter Xu &lt;peterx@redhat.com&gt;
Link: https://lore.kernel.org/qemu-devel/20260429003130.15164-3-farosas@suse.de
Signed-off-by: Fabiano Rosas &lt;farosas@suse.de&gt;
</content>
</entry>
<entry>
<title>tests: add test for json-streamer.c error recovery</title>
<updated>2026-04-30T13:50:18+00:00</updated>
<author>
<name>Paolo Bonzini</name>
<email>pbonzini@redhat.com</email>
</author>
<published>2026-03-31T08:22:12+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/virt/qemu/qemu.git/commit/?id=b1d5be8011592ae4b1a5fe8eb4d3383a104ed615'/>
<id>urn:sha1:b1d5be8011592ae4b1a5fe8eb4d3383a104ed615</id>
<content type='text'>
Before rewriting the error recovery code to work in a push parsing
setup, make sure that we have tests for it.

Cover various cases of invalid JSON, to check that structural
recovery based on balanced brackets and braces works; and
lexer-based recovery which documents "\f" as a sure fire
way to reset the lexer.

Reviewed-by: Markus Armbruster &lt;armbru@redhat.com&gt;
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>tests: add /qdev/free-properties test</title>
<updated>2026-02-13T10:16:52+00:00</updated>
<author>
<name>Marc-André Lureau</name>
<email>marcandre.lureau@redhat.com</email>
</author>
<published>2026-01-08T23:03:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/virt/qemu/qemu.git/commit/?id=69345f948ab6051793c034ecedc97c68ca49649d'/>
<id>urn:sha1:69345f948ab6051793c034ecedc97c68ca49649d</id>
<content type='text'>
Add a simple qdev test to check that allocated properties get freed with
the object. This test exhibited array leaks before the fixes.

Signed-off-by: Marc-André Lureau &lt;marcandre.lureau@redhat.com&gt;
Reviewed-by: Stefan Berger &lt;stefanb@linux.ibm.com&gt;
Link: https://lore.kernel.org/r/20250429140306.190384-6-marcandre.lureau@redhat.com
Reviewed-by: Stefan Hajnoczi &lt;stefanha@redhat.com&gt;
Link: https://lore.kernel.org/r/20260108230311.584141-6-csomani@redhat.com
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
<entry>
<title>crypto: drop in-tree XTS cipher mode impl</title>
<updated>2025-11-03T10:45:55+00:00</updated>
<author>
<name>Daniel P. Berrangé</name>
<email>berrange@redhat.com</email>
</author>
<published>2025-10-31T14:23:33+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/virt/qemu/qemu.git/commit/?id=167194d0874efd98f88f525589aabaf03caa489f'/>
<id>urn:sha1:167194d0874efd98f88f525589aabaf03caa489f</id>
<content type='text'>
nettle included XTS in 3.4.1, so with the new min version we
no longer require the in-tree XTS cipher mode impl.

Reviewed-by: Marc-André Lureau &lt;marcandre.lureau@redhat.com&gt;
Signed-off-by: Daniel P. Berrangé &lt;berrange@redhat.com&gt;
</content>
</entry>
<entry>
<title>tests/unit: remove block layer code from test-nested-aio-poll</title>
<updated>2024-10-02T10:58:46+00:00</updated>
<author>
<name>Paolo Bonzini</name>
<email>pbonzini@redhat.com</email>
</author>
<published>2024-09-01T23:59:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.landau.one/pub/scm/virt/qemu/qemu.git/commit/?id=89d26d34ce8bb95552570e729d3a7e8cb17f7369'/>
<id>urn:sha1:89d26d34ce8bb95552570e729d3a7e8cb17f7369</id>
<content type='text'>
GCC is reporting a NULL pointer dereference when compiling aio_wait_kick()
with LTO.

The issue is that test-nested-aio-poll.c does not call qemu_init_main_loop().
It doesn't _need_ to because it never calls AIO_WAIT_WHILE(), but it seems
that LTO does not do enough dead-code elimination to catch that.

Fortunately aio_wait_kick() is only used in few places, and only in block
layer or system emulation code; and this test only needs the core event loop
functionality.  It does not even need iothreads.   So remove everything that
calls aio_wait_kick(), which is nice for coverage compared to adding the call
to qemu_init_main_loop().

Reported-by: Richard W.M. Jones &lt;rjones@redhat.com&gt;
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2434
Signed-off-by: Paolo Bonzini &lt;pbonzini@redhat.com&gt;
</content>
</entry>
</feed>
