[CRIU] [PATCH] tests: rename deleted_standalone_unix to del_standalone_un
Tycho Andersen
tycho.andersen at canonical.com
Wed Jul 13 11:08:53 PDT 2016
The directory that the tests run in on jenkins is:
/var/lib/jenkins/workspace/CRIU/CRIU-restore-sibling/criu-dev/test/zdtm/static
which makes the whole path too long. This commit makes the whole path:
/var/lib/jenkins/workspace/CRIU/CRIU-restore-sibling/criu-dev/test/zdtm/static/del_standalone_un.test/sock
which is 105 chars, less than 108 of sun_path.
Closes #191
Signed-off-by: Tycho Andersen <tycho.andersen at canonical.com>
---
test/zdtm/static/Makefile | 2 +-
test/zdtm/static/del_standalone_un.c | 125 ++++++++++++++++++++++++++
test/zdtm/static/del_standalone_un.desc | 1 +
test/zdtm/static/deleted_standalone_unix.c | 125 --------------------------
test/zdtm/static/deleted_standalone_unix.desc | 1 -
5 files changed, 127 insertions(+), 127 deletions(-)
create mode 100644 test/zdtm/static/del_standalone_un.c
create mode 100644 test/zdtm/static/del_standalone_un.desc
delete mode 100644 test/zdtm/static/deleted_standalone_unix.c
delete mode 100644 test/zdtm/static/deleted_standalone_unix.desc
diff --git a/test/zdtm/static/Makefile b/test/zdtm/static/Makefile
index c8e2ebb..7df05e8 100644
--- a/test/zdtm/static/Makefile
+++ b/test/zdtm/static/Makefile
@@ -245,7 +245,7 @@ TST_DIR = \
unlink_regular00 \
mnt_enablefs \
autofs \
- deleted_standalone_unix \
+ del_standalone_un \
TST_DIR_FILE = \
chroot \
diff --git a/test/zdtm/static/del_standalone_un.c b/test/zdtm/static/del_standalone_un.c
new file mode 100644
index 0000000..0fd3795
--- /dev/null
+++ b/test/zdtm/static/del_standalone_un.c
@@ -0,0 +1,125 @@
+#define _GNU_SOURCE
+#include <errno.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+#include <sys/un.h>
+#include <sys/stat.h>
+#include <stdbool.h>
+#include <limits.h>
+
+#include "zdtmtst.h"
+
+const char *test_doc = "Check that deleted unix sockets are restored correctly";
+const char *test_author = "Tycho Andersen <tycho.andersen at canonical.com>";
+
+char *dirname;
+TEST_OPTION(dirname, string, "directory name", 1);
+
+static int fill_sock_name(struct sockaddr_un *name, const char *filename)
+{
+ char *cwd;
+
+ cwd = get_current_dir_name();
+ if (strlen(filename) + strlen(cwd) + 1 >= sizeof(name->sun_path))
+ return -1;
+
+ name->sun_family = AF_LOCAL;
+ sprintf(name->sun_path, "%s/%s", cwd, filename);
+ return 0;
+}
+
+static int bind_and_listen(struct sockaddr_un *addr)
+{
+ int sk;
+
+ sk = socket(PF_UNIX, SOCK_STREAM, 0);
+ if (sk < 0) {
+ fail("socket");
+ return -1;
+ }
+
+ if (bind(sk, addr, sizeof(*addr))) {
+ fail("bind %s", addr->sun_path);
+ close(sk);
+ return -1;
+ }
+
+ if (listen(sk, 1)) {
+ fail("listen");
+ close(sk);
+ return -1;
+ }
+
+ return sk;
+}
+
+int main(int argc, char **argv)
+{
+ struct sockaddr_un addr;
+ int sk1 = -1, sk2 = -1, ret = 1;
+ struct stat sb;
+ char filename[PATH_MAX], temp[PATH_MAX];
+
+ test_init(argc, argv);
+
+ sprintf(filename, "%s/sock", dirname);
+ sprintf(temp, "%s/temp", dirname);
+
+ if (mkdir(dirname, 0755) < 0) {
+ fail("mkdir");
+ goto out;
+ }
+
+ if (fill_sock_name(&addr, filename) < 0) {
+ pr_err("filename \"%s\" is too long\n", filename);
+ goto out;
+ }
+
+ sk1 = bind_and_listen(&addr);
+ if (sk1 < 0)
+ goto out;
+
+ if (rename(filename, temp) < 0) {
+ fail("rename");
+ goto out;
+ }
+
+ sk2 = bind_and_listen(&addr);
+ if (sk2 < 0)
+ goto out;
+
+ if (rename(temp, filename) < 0) {
+ fail("rename2");
+ goto out;
+ }
+
+ test_daemon();
+ test_waitsig();
+
+ if (getsockopt(sk1, 0, 0, NULL, 0) && errno != EOPNOTSUPP) {
+ fail("socket 1 didn't survive restore");
+ goto out;
+ }
+
+ if (getsockopt(sk2, 0, 0, NULL, 0) && errno != EOPNOTSUPP) {
+ fail("socket 2 didn't survive restore");
+ goto out;
+ }
+
+ if (stat(addr.sun_path, &sb) != 0) {
+ fail("%s doesn't exist after restore\n", addr.sun_path);
+ goto out;
+ }
+
+ pass();
+ ret = 0;
+out:
+ if (sk1 > 0)
+ close(sk1);
+ if (sk2 > 0)
+ close(sk2);
+ rmdir(dirname);
+ return ret;
+}
diff --git a/test/zdtm/static/del_standalone_un.desc b/test/zdtm/static/del_standalone_un.desc
new file mode 100644
index 0000000..289362e
--- /dev/null
+++ b/test/zdtm/static/del_standalone_un.desc
@@ -0,0 +1 @@
+{'flavor': 'h ns uns'}
diff --git a/test/zdtm/static/deleted_standalone_unix.c b/test/zdtm/static/deleted_standalone_unix.c
deleted file mode 100644
index 443d537..0000000
--- a/test/zdtm/static/deleted_standalone_unix.c
+++ /dev/null
@@ -1,125 +0,0 @@
-#define _GNU_SOURCE
-#include <errno.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/socket.h>
-#include <sys/un.h>
-#include <sys/stat.h>
-#include <stdbool.h>
-#include <limits.h>
-
-#include "zdtmtst.h"
-
-const char *test_doc = "Check that deleted unix sockets are restored correctly";
-const char *test_author = "Tycho Andersen <tycho.andersen at canonical.com>";
-
-char *dirname;
-TEST_OPTION(dirname, string, "directory name", 1);
-
-static int fill_sock_name(struct sockaddr_un *name, const char *filename)
-{
- char *cwd;
-
- cwd = get_current_dir_name();
- if (strlen(filename) + strlen(cwd) + 1 >= sizeof(name->sun_path))
- return -1;
-
- name->sun_family = AF_LOCAL;
- sprintf(name->sun_path, "%s/%s", cwd, filename);
- return 0;
-}
-
-static int bind_and_listen(struct sockaddr_un *addr)
-{
- int sk;
-
- sk = socket(PF_UNIX, SOCK_STREAM, 0);
- if (sk < 0) {
- fail("socket");
- return -1;
- }
-
- if (bind(sk, addr, sizeof(*addr))) {
- fail("bind %s", addr->sun_path);
- close(sk);
- return -1;
- }
-
- if (listen(sk, 1)) {
- fail("listen");
- close(sk);
- return -1;
- }
-
- return sk;
-}
-
-int main(int argc, char **argv)
-{
- struct sockaddr_un addr;
- int sk1 = -1, sk2 = -1, ret = 1;
- struct stat sb;
- char filename[PATH_MAX], temp[PATH_MAX];
-
- test_init(argc, argv);
-
- sprintf(filename, "%s/sock", dirname);
- sprintf(temp, "%s/temp", dirname);
-
- if (mkdir(dirname, 0755) < 0) {
- fail("mkdir");
- goto out;
- }
-
- if (fill_sock_name(&addr, filename) < 0) {
- pr_err("filename \"%s\" is too long", filename);
- goto out;
- }
-
- sk1 = bind_and_listen(&addr);
- if (sk1 < 0)
- goto out;
-
- if (rename(filename, temp) < 0) {
- fail("rename");
- goto out;
- }
-
- sk2 = bind_and_listen(&addr);
- if (sk2 < 0)
- goto out;
-
- if (rename(temp, filename) < 0) {
- fail("rename2");
- goto out;
- }
-
- test_daemon();
- test_waitsig();
-
- if (getsockopt(sk1, 0, 0, NULL, 0) && errno != EOPNOTSUPP) {
- fail("socket 1 didn't survive restore");
- goto out;
- }
-
- if (getsockopt(sk2, 0, 0, NULL, 0) && errno != EOPNOTSUPP) {
- fail("socket 2 didn't survive restore");
- goto out;
- }
-
- if (stat(addr.sun_path, &sb) != 0) {
- fail("%s doesn't exist after restore\n", addr.sun_path);
- goto out;
- }
-
- pass();
- ret = 0;
-out:
- if (sk1 > 0)
- close(sk1);
- if (sk2 > 0)
- close(sk2);
- rmdir(dirname);
- return ret;
-}
diff --git a/test/zdtm/static/deleted_standalone_unix.desc b/test/zdtm/static/deleted_standalone_unix.desc
deleted file mode 100644
index 289362e..0000000
--- a/test/zdtm/static/deleted_standalone_unix.desc
+++ /dev/null
@@ -1 +0,0 @@
-{'flavor': 'h ns uns'}
--
2.7.4
More information about the CRIU
mailing list