* [PATCH 1/2] fstests: Always dump dmesg for failed test cases @ 2020-01-20 7:09 Qu Wenruo 2020-01-20 7:09 ` [PATCH 2/2] fstests: btrfs: Fix a bug where test case can't grab the 2nd device when glob is used Qu Wenruo 2020-02-09 15:48 ` [PATCH 1/2] fstests: Always dump dmesg for failed test cases Eryu Guan 0 siblings, 2 replies; 6+ messages in thread From: Qu Wenruo @ 2020-01-20 7:09 UTC (permalink / raw) To: fstests, linux-btrfs When hard-to-hit bugs happened, we really want every piece of info to help us debugging. Although we already have KEEP_DMESG config, not everyone is utilizing it, thus when hard-to-hit bugs happened, one could only set it and retry until next hit. This patch will change the behavior by always dumping the dmesg for failed tests, so that developers can always get extra info from any failure. Signed-off-by: Qu Wenruo <wqu@suse.com> --- check | 3 +++ 1 file changed, 3 insertions(+) diff --git a/check b/check index 2e148e5776e5..e580b2249f06 100755 --- a/check +++ b/check @@ -840,6 +840,9 @@ for section in $HOST_OPTIONS_SECTIONS; do # make sure we record the status of the last test we ran. if $err ; then + if [ ! -f $seqres.dmesg ]; then + _dmesg_since_test_start >$seqres.dmesg + fi bad="$bad $seqnum" n_bad=`expr $n_bad + 1` tc_status="fail" -- 2.24.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* [PATCH 2/2] fstests: btrfs: Fix a bug where test case can't grab the 2nd device when glob is used 2020-01-20 7:09 [PATCH 1/2] fstests: Always dump dmesg for failed test cases Qu Wenruo @ 2020-01-20 7:09 ` Qu Wenruo 2020-02-09 15:52 ` Eryu Guan 2020-02-09 15:48 ` [PATCH 1/2] fstests: Always dump dmesg for failed test cases Eryu Guan 1 sibling, 1 reply; 6+ messages in thread From: Qu Wenruo @ 2020-01-20 7:09 UTC (permalink / raw) To: fstests, linux-btrfs If SCRATCH_DEV_POOL is definted using glob, e.g. SCRATCH_DEV_POOL="/dev/mapper/test-scratch[123456]", then btrfs/175 will fail like this: btrfs/175 15s ... - output mismatch (see results//btrfs/175.out.bad) --- tests/btrfs/175.out 2019-10-22 15:18:14.085632007 +0800 +++ results//btrfs/175.out.bad 2020-01-20 14:53:56.518567916 +0800 @@ -6,3 +6,4 @@ Single on multiple devices swapon: SCRATCH_MNT/swap: swapon failed: Invalid argument Single on one device +ERROR: checking status of : No such file or directory ... (Run 'diff -u tests/btrfs/175.out results//btrfs/175.out.bad' to see the entire diff) This is caused by the extra quotation mark (and the complexity nature of bash glob). # SCRATCH_DEV_POOL="/dev/mapper/test-scratch[123]" # echo ${SCRATCH_DEV_POOL} /dev/mapper/test-scratch1 /dev/mapper/test-scratch2 /dev/mapper/test-scratch3 # echo "${SCRATCH_DEV_POOL}" /dev/mapper/test-scratch[123] To fix the problem, remove the quotation mark out of ${SCRATCH_DEV_POOL} or $SCRATCH_DEV_POOL for all related test cases. Signed-off-by: Qu Wenruo <wqu@suse.com> --- The weirdest thing is, only btrfs/17[56], all other related test cases pass without any problem. Maybe it's time to provide a proper wrapper to do such thing? --- tests/btrfs/140 | 2 +- tests/btrfs/141 | 2 +- tests/btrfs/142 | 2 +- tests/btrfs/143 | 2 +- tests/btrfs/157 | 2 +- tests/btrfs/158 | 2 +- tests/btrfs/175 | 2 +- tests/btrfs/176 | 6 +++--- 8 files changed, 10 insertions(+), 10 deletions(-) diff --git a/tests/btrfs/140 b/tests/btrfs/140 index f0db8022cb48..0e6c91019854 100755 --- a/tests/btrfs/140 +++ b/tests/btrfs/140 @@ -65,7 +65,7 @@ get_devid() get_device_path() { local devid=$1 - echo "$SCRATCH_DEV_POOL" | $AWK_PROG "{print \$$devid}" + echo $SCRATCH_DEV_POOL | $AWK_PROG "{print \$$devid}" } _scratch_dev_pool_get 2 diff --git a/tests/btrfs/141 b/tests/btrfs/141 index c8c184ba29b0..5678e6513f80 100755 --- a/tests/btrfs/141 +++ b/tests/btrfs/141 @@ -65,7 +65,7 @@ get_devid() get_device_path() { local devid=$1 - echo "$SCRATCH_DEV_POOL" | $AWK_PROG "{print \$$devid}" + echo $SCRATCH_DEV_POOL | $AWK_PROG "{print \$$devid}" } _scratch_dev_pool_get 2 diff --git a/tests/btrfs/142 b/tests/btrfs/142 index db0a3377a1ed..ae480352c4d9 100755 --- a/tests/btrfs/142 +++ b/tests/btrfs/142 @@ -66,7 +66,7 @@ get_devid() get_device_path() { local devid=$1 - echo "$SCRATCH_DEV_POOL" | $AWK_PROG "{print \$$devid}" + echo $SCRATCH_DEV_POOL | $AWK_PROG "{print \$$devid}" } start_fail() diff --git a/tests/btrfs/143 b/tests/btrfs/143 index 0388a52899c9..9e1e7ea0874d 100755 --- a/tests/btrfs/143 +++ b/tests/btrfs/143 @@ -73,7 +73,7 @@ get_devid() get_device_path() { local devid=$1 - echo "$SCRATCH_DEV_POOL" | $AWK_PROG "{print \$$devid}" + echo $SCRATCH_DEV_POOL | $AWK_PROG "{print \$$devid}" } SYSFS_BDEV=`_sysfs_dev $SCRATCH_DEV` diff --git a/tests/btrfs/157 b/tests/btrfs/157 index 634370b97ec0..c60d05ce36f3 100755 --- a/tests/btrfs/157 +++ b/tests/btrfs/157 @@ -70,7 +70,7 @@ get_devid() get_device_path() { local devid=$1 - echo "$SCRATCH_DEV_POOL" | $AWK_PROG "{print \$$devid}" + echo $SCRATCH_DEV_POOL | $AWK_PROG "{print \$$devid}" } _scratch_dev_pool_get 4 diff --git a/tests/btrfs/158 b/tests/btrfs/158 index d6df9eaa7dea..179c620b223f 100755 --- a/tests/btrfs/158 +++ b/tests/btrfs/158 @@ -62,7 +62,7 @@ get_devid() get_device_path() { local devid=$1 - echo "$SCRATCH_DEV_POOL" | $AWK_PROG "{print \$$devid}" + echo $SCRATCH_DEV_POOL | $AWK_PROG "{print \$$devid}" } _scratch_dev_pool_get 4 diff --git a/tests/btrfs/175 b/tests/btrfs/175 index d13be3e95ed4..e1c3c28fe5a4 100755 --- a/tests/btrfs/175 +++ b/tests/btrfs/175 @@ -63,7 +63,7 @@ _scratch_mount # Create the swap file, then add the device. That way we know it's all on one # device. _format_swapfile "$SCRATCH_MNT/swap" $(($(get_page_size) * 10)) -scratch_dev2="$(echo "${SCRATCH_DEV_POOL}" | awk '{ print $2 }')" +scratch_dev2="$(echo ${SCRATCH_DEV_POOL} | awk '{ print $2 }')" $BTRFS_UTIL_PROG device add -f "$scratch_dev2" "$SCRATCH_MNT" swapon "$SCRATCH_MNT/swap" 2>&1 | _filter_scratch swapoff "$SCRATCH_MNT/swap" > /dev/null 2>&1 diff --git a/tests/btrfs/176 b/tests/btrfs/176 index 196ba2b8bdf6..c2d67c6f807a 100755 --- a/tests/btrfs/176 +++ b/tests/btrfs/176 @@ -39,9 +39,9 @@ _require_scratch_swapfile # We check the filesystem manually because we move devices around. rm -f "${RESULT_DIR}/require_scratch" -scratch_dev1="$(echo "${SCRATCH_DEV_POOL}" | awk '{ print $1 }')" -scratch_dev2="$(echo "${SCRATCH_DEV_POOL}" | awk '{ print $2 }')" -scratch_dev3="$(echo "${SCRATCH_DEV_POOL}" | awk '{ print $3 }')" +scratch_dev1="$(echo ${SCRATCH_DEV_POOL} | awk '{ print $1 }')" +scratch_dev2="$(echo ${SCRATCH_DEV_POOL} | awk '{ print $2 }')" +scratch_dev3="$(echo ${SCRATCH_DEV_POOL} | awk '{ print $3 }')" echo "Remove device" _scratch_mkfs >> $seqres.full 2>&1 -- 2.24.1 ^ permalink raw reply related [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] fstests: btrfs: Fix a bug where test case can't grab the 2nd device when glob is used 2020-01-20 7:09 ` [PATCH 2/2] fstests: btrfs: Fix a bug where test case can't grab the 2nd device when glob is used Qu Wenruo @ 2020-02-09 15:52 ` Eryu Guan 2020-02-10 0:30 ` Qu Wenruo 0 siblings, 1 reply; 6+ messages in thread From: Eryu Guan @ 2020-02-09 15:52 UTC (permalink / raw) To: Qu Wenruo; +Cc: fstests, linux-btrfs On Mon, Jan 20, 2020 at 03:09:38PM +0800, Qu Wenruo wrote: > If SCRATCH_DEV_POOL is definted using glob, e.g. > SCRATCH_DEV_POOL="/dev/mapper/test-scratch[123456]", then btrfs/175 will I don't think this is necessary, and I think it's not a problem that fstests should resolve. Usually Config file is not always changing, setting SCRATCH_DEV_POOL correctly for once should be fine. A simple command could expand the device list for you: [root@fedoravm xfstests]# ls /dev/mapper/testvg-lv[1234567] /dev/mapper/testvg-lv1 /dev/mapper/testvg-lv2 /dev/mapper/testvg-lv3 /dev/mapper/testvg-lv4 /dev/mapper/testvg-lv5 /dev/mapper/testvg-lv6 /dev/mapper/testvg-lv7 Then just copy/paste the device list. Thanks, Eryu > fail like this: > btrfs/175 15s ... - output mismatch (see results//btrfs/175.out.bad) > --- tests/btrfs/175.out 2019-10-22 15:18:14.085632007 +0800 > +++ results//btrfs/175.out.bad 2020-01-20 14:53:56.518567916 +0800 > @@ -6,3 +6,4 @@ > Single on multiple devices > swapon: SCRATCH_MNT/swap: swapon failed: Invalid argument > Single on one device > +ERROR: checking status of : No such file or directory > ... > (Run 'diff -u tests/btrfs/175.out results//btrfs/175.out.bad' to see the entire diff) > > This is caused by the extra quotation mark (and the complexity nature of > bash glob). > > # SCRATCH_DEV_POOL="/dev/mapper/test-scratch[123]" > # echo ${SCRATCH_DEV_POOL} > /dev/mapper/test-scratch1 /dev/mapper/test-scratch2 /dev/mapper/test-scratch3 > # echo "${SCRATCH_DEV_POOL}" > /dev/mapper/test-scratch[123] > > To fix the problem, remove the quotation mark out of > ${SCRATCH_DEV_POOL} or $SCRATCH_DEV_POOL for all related test cases. > > Signed-off-by: Qu Wenruo <wqu@suse.com> > --- > The weirdest thing is, only btrfs/17[56], all other related test cases > pass without any problem. > > Maybe it's time to provide a proper wrapper to do such thing? > --- > tests/btrfs/140 | 2 +- > tests/btrfs/141 | 2 +- > tests/btrfs/142 | 2 +- > tests/btrfs/143 | 2 +- > tests/btrfs/157 | 2 +- > tests/btrfs/158 | 2 +- > tests/btrfs/175 | 2 +- > tests/btrfs/176 | 6 +++--- > 8 files changed, 10 insertions(+), 10 deletions(-) > > diff --git a/tests/btrfs/140 b/tests/btrfs/140 > index f0db8022cb48..0e6c91019854 100755 > --- a/tests/btrfs/140 > +++ b/tests/btrfs/140 > @@ -65,7 +65,7 @@ get_devid() > get_device_path() > { > local devid=$1 > - echo "$SCRATCH_DEV_POOL" | $AWK_PROG "{print \$$devid}" > + echo $SCRATCH_DEV_POOL | $AWK_PROG "{print \$$devid}" > } > > _scratch_dev_pool_get 2 > diff --git a/tests/btrfs/141 b/tests/btrfs/141 > index c8c184ba29b0..5678e6513f80 100755 > --- a/tests/btrfs/141 > +++ b/tests/btrfs/141 > @@ -65,7 +65,7 @@ get_devid() > get_device_path() > { > local devid=$1 > - echo "$SCRATCH_DEV_POOL" | $AWK_PROG "{print \$$devid}" > + echo $SCRATCH_DEV_POOL | $AWK_PROG "{print \$$devid}" > } > > _scratch_dev_pool_get 2 > diff --git a/tests/btrfs/142 b/tests/btrfs/142 > index db0a3377a1ed..ae480352c4d9 100755 > --- a/tests/btrfs/142 > +++ b/tests/btrfs/142 > @@ -66,7 +66,7 @@ get_devid() > get_device_path() > { > local devid=$1 > - echo "$SCRATCH_DEV_POOL" | $AWK_PROG "{print \$$devid}" > + echo $SCRATCH_DEV_POOL | $AWK_PROG "{print \$$devid}" > } > > start_fail() > diff --git a/tests/btrfs/143 b/tests/btrfs/143 > index 0388a52899c9..9e1e7ea0874d 100755 > --- a/tests/btrfs/143 > +++ b/tests/btrfs/143 > @@ -73,7 +73,7 @@ get_devid() > get_device_path() > { > local devid=$1 > - echo "$SCRATCH_DEV_POOL" | $AWK_PROG "{print \$$devid}" > + echo $SCRATCH_DEV_POOL | $AWK_PROG "{print \$$devid}" > } > > SYSFS_BDEV=`_sysfs_dev $SCRATCH_DEV` > diff --git a/tests/btrfs/157 b/tests/btrfs/157 > index 634370b97ec0..c60d05ce36f3 100755 > --- a/tests/btrfs/157 > +++ b/tests/btrfs/157 > @@ -70,7 +70,7 @@ get_devid() > get_device_path() > { > local devid=$1 > - echo "$SCRATCH_DEV_POOL" | $AWK_PROG "{print \$$devid}" > + echo $SCRATCH_DEV_POOL | $AWK_PROG "{print \$$devid}" > } > > _scratch_dev_pool_get 4 > diff --git a/tests/btrfs/158 b/tests/btrfs/158 > index d6df9eaa7dea..179c620b223f 100755 > --- a/tests/btrfs/158 > +++ b/tests/btrfs/158 > @@ -62,7 +62,7 @@ get_devid() > get_device_path() > { > local devid=$1 > - echo "$SCRATCH_DEV_POOL" | $AWK_PROG "{print \$$devid}" > + echo $SCRATCH_DEV_POOL | $AWK_PROG "{print \$$devid}" > } > > _scratch_dev_pool_get 4 > diff --git a/tests/btrfs/175 b/tests/btrfs/175 > index d13be3e95ed4..e1c3c28fe5a4 100755 > --- a/tests/btrfs/175 > +++ b/tests/btrfs/175 > @@ -63,7 +63,7 @@ _scratch_mount > # Create the swap file, then add the device. That way we know it's all on one > # device. > _format_swapfile "$SCRATCH_MNT/swap" $(($(get_page_size) * 10)) > -scratch_dev2="$(echo "${SCRATCH_DEV_POOL}" | awk '{ print $2 }')" > +scratch_dev2="$(echo ${SCRATCH_DEV_POOL} | awk '{ print $2 }')" > $BTRFS_UTIL_PROG device add -f "$scratch_dev2" "$SCRATCH_MNT" > swapon "$SCRATCH_MNT/swap" 2>&1 | _filter_scratch > swapoff "$SCRATCH_MNT/swap" > /dev/null 2>&1 > diff --git a/tests/btrfs/176 b/tests/btrfs/176 > index 196ba2b8bdf6..c2d67c6f807a 100755 > --- a/tests/btrfs/176 > +++ b/tests/btrfs/176 > @@ -39,9 +39,9 @@ _require_scratch_swapfile > # We check the filesystem manually because we move devices around. > rm -f "${RESULT_DIR}/require_scratch" > > -scratch_dev1="$(echo "${SCRATCH_DEV_POOL}" | awk '{ print $1 }')" > -scratch_dev2="$(echo "${SCRATCH_DEV_POOL}" | awk '{ print $2 }')" > -scratch_dev3="$(echo "${SCRATCH_DEV_POOL}" | awk '{ print $3 }')" > +scratch_dev1="$(echo ${SCRATCH_DEV_POOL} | awk '{ print $1 }')" > +scratch_dev2="$(echo ${SCRATCH_DEV_POOL} | awk '{ print $2 }')" > +scratch_dev3="$(echo ${SCRATCH_DEV_POOL} | awk '{ print $3 }')" > > echo "Remove device" > _scratch_mkfs >> $seqres.full 2>&1 > -- > 2.24.1 > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 2/2] fstests: btrfs: Fix a bug where test case can't grab the 2nd device when glob is used 2020-02-09 15:52 ` Eryu Guan @ 2020-02-10 0:30 ` Qu Wenruo 0 siblings, 0 replies; 6+ messages in thread From: Qu Wenruo @ 2020-02-10 0:30 UTC (permalink / raw) To: Eryu Guan, Qu Wenruo; +Cc: fstests, linux-btrfs [-- Attachment #1.1: Type: text/plain, Size: 6378 bytes --] On 2020/2/9 下午11:52, Eryu Guan wrote: > On Mon, Jan 20, 2020 at 03:09:38PM +0800, Qu Wenruo wrote: >> If SCRATCH_DEV_POOL is definted using glob, e.g. >> SCRATCH_DEV_POOL="/dev/mapper/test-scratch[123456]", then btrfs/175 will > > I don't think this is necessary, and I think it's not a problem that > fstests should resolve. > > Usually Config file is not always changing, setting SCRATCH_DEV_POOL > correctly for once should be fine. A simple command could expand the > device list for you: > > [root@fedoravm xfstests]# ls /dev/mapper/testvg-lv[1234567] > /dev/mapper/testvg-lv1 /dev/mapper/testvg-lv2 /dev/mapper/testvg-lv3 /dev/mapper/testvg-lv4 /dev/mapper/testvg-lv5 /dev/mapper/testvg-lv6 /dev/mapper/testvg-lv7 > > Then just copy/paste the device list. Then at least adding some comment for how to set SCRATCH_DEV_POOL would help. Thanks, Qu > > Thanks, > Eryu > >> fail like this: >> btrfs/175 15s ... - output mismatch (see results//btrfs/175.out.bad) >> --- tests/btrfs/175.out 2019-10-22 15:18:14.085632007 +0800 >> +++ results//btrfs/175.out.bad 2020-01-20 14:53:56.518567916 +0800 >> @@ -6,3 +6,4 @@ >> Single on multiple devices >> swapon: SCRATCH_MNT/swap: swapon failed: Invalid argument >> Single on one device >> +ERROR: checking status of : No such file or directory >> ... >> (Run 'diff -u tests/btrfs/175.out results//btrfs/175.out.bad' to see the entire diff) >> >> This is caused by the extra quotation mark (and the complexity nature of >> bash glob). >> >> # SCRATCH_DEV_POOL="/dev/mapper/test-scratch[123]" >> # echo ${SCRATCH_DEV_POOL} >> /dev/mapper/test-scratch1 /dev/mapper/test-scratch2 /dev/mapper/test-scratch3 >> # echo "${SCRATCH_DEV_POOL}" >> /dev/mapper/test-scratch[123] >> >> To fix the problem, remove the quotation mark out of >> ${SCRATCH_DEV_POOL} or $SCRATCH_DEV_POOL for all related test cases. >> >> Signed-off-by: Qu Wenruo <wqu@suse.com> >> --- >> The weirdest thing is, only btrfs/17[56], all other related test cases >> pass without any problem. >> >> Maybe it's time to provide a proper wrapper to do such thing? >> --- >> tests/btrfs/140 | 2 +- >> tests/btrfs/141 | 2 +- >> tests/btrfs/142 | 2 +- >> tests/btrfs/143 | 2 +- >> tests/btrfs/157 | 2 +- >> tests/btrfs/158 | 2 +- >> tests/btrfs/175 | 2 +- >> tests/btrfs/176 | 6 +++--- >> 8 files changed, 10 insertions(+), 10 deletions(-) >> >> diff --git a/tests/btrfs/140 b/tests/btrfs/140 >> index f0db8022cb48..0e6c91019854 100755 >> --- a/tests/btrfs/140 >> +++ b/tests/btrfs/140 >> @@ -65,7 +65,7 @@ get_devid() >> get_device_path() >> { >> local devid=$1 >> - echo "$SCRATCH_DEV_POOL" | $AWK_PROG "{print \$$devid}" >> + echo $SCRATCH_DEV_POOL | $AWK_PROG "{print \$$devid}" >> } >> >> _scratch_dev_pool_get 2 >> diff --git a/tests/btrfs/141 b/tests/btrfs/141 >> index c8c184ba29b0..5678e6513f80 100755 >> --- a/tests/btrfs/141 >> +++ b/tests/btrfs/141 >> @@ -65,7 +65,7 @@ get_devid() >> get_device_path() >> { >> local devid=$1 >> - echo "$SCRATCH_DEV_POOL" | $AWK_PROG "{print \$$devid}" >> + echo $SCRATCH_DEV_POOL | $AWK_PROG "{print \$$devid}" >> } >> >> _scratch_dev_pool_get 2 >> diff --git a/tests/btrfs/142 b/tests/btrfs/142 >> index db0a3377a1ed..ae480352c4d9 100755 >> --- a/tests/btrfs/142 >> +++ b/tests/btrfs/142 >> @@ -66,7 +66,7 @@ get_devid() >> get_device_path() >> { >> local devid=$1 >> - echo "$SCRATCH_DEV_POOL" | $AWK_PROG "{print \$$devid}" >> + echo $SCRATCH_DEV_POOL | $AWK_PROG "{print \$$devid}" >> } >> >> start_fail() >> diff --git a/tests/btrfs/143 b/tests/btrfs/143 >> index 0388a52899c9..9e1e7ea0874d 100755 >> --- a/tests/btrfs/143 >> +++ b/tests/btrfs/143 >> @@ -73,7 +73,7 @@ get_devid() >> get_device_path() >> { >> local devid=$1 >> - echo "$SCRATCH_DEV_POOL" | $AWK_PROG "{print \$$devid}" >> + echo $SCRATCH_DEV_POOL | $AWK_PROG "{print \$$devid}" >> } >> >> SYSFS_BDEV=`_sysfs_dev $SCRATCH_DEV` >> diff --git a/tests/btrfs/157 b/tests/btrfs/157 >> index 634370b97ec0..c60d05ce36f3 100755 >> --- a/tests/btrfs/157 >> +++ b/tests/btrfs/157 >> @@ -70,7 +70,7 @@ get_devid() >> get_device_path() >> { >> local devid=$1 >> - echo "$SCRATCH_DEV_POOL" | $AWK_PROG "{print \$$devid}" >> + echo $SCRATCH_DEV_POOL | $AWK_PROG "{print \$$devid}" >> } >> >> _scratch_dev_pool_get 4 >> diff --git a/tests/btrfs/158 b/tests/btrfs/158 >> index d6df9eaa7dea..179c620b223f 100755 >> --- a/tests/btrfs/158 >> +++ b/tests/btrfs/158 >> @@ -62,7 +62,7 @@ get_devid() >> get_device_path() >> { >> local devid=$1 >> - echo "$SCRATCH_DEV_POOL" | $AWK_PROG "{print \$$devid}" >> + echo $SCRATCH_DEV_POOL | $AWK_PROG "{print \$$devid}" >> } >> >> _scratch_dev_pool_get 4 >> diff --git a/tests/btrfs/175 b/tests/btrfs/175 >> index d13be3e95ed4..e1c3c28fe5a4 100755 >> --- a/tests/btrfs/175 >> +++ b/tests/btrfs/175 >> @@ -63,7 +63,7 @@ _scratch_mount >> # Create the swap file, then add the device. That way we know it's all on one >> # device. >> _format_swapfile "$SCRATCH_MNT/swap" $(($(get_page_size) * 10)) >> -scratch_dev2="$(echo "${SCRATCH_DEV_POOL}" | awk '{ print $2 }')" >> +scratch_dev2="$(echo ${SCRATCH_DEV_POOL} | awk '{ print $2 }')" >> $BTRFS_UTIL_PROG device add -f "$scratch_dev2" "$SCRATCH_MNT" >> swapon "$SCRATCH_MNT/swap" 2>&1 | _filter_scratch >> swapoff "$SCRATCH_MNT/swap" > /dev/null 2>&1 >> diff --git a/tests/btrfs/176 b/tests/btrfs/176 >> index 196ba2b8bdf6..c2d67c6f807a 100755 >> --- a/tests/btrfs/176 >> +++ b/tests/btrfs/176 >> @@ -39,9 +39,9 @@ _require_scratch_swapfile >> # We check the filesystem manually because we move devices around. >> rm -f "${RESULT_DIR}/require_scratch" >> >> -scratch_dev1="$(echo "${SCRATCH_DEV_POOL}" | awk '{ print $1 }')" >> -scratch_dev2="$(echo "${SCRATCH_DEV_POOL}" | awk '{ print $2 }')" >> -scratch_dev3="$(echo "${SCRATCH_DEV_POOL}" | awk '{ print $3 }')" >> +scratch_dev1="$(echo ${SCRATCH_DEV_POOL} | awk '{ print $1 }')" >> +scratch_dev2="$(echo ${SCRATCH_DEV_POOL} | awk '{ print $2 }')" >> +scratch_dev3="$(echo ${SCRATCH_DEV_POOL} | awk '{ print $3 }')" >> >> echo "Remove device" >> _scratch_mkfs >> $seqres.full 2>&1 >> -- >> 2.24.1 >> [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] fstests: Always dump dmesg for failed test cases 2020-01-20 7:09 [PATCH 1/2] fstests: Always dump dmesg for failed test cases Qu Wenruo 2020-01-20 7:09 ` [PATCH 2/2] fstests: btrfs: Fix a bug where test case can't grab the 2nd device when glob is used Qu Wenruo @ 2020-02-09 15:48 ` Eryu Guan 2020-02-10 0:29 ` Qu Wenruo 1 sibling, 1 reply; 6+ messages in thread From: Eryu Guan @ 2020-02-09 15:48 UTC (permalink / raw) To: Qu Wenruo; +Cc: fstests, linux-btrfs On Mon, Jan 20, 2020 at 03:09:37PM +0800, Qu Wenruo wrote: > When hard-to-hit bugs happened, we really want every piece of info to > help us debugging. > > Although we already have KEEP_DMESG config, not everyone is utilizing > it, thus when hard-to-hit bugs happened, one could only set it and retry > until next hit. > > This patch will change the behavior by always dumping the dmesg for > failed tests, so that developers can always get extra info from any > failure. > > Signed-off-by: Qu Wenruo <wqu@suse.com> > --- > check | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/check b/check > index 2e148e5776e5..e580b2249f06 100755 > --- a/check > +++ b/check > @@ -840,6 +840,9 @@ for section in $HOST_OPTIONS_SECTIONS; do > > # make sure we record the status of the last test we ran. > if $err ; then > + if [ ! -f $seqres.dmesg ]; then > + _dmesg_since_test_start >$seqres.dmesg > + fi So this only saves the dmesg of the last test? And I don't think this is necessary, even if it saves the dmesgs of all failed tests, this behavior change requires some more diskspace and may fulfill / more easily. I think if one knows he/she's debugging a hard-to-hit bug, set KEEP_DMESG. Or again, make "save dmesg of every failed test" a tunable behavior. Thanks, Eryu > bad="$bad $seqnum" > n_bad=`expr $n_bad + 1` > tc_status="fail" > -- > 2.24.1 > ^ permalink raw reply [flat|nested] 6+ messages in thread
* Re: [PATCH 1/2] fstests: Always dump dmesg for failed test cases 2020-02-09 15:48 ` [PATCH 1/2] fstests: Always dump dmesg for failed test cases Eryu Guan @ 2020-02-10 0:29 ` Qu Wenruo 0 siblings, 0 replies; 6+ messages in thread From: Qu Wenruo @ 2020-02-10 0:29 UTC (permalink / raw) To: Eryu Guan, Qu Wenruo; +Cc: fstests, linux-btrfs [-- Attachment #1.1: Type: text/plain, Size: 1610 bytes --] On 2020/2/9 下午11:48, Eryu Guan wrote: > On Mon, Jan 20, 2020 at 03:09:37PM +0800, Qu Wenruo wrote: >> When hard-to-hit bugs happened, we really want every piece of info to >> help us debugging. >> >> Although we already have KEEP_DMESG config, not everyone is utilizing >> it, thus when hard-to-hit bugs happened, one could only set it and retry >> until next hit. >> >> This patch will change the behavior by always dumping the dmesg for >> failed tests, so that developers can always get extra info from any >> failure. >> >> Signed-off-by: Qu Wenruo <wqu@suse.com> >> --- >> check | 3 +++ >> 1 file changed, 3 insertions(+) >> >> diff --git a/check b/check >> index 2e148e5776e5..e580b2249f06 100755 >> --- a/check >> +++ b/check >> @@ -840,6 +840,9 @@ for section in $HOST_OPTIONS_SECTIONS; do >> >> # make sure we record the status of the last test we ran. >> if $err ; then >> + if [ ! -f $seqres.dmesg ]; then >> + _dmesg_since_test_start >$seqres.dmesg >> + fi > > So this only saves the dmesg of the last test? > > And I don't think this is necessary, even if it saves the dmesgs of all > failed tests, this behavior change requires some more diskspace and may > fulfill / more easily. > > I think if one knows he/she's debugging a hard-to-hit bug, set > KEEP_DMESG. Or again, make "save dmesg of every failed test" a tunable > behavior. Makes sense. As I just went the same solution. Thanks, Qu > > Thanks, > Eryu > >> bad="$bad $seqnum" >> n_bad=`expr $n_bad + 1` >> tc_status="fail" >> -- >> 2.24.1 >> [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 6+ messages in thread
end of thread, other threads:[~2020-02-10 0:30 UTC | newest] Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2020-01-20 7:09 [PATCH 1/2] fstests: Always dump dmesg for failed test cases Qu Wenruo 2020-01-20 7:09 ` [PATCH 2/2] fstests: btrfs: Fix a bug where test case can't grab the 2nd device when glob is used Qu Wenruo 2020-02-09 15:52 ` Eryu Guan 2020-02-10 0:30 ` Qu Wenruo 2020-02-09 15:48 ` [PATCH 1/2] fstests: Always dump dmesg for failed test cases Eryu Guan 2020-02-10 0:29 ` Qu Wenruo
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).