Bug 1366631 - vhangup.test failure
Summary: vhangup.test failure
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Developer Toolset
Classification: Red Hat
Component: strace
Version: DTS 6.0 RHEL 7
Hardware: Unspecified
OS: Linux
low
low
Target Milestone: alpha
: 6.0
Assignee: DJ Delorie
QA Contact: Martin Cermak
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-08-12 13:29 UTC by Martin Cermak
Modified: 2016-11-15 10:15 UTC (History)
1 user (show)

Fixed In Version: devtoolset-6-strace-4.12-3.el{6,7}
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-11-15 10:15:28 UTC
Target Upstream Version:
Embargoed:


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2016:2743 0 normal SHIPPED_LIVE new packages: devtoolset-6-strace 2016-11-15 14:54:49 UTC

Description Martin Cermak 2016-08-12 13:29:48 UTC
The vhangup.test in devtoolset-6-strace-4.12-2.el[67].src.rpm seems to fail on all the supported environments for me. Here are the logs: 

=======
 7.3 S x86_64 [6] # cat tests/vhangup.log
unknown errno 0
vhangup.test: failed test: ./vhangup failed
 7.3 S x86_64 [6] # cat tests/vhangup.trs
:test-result: FAIL
:global-test-result: FAIL
:recheck: yes
:copy-in-global-log: yes
 7.3 S x86_64 [6] # 
=======

After applying upstream commit cb44289ee3fd1482d3b8551d2e3b4568eb57e114 correcting the testcase, the failure seems gone:

=======
 7.3 S x86_64 [6] # cat tests/vhangup.log
 7.3 S x86_64 [6] # cat tests/vhangup.trs
:test-result: PASS
:global-test-result: PASS
:recheck: no
:copy-in-global-log: no
 7.3 S x86_64 [6] # 
=======

Following is the patch in question:

=======
commit cb44289ee3fd1482d3b8551d2e3b4568eb57e114
Author: Dmitry V. Levin <ldv>
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.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;
=======

Please, consider backporting this patch.

Comment 4 errata-xmlrpc 2016-11-15 10:15:28 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-2743.html


Note You need to log in before you can comment on or make changes to this bug.