]> granicus.if.org Git - strace/commitdiff
tests: make test executables invocable outside current work directory
authorDmitry V. Levin <ldv@altlinux.org>
Sat, 1 Apr 2017 23:11:28 +0000 (23:11 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Mon, 3 Apr 2017 01:06:11 +0000 (01:06 +0000)
Most of test executables were ready for the upcoming change,
this change prepares all the rest.

* tests/getdents.c (main): Use fixed name for the sample directory.
* tests/getdents64.c (main): Likewise.
* tests/readdir.c (main): Likewise.
* tests/mknod.c (sample): Change to a pointer.
(main): Use av[0] as a sample.
* tests/symlink.c (main): Use av[0] as a linkpath.
* tests/umode_t.c (sample): Change to a pointer.
(test_syscall): Fix expected output.
(main): Use av[0] as a sample.

tests/getdents.c
tests/getdents64.c
tests/mknod.c
tests/readdir.c
tests/symlink.c
tests/umode_t.c

index b787c837bc4faac619c641941174df40c6c9c9ad..7ee7d77a8b70ffcf8c59096a50d8ad6484725740 100644 (file)
@@ -92,12 +92,10 @@ print_dirent(const kernel_dirent *d)
 }
 
 int
-main(int ac, const char **av)
+main(void)
 {
-       char *dname;
+       static const char dname[] = "getdents.test.tmp.dir";
 
-       assert(ac == 1);
-       assert(asprintf(&dname, "%s.test.tmp.dir", av[0]) > 0);
        assert(!mkdir(dname, 0700));
        assert(!chdir(dname));
        (void) close(0);
index 9da2a23c22a12bbcc044a1b5375c3c13017f0e89..0e7085b71fcbddad58b3289d2f5a3ebe4902f7bb 100644 (file)
@@ -98,12 +98,10 @@ print_dirent(const kernel_dirent64 *d)
 }
 
 int
-main(int ac, const char **av)
+main(void)
 {
-       char *dname;
+       static const char dname[] = "getdents64.test.tmp.dir";
 
-       assert(ac == 1);
-       assert(asprintf(&dname, "%s.test.tmp.dir", av[0]) > 0);
        assert(!mkdir(dname, 0700));
        assert(!chdir(dname));
        (void) close(0);
index 4cc1c5cb7fbc68a567dc2b853fec36180b9b3067..b38714990617a669ea9fb5ab976d0f38303b7fbb 100644 (file)
@@ -8,7 +8,7 @@
 # include <sys/sysmacros.h>
 # include <unistd.h>
 
-static const char sample[] = "mknod";
+static const char *sample;
 
 static long
 call_mknod(unsigned short mode, unsigned long dev)
@@ -18,9 +18,10 @@ call_mknod(unsigned short mode, unsigned long dev)
 }
 
 int
-main(void)
+main(int ac, char **av)
 {
        unsigned long dev = (unsigned long) 0xdeadbeefbadc0dedULL;
+       sample = av[0];
 
        long rc = call_mknod(0, dev);
        printf("mknod(\"%s\", 000) = %ld %s (%m)\n",
index 8c4836200f454ed205964fb1bb274a92d4078c8b..6431f5a91d0be259cc391e5a3e830aafbd1d581e 100644 (file)
@@ -58,9 +58,9 @@ static const char qname[] =
        "A\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nA\\nZ";
 
 int
-main(int ac, const char **av)
+main(void)
 {
-       char *dname;
+       static const char dname[] = "readdir.test.tmp.dir";
        struct {
                unsigned long   d_ino;
                unsigned long   d_off;
@@ -69,8 +69,6 @@ main(int ac, const char **av)
        } e;
        int rc;
 
-       assert(ac == 1);
-       assert(asprintf(&dname, "%s.test.tmp.dir", av[0]) > 0);
        assert(!mkdir(dname, 0700));
        assert(!chdir(dname));
        (void) close(0);
index 72cb4908571f3fdf6dcdcc735a4acc1b3491bb5f..3e01cf21155521fd316139258838d6062e3d4c58 100644 (file)
@@ -7,14 +7,12 @@
 # include <unistd.h>
 
 int
-main(void)
+main(int ac, char **av)
 {
-       static const char sample_1[] = "symlink_new";
-       static const char sample_2[] = "symlink";
+       static const char sample[] = "symlink.sample";
 
-       long rc = syscall(__NR_symlink, sample_1, sample_2);
-       printf("symlink(\"%s\", \"%s\") = %ld %s (%m)\n",
-              sample_1, sample_2, rc, errno2name());
+       long rc = syscall(__NR_symlink, sample, av[0]);
+       printf("symlink(\"%s\", \"%s\") = %s\n", sample, av[0], sprintrc(rc));
 
        puts("+++ exited with 0 +++");
        return 0;
index 5041638eed62ada414ca5f67833606b74953df2f..0fb9a513e0bf4efd7206f4dd7078ccc2ace2afe2 100644 (file)
@@ -38,7 +38,7 @@
 # define TEST_SYSCALL_PREFIX_STR ""
 #endif
 
-static const char sample[] = TEST_SYSCALL_STR;
+static const char *sample;
 
 static void
 test_syscall(unsigned short mode)
@@ -49,17 +49,18 @@ test_syscall(unsigned short mode)
 
        if (mode <= 07)
                printf("%s(%s\"%s\", 00%d) = %ld %s (%m)\n",
-                      sample, TEST_SYSCALL_PREFIX_STR,
+                      TEST_SYSCALL_STR, TEST_SYSCALL_PREFIX_STR,
                       sample, (int) mode, rc, errno2name());
        else
                printf("%s(%s\"%s\", %#03ho) = %ld %s (%m)\n",
-                      sample, TEST_SYSCALL_PREFIX_STR,
+                      TEST_SYSCALL_STR, TEST_SYSCALL_PREFIX_STR,
                       sample, mode, rc, errno2name());
 }
 
 int
-main(void)
+main(int ac, char **av)
 {
+       sample = av[0];
        test_syscall(0);
        test_syscall(0xffff);
        test_syscall(06);