Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Step:15-SP2
gdb.33592
gdb-testsuite-add-xfail-for-gdb-29965-in-gdb.th...
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File gdb-testsuite-add-xfail-for-gdb-29965-in-gdb.threads.patch of Package gdb.33592
From ebceffa1196651683a7a6d31abb4b3b5adc6c168 Mon Sep 17 00:00:00 2001 From: Simon Marchi <simon.marchi@efficios.com> Date: Thu, 7 Sep 2023 21:53:55 -0400 Subject: [PATCH 12/12] gdb/testsuite: add xfail for gdb/29965 in gdb.threads/process-exit-status-is-leader-exit-status.exp Bug 29965 shows on a Linux kernel >= 6.1, that test fails consistently with: FAIL: gdb.threads/process-exit-status-is-leader-exit-status.exp: iteration=0: continue (the program exited) ... FAIL: gdb.threads/process-exit-status-is-leader-exit-status.exp: iteration=9: continue (the program exited) This is due to a change in Linux kernel behavior [1] that affects exactly what this test tests. That is, if multiple threads (including the leader) call SYS_exit, the exit status of the process should be the exit status of the leader. After that change in the kernel, it is no longer the case. Add an xfail in the test, based on the Linux kernel version. The goal is that if a regression is introduced in GDB regarding this feature, it should be caught if running on an older kernel where the behavior was consistent. [1] https://bugzilla.suse.com/show_bug.cgi?id=1206926 Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=29965 Change-Id: If6ab7171c92bfc1a3b961c7179e26611773969eb Approved-By: Tom de Vries <tdevries@suse.de> --- ...cess-exit-status-is-leader-exit-status.exp | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/gdb/testsuite/gdb.threads/process-exit-status-is-leader-exit-status.exp b/gdb/testsuite/gdb.threads/process-exit-status-is-leader-exit-status.exp index f64d6a73dea..e470fe29110 100644 --- a/gdb/testsuite/gdb.threads/process-exit-status-is-leader-exit-status.exp +++ b/gdb/testsuite/gdb.threads/process-exit-status-is-leader-exit-status.exp @@ -41,6 +41,23 @@ for {set iteration 0} {$iteration < 10} {incr iteration} { return } - gdb_test "continue" "\\\[Inferior 1 \\(.*\\) exited with code 01\\\]" + gdb_test_multiple "continue" "" { + -re -wrap "\\\[Inferior 1 \\(.*\\) exited with code 01\\\]" { + pass $gdb_test_name + } + + -re -wrap "\\\[Inferior 1 \\(.*\\) exited with code $::decimal\\\]" { + set lkv [linux_kernel_version] + + if { [llength $lkv] != 0 } { + if { [version_compare {6 1 0} <= $lkv] } { + xfail "$gdb_test_name (PR 29965)" + return + } + } + + fail $gdb_test_name + } + } } } -- 2.35.3
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor