<feed xmlns='http://www.w3.org/2005/Atom'>
<title>passt/test, branch 2025_09_11.6cbcccc</title>
<subtitle>Plug A Simple Socket Transport</subtitle>
<link rel='alternate' type='text/html' href='https://passt.top/passt/'/>
<entry>
<title>test: Fix the download link for debian-11-generic-ppc64el image</title>
<updated>2025-09-09T19:14:37+00:00</updated>
<author>
<name>Yumei Huang</name>
<email>yuhuang@redhat.com</email>
</author>
<published>2025-09-08T11:34:46+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=d363fb7796db3581161a6cca8dd022d0105052dd'/>
<id>d363fb7796db3581161a6cca8dd022d0105052dd</id>
<content type='text'>
Signed-off-by: Yumei Huang &lt;yuhuang@redhat.com&gt;
Tested-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Signed-off-by: Yumei Huang &lt;yuhuang@redhat.com&gt;
Tested-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>test: Explicit specify forwarding ports for pasta in log rotation tests</title>
<updated>2025-09-05T11:00:20+00:00</updated>
<author>
<name>David Gibson</name>
<email>david@gibson.dropbear.id.au</email>
</author>
<published>2025-09-05T06:43:17+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=00e3580ab925bbcaaaaefbb31e744fef84660937'/>
<id>00e3580ab925bbcaaaaefbb31e744fef84660937</id>
<content type='text'>
test/pasta_options/log_to_file uses tcp_crr in a loop to generate log
messages for what it's actually testing.  For this to work, pasta needs to
forward two ports.  We set a PORTS variable with the options for this, but
never actually use it.  The test works, because without the options we use
automatic port forwarding.

That makes the test more fragile than it needs to be, in a way that's not
at all related to what we're actually trying to test.  Avoid this possible
point of failure by explicitly specifying the forwarding.

I encountered this because Fedora has now updated to a kernel with the
/proc/net lseek() bug.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
test/pasta_options/log_to_file uses tcp_crr in a loop to generate log
messages for what it's actually testing.  For this to work, pasta needs to
forward two ports.  We set a PORTS variable with the options for this, but
never actually use it.  The test works, because without the options we use
automatic port forwarding.

That makes the test more fragile than it needs to be, in a way that's not
at all related to what we're actually trying to test.  Avoid this possible
point of failure by explicitly specifying the forwarding.

I encountered this because Fedora has now updated to a kernel with the
/proc/net lseek() bug.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>test: Allow exeter &amp; podman tests to be parallel executed with BATS</title>
<updated>2025-09-05T11:00:19+00:00</updated>
<author>
<name>David Gibson</name>
<email>david@gibson.dropbear.id.au</email>
</author>
<published>2025-09-05T06:43:16+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=3c44ef852586101eb6a5b8750d07454dbfb8a1a3'/>
<id>3c44ef852586101eb6a5b8750d07454dbfb8a1a3</id>
<content type='text'>
As a proof-of-concept, this adds a "make bats" target which will execute
both the podman and exeter based testcases in parallel using BATS.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As a proof-of-concept, this adds a "make bats" target which will execute
both the podman and exeter based testcases in parallel using BATS.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>test: Convert build tests to exeter</title>
<updated>2025-09-05T11:00:17+00:00</updated>
<author>
<name>David Gibson</name>
<email>david@gibson.dropbear.id.au</email>
</author>
<published>2025-09-05T06:43:15+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=ffe34d28d53790d2d5a258587f9410d835ab0049'/>
<id>ffe34d28d53790d2d5a258587f9410d835ab0049</id>
<content type='text'>
Convert the tests in build/all to be based on exeter.  The new version of
the tests is more robust than the original, since it makes a temporary copy
of the source tree so will not be affected by concurrent manual builds.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Convert the tests in build/all to be based on exeter.  The new version of
the tests is more robust than the original, since it makes a temporary copy
of the source tree so will not be affected by concurrent manual builds.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>test: Run static checkers as exeter tests</title>
<updated>2025-09-05T11:00:15+00:00</updated>
<author>
<name>David Gibson</name>
<email>david@gibson.dropbear.id.au</email>
</author>
<published>2025-09-05T06:43:14+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=a58e60e83e31bd5c32b965eb9adabe99e781cb5d'/>
<id>a58e60e83e31bd5c32b965eb9adabe99e781cb5d</id>
<content type='text'>
Move the static checkers from the current DSL to exeter.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Move the static checkers from the current DSL to exeter.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>test: Extend test scripts to allow running exeter tests.</title>
<updated>2025-09-05T11:00:04+00:00</updated>
<author>
<name>David Gibson</name>
<email>david@gibson.dropbear.id.au</email>
</author>
<published>2025-09-05T06:43:13+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=a283ef47b9b3d525e54d1679f0bbc68ed5498e27'/>
<id>a283ef47b9b3d525e54d1679f0bbc68ed5498e27</id>
<content type='text'>
Introduce some trivial testcases based on the exeter library.  These run
passt and pasta with --help and --version options.  Extend our test
scripts to run these tests.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Introduce some trivial testcases based on the exeter library.  These run
passt and pasta with --help and --version options.  Extend our test
scripts to run these tests.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>treewide: By default, don't quit source after migration, keep sockets open</title>
<updated>2025-07-29T15:57:01+00:00</updated>
<author>
<name>Stefano Brivio</name>
<email>sbrivio@redhat.com</email>
</author>
<published>2025-07-17T08:38:17+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=a8782865c342eb2682cca292d5bf92b567344351'/>
<id>a8782865c342eb2682cca292d5bf92b567344351</id>
<content type='text'>
We are hitting an issue in the KubeVirt integration where some data is
still sent to the source instance even after migration is complete. As
we exit, the kernel closes our sockets and resets connections. The
resulting RST segments are sent to peers, effectively terminating
connections that were meanwhile migrated.

