<feed xmlns='http://www.w3.org/2005/Atom'>
<title>passt/test, branch 2022_09_01.7ce9fd1</title>
<subtitle>Plug A Simple Socket Transport</subtitle>
<link rel='alternate' type='text/html' href='https://passt.top/passt/'/>
<entry>
<title>test/README: Requirements for socket buffer sizes and hardware performance events</title>
<updated>2022-09-02T15:06:46+00:00</updated>
<author>
<name>Stefano Brivio</name>
<email>sbrivio@redhat.com</email>
</author>
<published>2022-08-30T20:00:07+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=a1c38ffe0a148da665074f049acf4197b3d9349c'/>
<id>a1c38ffe0a148da665074f049acf4197b3d9349c</id>
<content type='text'>
Performance tests use iperf3(1) with large windows, and these sysctl
entries are needed to run them unmodified.

The passt demo uses perf(1) to report syscall overhead, and that
needs access to hardware performance counters for unprivileged
users.

Reported-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
Reviewed-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Performance tests use iperf3(1) with large windows, and these sysctl
entries are needed to run them unmodified.

The passt demo uses perf(1) to report syscall overhead, and that
needs access to hardware performance counters for unprivileged
users.

Reported-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
Reviewed-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>test: debian: Export DEBIAN_FRONTEND=noninteractive for sid</title>
<updated>2022-08-20T17:07:12+00:00</updated>
<author>
<name>Stefano Brivio</name>
<email>sbrivio@redhat.com</email>
</author>
<published>2022-08-19T09:37:05+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=f233d6c0f0680d4d0fdd6278faa58a574088e424'/>
<id>f233d6c0f0680d4d0fdd6278faa58a574088e424</id>
<content type='text'>
We start getting prompts about restarting outdated services: we're
using daily images but they might have been cached for a while now.

Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
We start getting prompts about restarting outdated services: we're
using daily images but they might have been cached for a while now.

Signed-off-by: Stefano Brivio &lt;sbrivio@redhat.com&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>test: Kill qemu by pidfile rather than ^C</title>
<updated>2022-08-20T17:07:12+00:00</updated>
<author>
<name>David Gibson</name>
<email>david@gibson.dropbear.id.au</email>
</author>
<published>2022-08-18T06:13:58+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=6caf9e368ef7c24d1e076c58eab1dfd845e5b934'/>
<id>6caf9e368ef7c24d1e076c58eab1dfd845e5b934</id>
<content type='text'>
Currently in at least some of the testcases we kill qemu processes we're
done with by issuing a Control-C to the tmux panel it's running in.  That
makes things harder as we try to move towards allowing "headless" testing
without tmux.

So, instead always use an explicit kill on a pid derived from a pidfile
for killing qemu.  Note that we don't need to remove the pidfiles
afterwards, because qemu does that itself when terminated.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently in at least some of the testcases we kill qemu processes we're
done with by issuing a Control-C to the tmux panel it's running in.  That
makes things harder as we try to move towards allowing "headless" testing
without tmux.

So, instead always use an explicit kill on a pid derived from a pidfile
for killing qemu.  Note that we don't need to remove the pidfiles
afterwards, because qemu does that itself when terminated.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>test: Log debugging output from test script</title>
<updated>2022-08-20T17:07:12+00:00</updated>
<author>
<name>David Gibson</name>
<email>david@gibson.dropbear.id.au</email>
</author>
<published>2022-08-18T06:13:57+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=3fdb0747f36d63d6f1a2724181a56e10f7065f4b'/>
<id>3fdb0747f36d63d6f1a2724181a56e10f7065f4b</id>
<content type='text'>
The test scripts run with sh -e, which means they will stop if any commands
return an error.  That's generally desirable, because we won't continue
after things are hopeless due to an earlier step failing.

Unfortunately, the tmux setup we run the script in means it's not obvious
where any error messages related to such a failure will go.  Depending on
exactly where the error occurs they might go to the original terminal
hidden behind tmux, or they might go to a tmux panel that's not visible in
the normal layouts.

To make it easier to find such error message, redirect direct output and
errors from the test script itself to a 'script.log' file in the logs
directory.  When in DEBUG=1 mode, additionaly 'set -x' so we log all the
commands we execute to that file.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The test scripts run with sh -e, which means they will stop if any commands
return an error.  That's generally desirable, because we won't continue
after things are hopeless due to an earlier step failing.

Unfortunately, the tmux setup we run the script in means it's not obvious
where any error messages related to such a failure will go.  Depending on
exactly where the error occurs they might go to the original terminal
hidden behind tmux, or they might go to a tmux panel that's not visible in
the normal layouts.

