On Mon, Mar 02, 2020 at 05:30:06PM -0300, Marcos Paulo de Souza wrote: > On Mon, Mar 02, 2020 at 09:07:16PM +0100, David Sterba wrote: > > On Mon, Feb 24, 2020 at 03:05:34PM -0300, Marcos Paulo de Souza wrote: > > > From: Marcos Paulo de Souza <mpdesouza@xxxxxxxx> > > > > > > The truncate command can fail in some platforms like PPC32[1] because it > > > can't create files up to 6E in size. Skip the test if this was the > > > problem why truncate failed. > > > > > > [1]: https://github.com/kdave/btrfs-progs/issues/192 > > > > Issue: #192 > > David, can you please drop this patch and use the attached one instead? This one > has been tested by the user who reported the issue in bug 192. > > Thanks, > Marcos > > > > > Signed-off-by: Marcos Paulo de Souza <mpdesouza@xxxxxxxx> > > > > Added to devel, thanks. > >From 52b96ac75c2f8876f1ed9424cef92a4557306009 Mon Sep 17 00:00:00 2001 > From: Marcos Paulo de Souza <mpdesouza@xxxxxxxx> > Date: Sat, 15 Feb 2020 19:47:12 -0300 > Subject: [PATCH] progs: mkfs-tests: Skip test if truncate failed with EFBIG > > The truncate command can fail in some platform like PPC32[1] because it > can't create files up to 6E in size. Skip the test if this was the > problem why truncate failed. > > [1]: https://github.com/kdave/btrfs-progs/issues/192 > > Signed-off-by: Marcos Paulo de Souza <mpdesouza@xxxxxxxx> > --- > tests/mkfs-tests/018-multidevice-overflow/test.sh | 12 +++++++++++- > 1 file changed, 11 insertions(+), 1 deletion(-) > > diff --git a/tests/mkfs-tests/018-multidevice-overflow/test.sh b/tests/mkfs-tests/018-multidevice-overflow/test.sh > index 6c2f4dba..b8e2b18d 100755 > --- a/tests/mkfs-tests/018-multidevice-overflow/test.sh > +++ b/tests/mkfs-tests/018-multidevice-overflow/test.sh > @@ -14,7 +14,17 @@ prepare_test_dev > run_check_mkfs_test_dev > run_check_mount_test_dev > > -run_check $SUDO_HELPER truncate -s 6E "$TEST_MNT/img1" > +# truncate can fail with EFBIG if the OS cannot created a 6E file > +stdout=$($SUDO_HELPER truncate -s 6E "$TEST_MNT/img1" 2>&1) So this is reading and parsing stdout, but not using the standard helpers that also log the commands. The stdout approach probably works but I'd still like to avoid using plain $(...) > +ret=$? > + > +if [ $ret -ne 0 ]; then > + if [[ "$stdout" == *"File too large"* ]]; then > + _not_run "Current kernel could not create a 6E file" > + fi > + _fail "Truncate command failed: $ret" > +fi > + > run_check $SUDO_HELPER truncate -s 6E "$TEST_MNT/img2" > run_check $SUDO_HELPER truncate -s 6E "$TEST_MNT/img3" > > -- > 2.25.0 >
