mirror of
https://github.com/checkpoint-restore/criu.git
synced 2026-01-23 02:14:37 +00:00
zdtm: Add SOCK_SEQPACKET variants to unix socket tests
This commit simply makes copies of SOCK_STREAM unix socket tests and uses SOCK_SEQPACKET instead. Signed-off-by: Bui Quang Minh <minhquangbui99@gmail.com>
This commit is contained in:
parent
530ad9c89d
commit
0da88b6dad
26 changed files with 122 additions and 19 deletions
|
|
@ -68,9 +68,13 @@ TST_NOFILE := \
|
|||
utsname \
|
||||
pstree \
|
||||
sockets01 \
|
||||
sockets01-seqpacket \
|
||||
sockets02 \
|
||||
sockets02-seqpacket \
|
||||
sockets_spair \
|
||||
sockets_spair_seqpacket \
|
||||
socket_queues \
|
||||
socket_queues_seqpacket \
|
||||
socket-raw \
|
||||
socket-tcp \
|
||||
socket-tcp-listen \
|
||||
|
|
@ -119,6 +123,7 @@ TST_NOFILE := \
|
|||
sock_opts01 \
|
||||
sock_opts02 \
|
||||
sk-unix-unconn \
|
||||
sk-unix-unconn-seqpacket \
|
||||
ipc_namespace \
|
||||
selfexe00 \
|
||||
sem \
|
||||
|
|
@ -187,6 +192,7 @@ TST_NOFILE := \
|
|||
scm01 \
|
||||
scm02 \
|
||||
scm03 \
|
||||
scm03-seqpacket \
|
||||
scm04 \
|
||||
scm05 \
|
||||
scm06 \
|
||||
|
|
@ -284,6 +290,7 @@ TST_FILE = \
|
|||
file_attr \
|
||||
deleted_unix_sock \
|
||||
sk-unix-rel \
|
||||
sk-unix-rel-seqpacket \
|
||||
deleted_dev \
|
||||
unlink_fstat00 \
|
||||
unlink_fstat01 \
|
||||
|
|
@ -311,7 +318,9 @@ TST_FILE = \
|
|||
cow01 \
|
||||
fdt_shared \
|
||||
sockets00 \
|
||||
sockets00-seqpacket \
|
||||
sockets03 \
|
||||
sockets03-seqpacket \
|
||||
sockets_dgram \
|
||||
file_lease00 \
|
||||
file_lease01 \
|
||||
|
|
@ -394,8 +403,10 @@ TST_DIR = \
|
|||
mnt_enablefs \
|
||||
autofs \
|
||||
del_standalone_un \
|
||||
del_standalone_un_seqpacket \
|
||||
sk-unix-mntns \
|
||||
sk-unix01 \
|
||||
sk-unix01-seqpacket \
|
||||
sk-unix-dgram-ghost \
|
||||
unsupported_children_collision \
|
||||
shared_slave_mount_children \
|
||||
|
|
@ -607,6 +618,18 @@ socket-tcp6-unconn: CFLAGS += -D ZDTM_IPV6
|
|||
socket-tcp4v6-last-ack: CFLAGS += -D ZDTM_TCP_LAST_ACK -D ZDTM_IPV4V6
|
||||
socket-tcp4v6-closing: CFLAGS += -D ZDTM_IPV4V6
|
||||
|
||||
sockets00-seqpacket: CFLAGS += -D ZDTM_UNIX_SEQPACKET
|
||||
sockets01-seqpacket: CFLAGS += -D ZDTM_UNIX_SEQPACKET
|
||||
sockets02-seqpacket: CFLAGS += -D ZDTM_UNIX_SEQPACKET
|
||||
sockets03-seqpacket: CFLAGS += -D ZDTM_UNIX_SEQPACKET
|
||||
sk-unix01-seqpacket: CFLAGS += -D ZDTM_UNIX_SEQPACKET
|
||||
sk-unix-rel-seqpacket: CFLAGS += -D ZDTM_UNIX_SEQPACKET
|
||||
sockets_spair_seqpacket: CFLAGS += -D ZDTM_UNIX_SEQPACKET
|
||||
socket_queues_seqpacket: CFLAGS += -D ZDTM_UNIX_SEQPACKET
|
||||
del_standalone_un_seqpacket: CFLAGS += -D ZDTM_UNIX_SEQPACKET
|
||||
sk-unix-unconn-seqpacket: CFLAGS += -D ZDTM_UNIX_SEQPACKET
|
||||
scm03-seqpacket: CFLAGS += -D ZDTM_UNIX_SEQPACKET
|
||||
|
||||
pty-console: CFLAGS += -D ZDTM_DEV_CONSOLE
|
||||
|
||||
shm-unaligned: CFLAGS += -DZDTM_SHM_UNALIGNED
|
||||
|
|
|
|||
|
|
@ -16,11 +16,17 @@ const char *test_author = "Tycho Andersen <tycho.andersen@canonical.com>";
|
|||
char *dirname;
|
||||
TEST_OPTION(dirname, string, "directory name", 1);
|
||||
|
||||
#ifdef ZDTM_UNIX_SEQPACKET
|
||||
#define SOCK_TYPE SOCK_SEQPACKET
|
||||
#else
|
||||
#define SOCK_TYPE SOCK_STREAM
|
||||
#endif
|
||||
|
||||
static int bind_and_listen(struct sockaddr_un *addr)
|
||||
{
|
||||
int sk;
|
||||
|
||||
sk = socket(PF_UNIX, SOCK_STREAM, 0);
|
||||
sk = socket(PF_UNIX, SOCK_TYPE, 0);
|
||||
if (sk < 0) {
|
||||
fail("socket");
|
||||
return -1;
|
||||
|
|
|
|||
1
test/zdtm/static/del_standalone_un_seqpacket.c
Symbolic link
1
test/zdtm/static/del_standalone_un_seqpacket.c
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
del_standalone_un.c
|
||||
1
test/zdtm/static/scm03-seqpacket.c
Symbolic link
1
test/zdtm/static/scm03-seqpacket.c
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
scm03.c
|
||||
|
|
@ -9,6 +9,12 @@
|
|||
const char *test_doc = "Check that SCM_RIGHTS are preserved";
|
||||
const char *test_author = "Pavel Emelyanov <xemul@virtuozzo.com>";
|
||||
|
||||
#ifdef ZDTM_UNIX_SEQPACKET
|
||||
#define SOCK_TYPE SOCK_SEQPACKET
|
||||
#else
|
||||
#define SOCK_TYPE SOCK_DGRAM
|
||||
#endif
|
||||
|
||||
static int send_fd(int via, int fd1, int fd2)
|
||||
{
|
||||
struct msghdr h = {};
|
||||
|
|
@ -105,7 +111,7 @@ int main(int argc, char **argv)
|
|||
|
||||
test_init(argc, argv);
|
||||
|
||||
if (socketpair(PF_UNIX, SOCK_DGRAM, 0, sk) < 0) {
|
||||
if (socketpair(PF_UNIX, SOCK_TYPE, 0, sk) < 0) {
|
||||
pr_perror("Can't make unix pair");
|
||||
exit(1);
|
||||
}
|
||||
|
|
|
|||
1
test/zdtm/static/sk-unix-rel-seqpacket.c
Symbolic link
1
test/zdtm/static/sk-unix-rel-seqpacket.c
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
sk-unix-rel.c
|
||||
|
|
@ -25,6 +25,12 @@ TEST_OPTION(filename, string, "socket file name", 1);
|
|||
|
||||
#define TEST_MODE 0640
|
||||
|
||||
#ifdef ZDTM_UNIX_SEQPACKET
|
||||
#define SOCK_TYPE SOCK_SEQPACKET
|
||||
#else
|
||||
#define SOCK_TYPE SOCK_STREAM
|
||||
#endif
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
struct sockaddr_un addr;
|
||||
|
|
@ -54,8 +60,8 @@ int main(int argc, char *argv[])
|
|||
memcpy(addr.sun_path, filename, addrlen);
|
||||
addrlen += sizeof(addr.sun_family);
|
||||
|
||||
sock[0] = socket(AF_UNIX, SOCK_STREAM, 0);
|
||||
sock[1] = socket(AF_UNIX, SOCK_STREAM, 0);
|
||||
sock[0] = socket(AF_UNIX, SOCK_TYPE, 0);
|
||||
sock[1] = socket(AF_UNIX, SOCK_TYPE, 0);
|
||||
if (sock[0] < 0 || sock[1] < 0) {
|
||||
fail("socket");
|
||||
exit(1);
|
||||
|
|
|
|||
1
test/zdtm/static/sk-unix-unconn-seqpacket.c
Symbolic link
1
test/zdtm/static/sk-unix-unconn-seqpacket.c
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
sk-unix-unconn.c
|
||||
|
|
@ -9,6 +9,12 @@
|
|||
const char *test_doc = "Check unconnected unix sockets";
|
||||
const char *test_author = "Vagin Andrew <avagin@parallels.com>";
|
||||
|
||||
#ifdef ZDTM_UNIX_SEQPACKET
|
||||
#define SOCK_TYPE SOCK_SEQPACKET
|
||||
#else
|
||||
#define SOCK_TYPE SOCK_STREAM
|
||||
#endif
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
int sk, skc;
|
||||
|
|
@ -19,13 +25,13 @@ int main(int argc, char **argv)
|
|||
|
||||
test_init(argc, argv);
|
||||
|
||||
sk = socket(AF_UNIX, SOCK_STREAM, 0);
|
||||
sk = socket(AF_UNIX, SOCK_TYPE, 0);
|
||||
if (sk == -1) {
|
||||
pr_perror("socket");
|
||||
return 1;
|
||||
}
|
||||
|
||||
skc = socket(AF_UNIX, SOCK_STREAM, 0);
|
||||
skc = socket(AF_UNIX, SOCK_TYPE, 0);
|
||||
if (skc == -1) {
|
||||
pr_perror("socket");
|
||||
return 1;
|
||||
|
|
|
|||
1
test/zdtm/static/sk-unix01-seqpacket.c
Symbolic link
1
test/zdtm/static/sk-unix01-seqpacket.c
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
sk-unix01.c
|
||||
1
test/zdtm/static/sk-unix01-seqpacket.desc
Symbolic link
1
test/zdtm/static/sk-unix01-seqpacket.desc
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
sk-unix01.desc
|
||||
|
|
@ -24,6 +24,12 @@ const char *test_author = "Cyrill Gorcunov <gorcunov@openvz.org>";
|
|||
char *dirname;
|
||||
TEST_OPTION(dirname, string, "directory name", 1);
|
||||
|
||||
#ifdef ZDTM_UNIX_SEQPACKET
|
||||
#define SOCK_TYPE SOCK_SEQPACKET
|
||||
#else
|
||||
#define SOCK_TYPE SOCK_STREAM
|
||||
#endif
|
||||
|
||||
static int sk_alloc_bind(int type, struct sockaddr_un *addr)
|
||||
{
|
||||
int sk;
|
||||
|
|
@ -256,7 +262,7 @@ int main(int argc, char **argv)
|
|||
|
||||
unlink(addr.sun_path);
|
||||
|
||||
sk_st[0] = sk_alloc_bind(SOCK_STREAM, &addr);
|
||||
sk_st[0] = sk_alloc_bind(SOCK_TYPE, &addr);
|
||||
if (sk_st[0] < 0)
|
||||
return 1;
|
||||
test_msg("sk-st: alloc/bind/listen %d\n", sk_st[0]);
|
||||
|
|
@ -266,7 +272,7 @@ int main(int argc, char **argv)
|
|||
return 1;
|
||||
}
|
||||
|
||||
sk_st[1] = sk_alloc_connect(SOCK_STREAM, &addr);
|
||||
sk_st[1] = sk_alloc_connect(SOCK_TYPE, &addr);
|
||||
if (sk_st[1] < 0)
|
||||
return 1;
|
||||
test_msg("sk-st: alloc/connect %d\n", sk_st[1]);
|
||||
|
|
@ -279,7 +285,7 @@ int main(int argc, char **argv)
|
|||
}
|
||||
test_msg("sk-st: accept %d\n", sk_st[2]);
|
||||
|
||||
sk_st[3] = sk_alloc_connect(SOCK_STREAM, &addr);
|
||||
sk_st[3] = sk_alloc_connect(SOCK_TYPE, &addr);
|
||||
if (sk_st[3] < 0)
|
||||
return 1;
|
||||
test_msg("sk-st: alloc/connect %d\n", sk_st[3]);
|
||||
|
|
|
|||
|
|
@ -24,6 +24,12 @@ const char *test_author = "Stanislav Kinsbursky <skinsbursky@parallels.com>\n";
|
|||
#define SK_DATA_D1 "packet dgram left"
|
||||
#define SK_DATA_D2 "packet dgram right"
|
||||
|
||||
#ifdef ZDTM_UNIX_SEQPACKET
|
||||
#define SOCK_TYPE SOCK_SEQPACKET
|
||||
#else
|
||||
#define SOCK_TYPE SOCK_STREAM
|
||||
#endif
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int ssk_pair_d[2];
|
||||
|
|
@ -32,7 +38,7 @@ int main(int argc, char *argv[])
|
|||
|
||||
test_init(argc, argv);
|
||||
|
||||
if (socketpair(AF_UNIX, SOCK_STREAM, 0, ssk_pair_s) == -1) {
|
||||
if (socketpair(AF_UNIX, SOCK_TYPE, 0, ssk_pair_s) == -1) {
|
||||
fail("socketpair");
|
||||
exit(1);
|
||||
}
|
||||
|
|
|
|||
1
test/zdtm/static/socket_queues_seqpacket.c
Symbolic link
1
test/zdtm/static/socket_queues_seqpacket.c
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
socket_queues.c
|
||||
1
test/zdtm/static/sockets00-seqpacket.c
Symbolic link
1
test/zdtm/static/sockets00-seqpacket.c
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
sockets00.c
|
||||
1
test/zdtm/static/sockets00-seqpacket.desc
Symbolic link
1
test/zdtm/static/sockets00-seqpacket.desc
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
sockets00.desc
|
||||
|
|
@ -25,6 +25,12 @@ TEST_OPTION(filename, string, "socket file name", 1);
|
|||
|
||||
#define TEST_MODE 0640
|
||||
|
||||
#ifdef ZDTM_UNIX_SEQPACKET
|
||||
#define SOCK_TYPE SOCK_SEQPACKET
|
||||
#else
|
||||
#define SOCK_TYPE SOCK_STREAM
|
||||
#endif
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int ssk_icon[4];
|
||||
|
|
@ -58,9 +64,9 @@ int main(int argc, char *argv[])
|
|||
memcpy(addr.sun_path, path, addrlen);
|
||||
addrlen += sizeof(addr.sun_family);
|
||||
|
||||
ssk_icon[0] = socket(AF_UNIX, SOCK_STREAM, 0);
|
||||
ssk_icon[1] = socket(AF_UNIX, SOCK_STREAM, 0);
|
||||
ssk_icon[2] = socket(AF_UNIX, SOCK_STREAM, 0);
|
||||
ssk_icon[0] = socket(AF_UNIX, SOCK_TYPE, 0);
|
||||
ssk_icon[1] = socket(AF_UNIX, SOCK_TYPE, 0);
|
||||
ssk_icon[2] = socket(AF_UNIX, SOCK_TYPE, 0);
|
||||
if (ssk_icon[0] < 0 || ssk_icon[1] < 0 || ssk_icon[2] < 0) {
|
||||
fail("socket");
|
||||
exit(1);
|
||||
|
|
|
|||
1
test/zdtm/static/sockets01-seqpacket.c
Symbolic link
1
test/zdtm/static/sockets01-seqpacket.c
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
sockets01.c
|
||||
|
|
@ -30,6 +30,12 @@ const char *test_author = "Pavel Emelyanov <xemul@parallels.com>";
|
|||
#define TEST_MSG "test-message"
|
||||
static char buf[sizeof(TEST_MSG)];
|
||||
|
||||
#ifdef ZDTM_UNIX_SEQPACKET
|
||||
#define SOCK_TYPE SOCK_SEQPACKET
|
||||
#else
|
||||
#define SOCK_TYPE SOCK_STREAM
|
||||
#endif
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int spu[2], spb[2], dpu[2], dpb[2], dpd[2];
|
||||
|
|
@ -40,14 +46,14 @@ int main(int argc, char *argv[])
|
|||
signal(SIGPIPE, SIG_IGN);
|
||||
|
||||
/* spu -- stream pair, unidirectional shutdown */
|
||||
if (socketpair(PF_UNIX, SOCK_STREAM, 0, spu) < 0)
|
||||
if (socketpair(PF_UNIX, SOCK_TYPE, 0, spu) < 0)
|
||||
fin("no stream pair 1");
|
||||
|
||||
if (shutdown(spu[0], SHUT_RD) < 0)
|
||||
fin("no stream shutdown 1");
|
||||
|
||||
/* spb -- stream pair, bidirectional shutdown */
|
||||
if (socketpair(PF_UNIX, SOCK_STREAM, 0, spb) < 0)
|
||||
if (socketpair(PF_UNIX, SOCK_TYPE, 0, spb) < 0)
|
||||
fin("no stream pair 2");
|
||||
|
||||
if (shutdown(spb[0], SHUT_RDWR) < 0)
|
||||
|
|
|
|||
1
test/zdtm/static/sockets02-seqpacket.c
Symbolic link
1
test/zdtm/static/sockets02-seqpacket.c
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
sockets02.c
|
||||
|
|
@ -16,6 +16,12 @@
|
|||
const char *test_doc = "Test semi-closed unix stream connection\n";
|
||||
const char *test_author = "Pavel Emelyanov <xemul@parallels.com>\n";
|
||||
|
||||
#ifdef ZDTM_UNIX_SEQPACKET
|
||||
#define SOCK_TYPE SOCK_SEQPACKET
|
||||
#else
|
||||
#define SOCK_TYPE SOCK_STREAM
|
||||
#endif
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int ssk_pair[2], ret;
|
||||
|
|
@ -25,7 +31,7 @@ int main(int argc, char *argv[])
|
|||
|
||||
data = (char)lrand48();
|
||||
|
||||
if (socketpair(AF_UNIX, SOCK_STREAM, 0, ssk_pair) == -1) {
|
||||
if (socketpair(AF_UNIX, SOCK_TYPE, 0, ssk_pair) == -1) {
|
||||
fail("socketpair");
|
||||
exit(1);
|
||||
}
|
||||
|
|
|
|||
1
test/zdtm/static/sockets03-seqpacket.c
Symbolic link
1
test/zdtm/static/sockets03-seqpacket.c
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
sockets03.c
|
||||
1
test/zdtm/static/sockets03-seqpacket.desc
Symbolic link
1
test/zdtm/static/sockets03-seqpacket.desc
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
sockets03.desc
|
||||
|
|
@ -22,6 +22,12 @@ const char *test_author = "Andrey Ryabinin <aryabinin@virtuozzo.com>";
|
|||
char *filename;
|
||||
TEST_OPTION(filename, string, "socket file name", 1);
|
||||
|
||||
#ifdef ZDTM_UNIX_SEQPACKET
|
||||
#define SOCK_TYPE SOCK_SEQPACKET
|
||||
#else
|
||||
#define SOCK_TYPE SOCK_STREAM
|
||||
#endif
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int sk[3];
|
||||
|
|
@ -52,8 +58,8 @@ int main(int argc, char *argv[])
|
|||
memcpy(addr.sun_path, path, addrlen);
|
||||
addrlen += sizeof(addr.sun_family);
|
||||
|
||||
sk[0] = socket(AF_UNIX, SOCK_STREAM, 0);
|
||||
sk[1] = socket(AF_UNIX, SOCK_STREAM, 0);
|
||||
sk[0] = socket(AF_UNIX, SOCK_TYPE, 0);
|
||||
sk[1] = socket(AF_UNIX, SOCK_TYPE, 0);
|
||||
if (sk[0] < 0 || sk[1] < 0) {
|
||||
fail("socket");
|
||||
exit(1);
|
||||
|
|
|
|||
|
|
@ -18,6 +18,12 @@ const char *test_author = "Cyrill Gorcunov <gorcunov@openvz.org";
|
|||
|
||||
#define SK_DATA "packet"
|
||||
|
||||
#ifdef ZDTM_UNIX_SEQPACKET
|
||||
#define SOCK_TYPE SOCK_SEQPACKET
|
||||
#else
|
||||
#define SOCK_TYPE SOCK_STREAM
|
||||
#endif
|
||||
|
||||
int main(int argc, char *argv[])
|
||||
{
|
||||
int ssk_pair[2];
|
||||
|
|
@ -25,7 +31,7 @@ int main(int argc, char *argv[])
|
|||
|
||||
test_init(argc, argv);
|
||||
|
||||
if (socketpair(AF_UNIX, SOCK_STREAM, 0, ssk_pair) == -1) {
|
||||
if (socketpair(AF_UNIX, SOCK_TYPE, 0, ssk_pair) == -1) {
|
||||
fail("socketpair");
|
||||
exit(1);
|
||||
}
|
||||
|
|
|
|||
1
test/zdtm/static/sockets_spair_seqpacket.c
Symbolic link
1
test/zdtm/static/sockets_spair_seqpacket.c
Symbolic link
|
|
@ -0,0 +1 @@
|
|||
sockets_spair.c
|
||||
Loading…
Add table
Add a link
Reference in a new issue