To make it easier to find such error message, redirect direct output and
errors from the test script itself to a 'script.log' file in the logs
directory.  When in DEBUG=1 mode, additionaly 'set -x' so we log all the
commands we execute to that file.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>test: Use shutdown test for pasta</title>
<updated>2022-08-20T17:07:12+00:00</updated>
<author>
<name>David Gibson</name>
<email>david@gibson.dropbear.id.au</email>
</author>
<published>2022-08-18T06:13:56+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=69126d4d48002784562ba44a77df37387968061d'/>
<id>69126d4d48002784562ba44a77df37387968061d</id>
<content type='text'>
For the passt and passt_in_ns tests we have a "shutdown" testcase that
checks for any errors from the passt process we were using (including
valgrind warnings).  Do the same for pasta tests, so that we catch any
error codes from the pasta process.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
For the passt and passt_in_ns tests we have a "shutdown" testcase that
checks for any errors from the passt process we were using (including
valgrind warnings).  Do the same for pasta tests, so that we catch any
error codes from the pasta process.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>test: Rename slightly misleading "valgrind" tests</title>
<updated>2022-08-20T17:07:12+00:00</updated>
<author>
<name>David Gibson</name>
<email>david@gibson.dropbear.id.au</email>
</author>
<published>2022-08-18T06:13:55+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=9224af149483e448546db7a63b66992c6003ab3e'/>
<id>9224af149483e448546db7a63b66992c6003ab3e</id>
<content type='text'>
The "valgrind" test cases are designed to pick up errors reported when
passt is running under valgrind.  But what it actually does is just kill
the passt process, then see if it had a non-zero exit code.  That means it
will equally well pick up any other problems which caused passt to exit
with an error status: either something detected within passt or as a result
of passt being killed by an unexpected signal.

The fact that the "valgrind" test is actually responsible for shutting down
the passt process is non-obvious and can lead to problems when selectively
running tests during debugging.

Rename the "valgrind" tests to "shutdown" tests and run it regardless of
whether we're using valgrind or not.  This allows us to remove an ugly
speacial case in the passt_in_ns teardown code.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The "valgrind" test cases are designed to pick up errors reported when
passt is running under valgrind.  But what it actually does is just kill
the passt process, then see if it had a non-zero exit code.  That means it
will equally well pick up any other problems which caused passt to exit
with an error status: either something detected within passt or as a result
of passt being killed by an unexpected signal.

The fact that the "valgrind" test is actually responsible for shutting down
the passt process is non-obvious and can lead to problems when selectively
running tests during debugging.

Rename the "valgrind" tests to "shutdown" tests and run it regardless of
whether we're using valgrind or not.  This allows us to remove an ugly
speacial case in the passt_in_ns teardown code.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>test: Only select a single interface or gateway in tests</title>
<updated>2022-08-20T17:07:12+00:00</updated>
<author>
<name>David Gibson</name>
<email>david@gibson.dropbear.id.au</email>
</author>
<published>2022-08-18T06:13:54+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=5beef085978e7ab8edc0f8a2b2a4d91a44ba2a3c'/>
<id>5beef085978e7ab8edc0f8a2b2a4d91a44ba2a3c</id>
<content type='text'>
The queries we use in the test scripts to locate the external interface
or gateway can return multiple results.  We get away with this because the
way we parse command output only looks at the last line.  It's not really
correct, though, and improvements to our handling of command output will
mean it breaks.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The queries we use in the test scripts to locate the external interface
or gateway can return multiple results.  We get away with this because the
way we parse command output only looks at the last line.  It's not really
correct, though, and improvements to our handling of command output will
mean it breaks.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>test: Split setup/teardown functions for build and distro tests</title>
<updated>2022-08-20T17:07:12+00:00</updated>
<author>
<name>David Gibson</name>
<email>david@gibson.dropbear.id.au</email>
</author>
<published>2022-08-18T06:13:53+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=2fa308ac6e5723241dd433e1610395054f7b7b10'/>
<id>2fa308ac6e5723241dd433e1610395054f7b7b10</id>
<content type='text'>
Currently the build tests and distro tests share a common setup function.
That works for now, but changes we want to make will mean they need
slightly different setup, so split the setup functions in preparation.

Currently, neither build nor distro tests have any teardown function.
Again, future changes are going to mean we need to do some teardown, so
create some empty for now teardown functions in preparation.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Currently the build tests and distro tests share a common setup function.
That works for now, but changes we want to make will mean they need
slightly different setup, so split the setup functions in preparation.

Currently, neither build nor distro tests have any teardown function.
Again, future changes are going to mean we need to do some teardown, so
create some empty for now teardown functions in preparation.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>test: Ignore video processing temporary files</title>
<updated>2022-08-20T17:07:12+00:00</updated>
<author>
<name>David Gibson</name>
<email>david@gibson.dropbear.id.au</email>
</author>
<published>2022-08-18T06:13:52+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=058f847348f4ccb81ff9e8d5cef7a8183b3f9dc8'/>
<id>058f847348f4ccb81ff9e8d5cef7a8183b3f9dc8</id>
<content type='text'>
When recording tests or demos with asciinema we generate several temporary
files during post-processing.  Add these to the .gitignore file so they're
not accidentally comitted.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
When recording tests or demos with asciinema we generate several temporary
files during post-processing.  Add these to the .gitignore file so they're
not accidentally comitted.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</pre>
</div>
</content>
</entry>
<entry>
<title>test: Remove unused *_XTERM variables</title>
<updated>2022-08-20T17:07:12+00:00</updated>
<author>
<name>David Gibson</name>
<email>david@gibson.dropbear.id.au</email>
</author>
<published>2022-08-18T06:13:51+00:00</published>
<link rel='alternate' type='text/html' href='https://passt.top/passt/commit/?id=a918e6c4fc23722cd00c73b137bde47b9a55fd35'/>
<id>a918e6c4fc23722cd00c73b137bde47b9a55fd35</id>
<content type='text'>
The DEMO_XTERM and CI_XTERM variables defined in test/lib/term aren't used
anywhere.  Remove them.

Signed-off-by: David Gibson &lt;david@gibson.dropbear.id.au&gt;
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
The DEMO_XTERM and CI_XTERM variables defined in test/lib/term aren't used
anywhere.  Remove them.

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