Message ID | 20200215232819.30280-1-marcos@mpdesouza.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | progs: tests: Avoid multidevice test on 32bit platforms | expand |
On 2020/2/16 上午7:28, Marcos Paulo de Souza wrote: > From: Marcos Paulo de Souza <mpdesouza@suse.com> > > This test uses truncate utility to create a 6E file but this fails > currently fails for PPC32[1], but it will also fail to other 32bit > platforms, so skip this test in these platforms. > > [1]: https://github.com/kdave/btrfs-progs/issues/192 > > Signed-off-by: Marcos Paulo de Souza <mpdesouza@suse.com> > --- > > I couldn't find a way to make truncate to use O_LARGEFILE option. I though even > to write a helper to open the file using this flag and later on call ftruncate, > but isn't it one more helper to maintain? > > If there are better ideas to avoid skipping this test, please let me know! What about testing the first 6E file allocation? If the first failed, then it means the system can't handle, and we skip the test. Skipping the whole 32bit systems looks overkilled to me. Thanks, Qu > > tests/common | 15 +++++++++++++++ > tests/mkfs-tests/018-multidevice-overflow/test.sh | 1 + > 2 files changed, 16 insertions(+) > > diff --git a/tests/common b/tests/common > index 605cf72c..9aa69a1a 100644 > --- a/tests/common > +++ b/tests/common > @@ -580,6 +580,21 @@ check_min_kernel_version() > return 0 > } > > +check_32bit_machine() > +{ > + local msg > + > + msg="$1" > + if [ -z "$msg" ]; then > + msg="Skipping test on 32bit machines" > + fi > + > + long_bit=$(getconf LONG_BIT) > + if [ $long_bit -eq 32 ]; then > + _not_run "$msg" > + fi > +} > + > # how many files to create. > DATASET_SIZE=50 > > diff --git a/tests/mkfs-tests/018-multidevice-overflow/test.sh b/tests/mkfs-tests/018-multidevice-overflow/test.sh > index 6c2f4dba..8bb3d5a9 100755 > --- a/tests/mkfs-tests/018-multidevice-overflow/test.sh > +++ b/tests/mkfs-tests/018-multidevice-overflow/test.sh > @@ -5,6 +5,7 @@ source "$TEST_TOP/common" > > check_prereq mkfs.btrfs > check_prereq btrfs > +check_32bit_machine "32bit machines can't handle 6E file sizes" > > setup_root_helper > prepare_test_dev >
diff --git a/tests/common b/tests/common index 605cf72c..9aa69a1a 100644 --- a/tests/common +++ b/tests/common @@ -580,6 +580,21 @@ check_min_kernel_version() return 0 } +check_32bit_machine() +{ + local msg + + msg="$1" + if [ -z "$msg" ]; then + msg="Skipping test on 32bit machines" + fi + + long_bit=$(getconf LONG_BIT) + if [ $long_bit -eq 32 ]; then + _not_run "$msg" + fi +} + # how many files to create. DATASET_SIZE=50 diff --git a/tests/mkfs-tests/018-multidevice-overflow/test.sh b/tests/mkfs-tests/018-multidevice-overflow/test.sh index 6c2f4dba..8bb3d5a9 100755 --- a/tests/mkfs-tests/018-multidevice-overflow/test.sh +++ b/tests/mkfs-tests/018-multidevice-overflow/test.sh @@ -5,6 +5,7 @@ source "$TEST_TOP/common" check_prereq mkfs.btrfs check_prereq btrfs +check_32bit_machine "32bit machines can't handle 6E file sizes" setup_root_helper prepare_test_dev