[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 2/6] iotests: Skip test 079 if it is not possible to create l
From: |
Daniel P . Berrangé |
Subject: |
Re: [PATCH 2/6] iotests: Skip test 079 if it is not possible to create large files |
Date: |
Tue, 19 Nov 2019 17:50:44 +0000 |
User-agent: |
Mutt/1.12.1 (2019-06-15) |
On Tue, Nov 19, 2019 at 06:38:20PM +0100, Philippe Mathieu-Daudé wrote:
> On 11/19/19 6:34 PM, Thomas Huth wrote:
> > On 19/11/2019 18.29, Philippe Mathieu-Daudé wrote:
> > > On 11/19/19 6:08 PM, Thomas Huth wrote:
> > > > Test 079 fails in the arm64, s390x and ppc64le LXD containers, which
> > > > apparently do not allow large files to be created. Test 079 tries to
> > > > create a 4G sparse file, so check first whether we can really create
> > > > such files before executing the test.
> > > >
> > > > Signed-off-by: Thomas Huth <address@hidden>
> > > > ---
> > > > tests/qemu-iotests/079 | 6 ++++++
> > > > 1 file changed, 6 insertions(+)
> > > >
> > > > diff --git a/tests/qemu-iotests/079 b/tests/qemu-iotests/079
> > > > index 81f0c21f53..e9b81419b7 100755
> > > > --- a/tests/qemu-iotests/079
> > > > +++ b/tests/qemu-iotests/079
> > > > @@ -39,6 +39,12 @@ trap "_cleanup; exit \$status" 0 1 2 3 15
> > > > _supported_fmt qcow2
> > > > _supported_proto file nfs
> > > > +# Some containers (e.g. non-x86 on Travis) do not allow large files
> > > > +if ! truncate --size=4G "$TEST_IMG"; then
> > >
> > > Shouldn't we restrict that to Travis-CI by checking some environment var?
> >
> > I'd rather like to keep it independent from Travis environment
> > variables, since somebody might want to run "make check" in other
> > non-Travis containers or on weird filesystems, and then the test should
> > ideally not fail, but simply skip, too.
>
> I see. But it would be bad if we stop catching normal bugs with this test
> because we restricted it to contained environments.
>
> Maybe we can add a generic is_contained() routine that only checks for
> TRAVIS env var, and people using other containers can expand it.
"is_contained" is still expressing the environment.
What we need is a way to express features, and be able to switch beteen
autodetecting features & mandatory enablement.
eg
if has_feature "large_file"
then
...stuff using large files...
fi
The "has_feature" helper would by default call out to
"has_feature_large_file" todo automatic probing so that things
"just work" according to whatever env the tests are run inside.
There should, however, be a flag to "./check" which force enables
the feature eg "./check --require-feature large_file" will force
execution and not attempt to probe for it.
We could have "--require-feature :all" to force enable all optional
bits.
Any formal CI systems should use --require-feature to explicitly
force testing of features that are expected to always work.
so Travis x86 would use "--require-feature large_large", but
the arch64 version would not pass this flag and so do probing
which will auto-skip.
Regards,
Daniel
--
|: https://berrange.com -o- https://www.flickr.com/photos/dberrange :|
|: https://libvirt.org -o- https://fstop138.berrange.com :|
|: https://entangle-photo.org -o- https://www.instagram.com/dberrange :|
Re: [PATCH 2/6] iotests: Skip test 079 if it is not possible to create large files, Alex Bennée, 2019/11/22
[PATCH 3/6] tests/hd-geo-test: Skip test when images can not be created, Thomas Huth, 2019/11/19
[PATCH 4/6] tests/test-util-filemonitor: Skip test on non-x86 Travis containers, Thomas Huth, 2019/11/19
[PATCH 6/6] travis.yml: Enable builds on arm64, ppc64le and s390x, Thomas Huth, 2019/11/19