VSOCK: add full barrier between test cases
See code comment for details. Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com> Signed-off-by: Stefano Garzarella <sgarzare@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
9bb8a29d28
commit
2f65b44e19
@ -161,10 +161,24 @@ void run_tests(const struct test_case *test_cases,
|
||||
printf("%s...", test_cases[i].name);
|
||||
fflush(stdout);
|
||||
|
||||
if (opts->mode == TEST_MODE_CLIENT)
|
||||
if (opts->mode == TEST_MODE_CLIENT) {
|
||||
/* Full barrier before executing the next test. This
|
||||
* ensures that client and server are executing the
|
||||
* same test case. In particular, it means whoever is
|
||||
* faster will not see the peer still executing the
|
||||
* last test. This is important because port numbers
|
||||
* can be used by multiple test cases.
|
||||
*/
|
||||
control_expectln("NEXT");
|
||||
control_writeln("NEXT");
|
||||
|
||||
run = test_cases[i].run_client;
|
||||
else
|
||||
} else {
|
||||
control_writeln("NEXT");
|
||||
control_expectln("NEXT");
|
||||
|
||||
run = test_cases[i].run_server;
|
||||
}
|
||||
|
||||
if (run)
|
||||
run(opts);
|
||||
|
Loading…
x
Reference in New Issue
Block a user