VSOCK: extract utility functions from vsock_diag_test.c

Move useful functions into a separate file in preparation for more
vsock test programs.

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:
Stefan Hajnoczi
2019-12-18 19:07:00 +01:00
committed by David S. Miller
parent ce1c7f84e2
commit df7e0e0d23
4 changed files with 125 additions and 71 deletions

View File

@@ -0,0 +1,36 @@
/* SPDX-License-Identifier: GPL-2.0-only */
#ifndef UTIL_H
#define UTIL_H
/* Tests can either run as the client or the server */
enum test_mode {
TEST_MODE_UNSET,
TEST_MODE_CLIENT,
TEST_MODE_SERVER
};
/* Test runner options */
struct test_opts {
enum test_mode mode;
unsigned int peer_cid;
};
/* A test case definition. Test functions must print failures to stderr and
* terminate with exit(EXIT_FAILURE).
*/
struct test_case {
const char *name; /* human-readable name */
/* Called when test mode is TEST_MODE_CLIENT */
void (*run_client)(const struct test_opts *opts);
/* Called when test mode is TEST_MODE_SERVER */
void (*run_server)(const struct test_opts *opts);
};
void init_signals(void);
unsigned int parse_cid(const char *str);
void run_tests(const struct test_case *test_cases,
const struct test_opts *opts);
#endif /* UTIL_H */