cdf21d08ef
After updating to latest upstream, bug2163711 can be fixed. We don't use rhel only udev rule anymore and we use the udev rules from upstream. So we don't need to modify our rhel only udev rule again. Resolves: bz#2163711 Signed-off-by: Xiao Ni <xni@redhat.com>
121 lines
3.2 KiB
Diff
121 lines
3.2 KiB
Diff
From 28520bf114b3b0515a48ff44fff4ecbe9ed6dfad Mon Sep 17 00:00:00 2001
|
|
From: Logan Gunthorpe <logang@deltatee.com>
|
|
Date: Wed, 22 Jun 2022 14:25:18 -0600
|
|
Subject: [PATCH 43/83] mdadm/test: Mark and ignore broken test failures
|
|
|
|
Add functionality to continue if a test marked as broken fails.
|
|
|
|
To mark a test as broken, a file with the same name but with the suffix
|
|
'.broken' should exist. The first line in the file will be printed with
|
|
a KNOWN BROKEN message; the rest of the file can describe the how the
|
|
test is broken.
|
|
|
|
Also adds --skip-broken and --skip-always-broken to skip all the tests
|
|
that have a .broken file or to skip all tests whose .broken file's first
|
|
line contains the keyword always.
|
|
|
|
Signed-off-by: Logan Gunthorpe <logang@deltatee.com>
|
|
Signed-off-by: Jes Sorensen <jes@trained-monkey.org>
|
|
---
|
|
test | 37 +++++++++++++++++++++++++++++++++++--
|
|
1 file changed, 35 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/test b/test
|
|
index da6db5e0..61d9ee83 100755
|
|
--- a/test
|
|
+++ b/test
|
|
@@ -10,6 +10,8 @@ devlist=
|
|
|
|
savelogs=0
|
|
exitonerror=1
|
|
+ctrl_c_error=0
|
|
+skipbroken=0
|
|
loop=1
|
|
prefix='[0-9][0-9]'
|
|
|
|
@@ -36,6 +38,7 @@ die() {
|
|
|
|
ctrl_c() {
|
|
exitonerror=1
|
|
+ ctrl_c_error=1
|
|
}
|
|
|
|
# mdadm always adds --quiet, and we want to see any unexpected messages
|
|
@@ -80,8 +83,21 @@ mdadm() {
|
|
do_test() {
|
|
_script=$1
|
|
_basename=`basename $_script`
|
|
+ _broken=0
|
|
+
|
|
if [ -f "$_script" ]
|
|
then
|
|
+ if [ -f "${_script}.broken" ]; then
|
|
+ _broken=1
|
|
+ _broken_msg=$(head -n1 "${_script}.broken" | tr -d '\n')
|
|
+ if [ "$skipbroken" == "all" ]; then
|
|
+ return
|
|
+ elif [ "$skipbroken" == "always" ] &&
|
|
+ [[ "$_broken_msg" == *always* ]]; then
|
|
+ return
|
|
+ fi
|
|
+ fi
|
|
+
|
|
rm -f $targetdir/stderr
|
|
# this might have been reset: restore the default.
|
|
echo 2000 > /proc/sys/dev/raid/speed_limit_max
|
|
@@ -98,10 +114,15 @@ do_test() {
|
|
else
|
|
save_log fail
|
|
_fail=1
|
|
+ if [ "$_broken" == "1" ]; then
|
|
+ echo " (KNOWN BROKEN TEST: $_broken_msg)"
|
|
+ fi
|
|
fi
|
|
[ "$savelogs" == "1" ] &&
|
|
mv -f $targetdir/log $logdir/$_basename.log
|
|
- [ "$_fail" == "1" -a "$exitonerror" == "1" ] && exit 1
|
|
+ [ "$ctrl_c_error" == "1" ] && exit 1
|
|
+ [ "$_fail" == "1" -a "$exitonerror" == "1" \
|
|
+ -a "$_broken" == "0" ] && exit 1
|
|
fi
|
|
}
|
|
|
|
@@ -119,6 +140,8 @@ do_help() {
|
|
--save-logs Usually use with --logdir together
|
|
--keep-going | --no-error Don't stop on error, ie. run all tests
|
|
--loop=N Run tests N times (0 to run forever)
|
|
+ --skip-broken Skip tests that are known to be broken
|
|
+ --skip-always-broken Skip tests that are known to always fail
|
|
--dev=loop|lvm|ram|disk Use loop devices (default), LVM, RAM or disk
|
|
--disks= Provide a bunch of physical devices for test
|
|
--volgroup=name LVM volume group for LVM test
|
|
@@ -216,6 +239,12 @@ parse_args() {
|
|
--loop=* )
|
|
loop="${i##*=}"
|
|
;;
|
|
+ --skip-broken )
|
|
+ skipbroken=all
|
|
+ ;;
|
|
+ --skip-always-broken )
|
|
+ skipbroken=always
|
|
+ ;;
|
|
--disable-multipath )
|
|
unset MULTIPATH
|
|
;;
|
|
@@ -279,7 +308,11 @@ main() {
|
|
else
|
|
for script in $testdir/$prefix $testdir/$prefix*[^~]
|
|
do
|
|
- do_test $script
|
|
+ case $script in
|
|
+ *.broken) ;;
|
|
+ *)
|
|
+ do_test $script
|
|
+ esac
|
|
done
|
|
fi
|
|
|
|
--
|
|
2.38.1
|
|
|