The test requires at least two CPUs to exercise the distribution of
connections between per-CPU listeners.  It currently enforces this
prerequisite with an assertion, causing all test cases to fail on
single-vCPU systems even though no kernel functionality was tested.

Report the unsupported environment as a skip instead.  Check the
prerequisite before setting up the network namespace so skipped tests do
not make unnecessary system changes.

Link: https://bugs.launchpad.net/ubuntu-kernel-tests/+bug/2023546

Co-authored-by: Copilot <[email protected]>
Signed-off-by: Kuba Pawlak <[email protected]>
---
 tools/testing/selftests/net/so_incoming_cpu.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/tools/testing/selftests/net/so_incoming_cpu.c 
b/tools/testing/selftests/net/so_incoming_cpu.c
index 4740701f1..1b7344238 100644
--- a/tools/testing/selftests/net/so_incoming_cpu.c
+++ b/tools/testing/selftests/net/so_incoming_cpu.c
@@ -81,10 +81,11 @@ static int nr_client_per_server, nr_server, nr_client;
 
 FIXTURE_SETUP(so_incoming_cpu)
 {
-       setup_netns(_metadata);
-
        nr_server = get_nprocs();
-       ASSERT_LE(2, nr_server);
+       if (nr_server < 2)
+               SKIP(return, "requires at least two CPUs");
+
+       setup_netns(_metadata);
 
        if (NR_CLIENT_PER_SERVER_DEFAULT * nr_server < NR_PORT)
                nr_client_per_server = NR_CLIENT_PER_SERVER_DEFAULT;
-- 
2.43.0

Reply via email to