]> granicus.if.org Git - strace/commitdiff
tests: fix vhangup.test
authorDmitry V. Levin <ldv@altlinux.org>
Tue, 26 Jul 2016 10:20:24 +0000 (10:20 +0000)
committerDmitry V. Levin <ldv@altlinux.org>
Tue, 26 Jul 2016 12:16:58 +0000 (12:16 +0000)
* tests/vhangup.c (main): Fix expected output for the case when
the calling process has CAP_SYS_TTY_CONFIG capability.

Reported-by: Yun-Chih Chen <b03902074@ntu.edu.tw>
tests/vhangup.c

index ba903190270e3022a65d4f2f1ae49c21a5044365..468f3344b192daf9c590cbacf9b187d521f8f0f2 100644 (file)
@@ -13,7 +13,18 @@ main(void)
                perror_msg_and_skip("setsid");
 
        long rc = syscall(__NR_vhangup);
-       printf("vhangup() = %ld %s (%m)\n", rc, errno2name());
+
+       /*
+        * On setsid() success, the new session has no controlling terminal,
+        * therefore a subsequent vhangup() has nothing to hangup.
+        *
+        * The system call, however, returns 0 iff the calling process
+        * has CAP_SYS_TTY_CONFIG capability.
+        */
+       if (rc)
+               printf("vhangup() = %ld %s (%m)\n", rc, errno2name());
+       else
+               puts("vhangup() = 0");
 
        puts("+++ exited with 0 +++");
        return 0;