At the moment, this is not done intentionally, but in the future
KubeVirt might enable OVN-Kubernetes features where source and
destination nodes are explicitly getting mirrored traffic for a while,
in order to decrease migration downtime.

By default, don't quit after migration is completed on the source: the
previous behaviour can be enabled with the new, but deprecated,
--migrate-exit option. After migration (as source), the -1 / --one-off
option has no effect.

Also, by default, keep migrated TCP sockets open (in repair mode) as
long as we're running, and ignore events on any epoll descriptor
representing data channels. The previous behaviour can be enabled with
the new, equally deprecated, --migrate-no-linger option.

By keeping sockets open, and not exiting, we prevent the kernel
running on the source node to send out RST segments if further data
reaches us.

Reported-by: Nir Dothan &lt;ndothan@redhat.com&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We are hitting an issue in the KubeVirt integration where some data is
still sent to the source instance even after migration is complete. As
we exit, the kernel closes our sockets and resets connections. The
resulting RST segments are sent to peers, effectively terminating
connections that were meanwhile migrated.

At the moment, this is not done intentionally, but in the future
KubeVirt might enable OVN-Kubernetes features where source and
destination nodes are explicitly getting mirrored traffic for a while,
in order to decrease migration downtime.

By default, don't quit after migration is completed on the source: the
previous behaviour can be enabled with the new, but deprecated,
--migrate-exit option. After migration (as source), the -1 / --one-off
option has no effect.

Also, by default, keep migrated TCP sockets open (in repair mode) as
long as we're running, and ignore events on any epoll descriptor
representing data channels. The previous behaviour can be enabled with
the new, equally deprecated, --migrate-no-linger option.

By keeping sockets open, and not exiting, we prevent the kernel
running on the source node to send out RST segments if further data
reaches us.

Reported-by: Nir Dothan &lt;ndothan@redhat.com&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>test: Deal with /bin, /sbin unification in Fedora</title>
<updated>2025-07-22T21:49:43+00:00</updated>
<author>
<name>David Gibson</name>
<email>david@gibson.dropbear.id.au</email>
</author>
<published>2025-07-22T06:21:37+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=79de81ef6fb04327f76faf4f17ce1fcb298275f5'/>
<id>79de81ef6fb04327f76faf4f17ce1fcb298275f5</id>
<content type='text'>
Fedora is apparently merging /bin and /sbin together [0].  At least some of
this has landed in Fedora 42, with sshd and dhclient now being in /bin.
They are symlinked from /sbin, but mbuto doesn't preserve that symlink when
it builds its image, it just puts them in /bin.  That breaks later parts
of the script which expects to find sshd and dhclient in /sbin.  Other
parts of the test also expect sysctl in /sbin.

Use mbuto's LINKS feature to deal with these cases.

[0] https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Fedora is apparently merging /bin and /sbin together [0].  At least some of
this has landed in Fedora 42, with sshd and dhclient now being in /bin.
They are symlinked from /sbin, but mbuto doesn't preserve that symlink when
it builds its image, it just puts them in /bin.  That breaks later parts
of the script which expects to find sshd and dhclient in /sbin.  Other
parts of the test also expect sysctl in /sbin.

Use mbuto's LINKS feature to deal with these cases.

[0] https://fedoraproject.org/wiki/Changes/Unify_bin_and_sbin

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>test: Display count of skipped tests in status and summary</title>
<updated>2025-05-15T16:06:19+00:00</updated>
<author>
<name>Laurent Vivier</name>
<email>lvivier@redhat.com</email>
</author>
<published>2025-05-14T13:45:09+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=4234ace84cdf989cbcdb96a8165221dc83a11c85'/>
<id>4234ace84cdf989cbcdb96a8165221dc83a11c85</id>
<content type='text'>
This commit enhances test reporting by tracking and displaying the
number of skipped tests.

The skipped test count is now visible in the tmux status bar during
execution and included in the final test summary log. This provides
a more complete overview of test suite results.

Signed-off-by: Laurent Vivier &lt;lvivier@redhat.com&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit enhances test reporting by tracking and displaying the
number of skipped tests.

The skipped test count is now visible in the tmux status bar during
execution and included in the final test summary log. This provides
a more complete overview of test suite results.

Signed-off-by: Laurent Vivier &lt;lvivier@redhat.com&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>test/perf: Simplify iperf3 server lifetime management</title>
<updated>2025-03-12T22:08:33+00:00</updated>
<author>
<name>David Gibson</name>
<email>david@gibson.dropbear.id.au</email>
</author>
<published>2025-03-12T05:26:57+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=78f1f0fdfc1831f2ca3a65c2cee98c44ff3c30ab'/>
<id>78f1f0fdfc1831f2ca3a65c2cee98c44ff3c30ab</id>
<content type='text'>
After we start the iperf3 server in the background, we have a sleep to
make sure it's ready to receive connections.  We can simplify this slightly
by using the -D option to have iperf3 background itself rather than
backgrounding it manually.  That won't return until the server is ready to
use.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
After we start the iperf3 server in the background, we have a sleep to
make sure it's ready to receive connections.  We can simplify this slightly
by using the -D option to have iperf3 background itself rather than
backgrounding it manually.  That won't return until the server is ready to
use.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</pre>
</div>
</content>
</entry>
</feed>
