You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
59 lines
1.7 KiB
59 lines
1.7 KiB
commit cb44289ee3fd1482d3b8551d2e3b4568eb57e114 |
|
Author: Dmitry V. Levin <ldv@altlinux.org> |
|
Date: Tue Jul 26 10:20:24 2016 +0000 |
|
|
|
tests: fix vhangup.test |
|
|
|
* 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> |
|
|
|
diff --git a/tests/vhangup.c b/tests/vhangup.c |
|
index ba90319..468f334 100644 |
|
--- a/tests/vhangup.c |
|
+++ b/tests/vhangup.c |
|
@@ -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; |
|
diff --git a/tests/vhangup.c b/tests/vhangup.c |
|
index ba90319..468f334 100644 |
|
--- a/tests-m32/vhangup.c |
|
+++ b/tests-m32/vhangup.c |
|
@@ -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;
|
|
|