[lvm-devel] master - tests: utils better handle ouf of disk space
Zdenek Kabelac
zkabelac at sourceware.org
Fri Sep 18 15:31:11 UTC 2020
Gitweb: https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=048e04e4176e62e5c9196c662497d18dc19483a9
Commit: 048e04e4176e62e5c9196c662497d18dc19483a9
Parent: b77595ac8b69fc699c35577e6dbe1322f8c915a0
Author: Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate: Fri Sep 18 14:29:15 2020 +0200
Committer: Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Fri Sep 18 17:29:26 2020 +0200
tests: utils better handle ouf of disk space
When the test exhausts all the available free space on storage device,
then during the fail we cannot write anything as well - yet
the teardown needs to finish it's work - otherwise we leave
basicaly overfilled filesystem for all remaining tests.
---
test/lib/utils.sh | 22 +++++++++++++---------
1 file changed, 13 insertions(+), 9 deletions(-)
diff --git a/test/lib/utils.sh b/test/lib/utils.sh
index 2cd00dd30..3bf73bb4c 100644
--- a/test/lib/utils.sh
+++ b/test/lib/utils.sh
@@ -135,18 +135,23 @@ STACKTRACE() {
# Get backtraces from coredumps
if which gdb &>/dev/null; then
- {
- echo bt full
- echo l
- echo quit
- } > gdb_commands.txt
-
# Check for all cores newer then TESTNAME file
# Assume users keep prefix 'core'
# TODO: possibly better integrate with coredumpctl & systemd
while IFS= read -r i; do
bin=$(gdb -batch -c "$i" 2>&1 | grep "generated by" | \
sed -e "s,.*generated by \`\([^ ']*\).*,\1,") || continue
+ {
+ echo bt full
+ echo l
+ echo quit
+ } > gdb_commands.txt || rm -f gdb_commands.txt
+
+ if test ! -s gdb_commands.txt ; then
+ echo "Out of disk space, can't check coredump $i generated by $bin."
+ continue
+ fi
+
echo "## Checking coredump: $i generated by $bin."
gdb -batch -c "$i" -x gdb_commands.txt "$(which "$bin")" 2>/dev/null | \
sed -e "s,^,## GDB: ," || continue
@@ -171,10 +176,9 @@ STACKTRACE() {
echo "<======== Strace debug log ========>"
sed -e "s,^,## STRACE: ," strace.log
fi
- dmsetup info -c | grep1_ "$PREFIX" > out
- if test "$(wc -l < out)" -gt 1 ; then
+ if dmsetup info -c | grep -q "$PREFIX" ; then
echo "<======== Info ========>"
- sed -e "s,^,## DMINFO: ," out
+ dmsetup info -c | grep1_ "$PREFIX"| sed -e "s,^,## DMINFO: ,"
echo "<======== Active table ========>"
dmsetup table | grep "$PREFIX" | sed -e "s,^,## DMTABLE: ,"
echo "<======== Inactive table ========>"
More information about the lvm-devel
mailing list