diff --git a/bin/tests/system/run.gdb b/bin/tests/system/run.gdb new file mode 100644 index 0000000000..60981e1e9b --- /dev/null +++ b/bin/tests/system/run.gdb @@ -0,0 +1 @@ +thread apply all bt full diff --git a/bin/tests/system/run.sh b/bin/tests/system/run.sh index 4344b4412e..7eada691a1 100755 --- a/bin/tests/system/run.sh +++ b/bin/tests/system/run.sh @@ -195,6 +195,18 @@ else echoinfo "I:$systest:Test claims success despite crashes: $core_dumps" echofail "R:$systest:FAIL" # Do not clean up - we need the evidence. + find "$systest/" -name 'core*' | while read -r coredump; do + SYSTESTDIR="$systest" + echoinfo "D:$systest:backtrace from $coredump start" + binary=$(gdb --batch --core="$coredump" | sed -ne "s/Core was generated by \`//;s/ .*'.$//p;") + "$TOP/libtool" --mode=execute gdb \ + --batch \ + --command=run.gdb \ + --core="$coredump" \ + -- \ + "$binary" + echoinfo "D:$systest:backtrace from $coredump end" + done elif [ $assertion_failures -ne 0 ]; then echoinfo "I:$systest:Test claims success despite $assertion_failures assertion failure(s)" echofail "R:$systest:FAIL" diff --git a/util/copyrights b/util/copyrights index f517500290..9369dabb74 100644 --- a/util/copyrights +++ b/util/copyrights @@ -1002,6 +1002,7 @@ ./bin/tests/system/rsabigexponent/prereq.sh SH 2012,2014,2016,2017,2018,2019 ./bin/tests/system/rsabigexponent/setup.sh SH 2012,2014,2016,2017,2018,2019 ./bin/tests/system/rsabigexponent/tests.sh SH 2012,2016,2018,2019 +./bin/tests/system/run.gdb X 2019 ./bin/tests/system/run.sh SH 2000,2001,2004,2007,2010,2012,2014,2015,2016,2017,2018,2019 ./bin/tests/system/runall.sh SH 2000,2001,2004,2007,2010,2011,2012,2014,2015,2016,2018,2019 ./bin/tests/system/runsequential.sh SH 2018,2019