]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
vsock/test: add a final full barrier after run all tests
authorStefano Garzarella <sgarzare@redhat.com>
Thu, 8 Jan 2026 11:44:19 +0000 (12:44 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 23 Jan 2026 10:18:37 +0000 (11:18 +0100)
[ Upstream commit c39a6a277e0e67ffff6a8efcbbf7e7e23ce9e38c ]

If the last test fails, the other side still completes correctly,
which could lead to false positives.

Let's add a final barrier that ensures that the last test has finished
correctly on both sides, but also that the two sides agree on the
number of tests to be performed.

Fixes: 2f65b44e199c ("VSOCK: add full barrier between test cases")
Reviewed-by: Luigi Leonardi <leonardi@redhat.com>
Signed-off-by: Stefano Garzarella <sgarzare@redhat.com>
Link: https://patch.msgid.link/20260108114419.52747-1-sgarzare@redhat.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
tools/testing/vsock/util.c

index a3d448a075e3a529325129ea000cfd78c5483640..8a899a9fc9a987378446f4c47865a3c291b3d70c 100644 (file)
@@ -472,6 +472,18 @@ void run_tests(const struct test_case *test_cases,
 
                printf("ok\n");
        }
+
+       printf("All tests have been executed. Waiting other peer...");
+       fflush(stdout);
+
+       /*
+        * Final full barrier, to ensure that all tests have been run and
+        * that even the last one has been successful on both sides.
+        */
+       control_writeln("COMPLETED");
+       control_expectln("COMPLETED");
+
+       printf("ok\n");
 }
 
 void list_tests(const struct test_case *test_cases)