Commit Graph

27 Commits

Author SHA1 Message Date
Marcos Paulo de Souza 61ecaff036 btrfs-progs: build: add libmount dependency
API provided by libmount allows to read various information from /proc
files about mount paths.

Signed-off-by: Marcos Paulo de Souza <mpdesouza@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2021-01-18 17:49:19 +01:00
David Sterba f43df8a863 btrfs-progs: ci: add sanitizer coverage
Add builds with ASAN and UBSAN for both gcc. Clang + asan fails at
some tests due to wrong asan runtime, clang + ubsan fails at
libbtrfsutil/btrfsutil_internal.h:71:20:

	memcpy(&tmp, &sh->type, sizeof(__u32));

which seems to be too strict.

    [TEST/cli]   008-subvolume-get-set-default
subvolume get-default: default id is not 256, but
libbtrfsutil/btrfsutil_internal.h:71:20: runtime error: member access within
misaligned address 0x7ffcc8017f67 for type 'const struct
btrfs_ioctl_search_header', which requires 8 byte alignment

0x7ffcc8017f67: note: pointer points here

 00 00 00 00 07  00 00 00 00 00 00 00 00  01 00 00 00 00 00 00 05  00 00 00 00 00 00 00 90  00 00 00
             ^

libbtrfsutil/btrfsutil_internal.h:64:20: runtime error: member access within
misaligned address 0x7ffcc8017f67 for type 'const struct
btrfs_ioctl_search_header', which requires 8 byte alignment

0x7ffcc8017f67: note: pointer points here

 00 00 00 00 07  00 00 00 00 00 00 00 00  01 00 00 00 00 00 00 05  00 00 00 00 00 00 00 90  00 00 00
             ^

libbtrfsutil/btrfsutil_internal.h:78:20: runtime error: member access within
misaligned address 0x7ffcc8017f67 for type 'const struct
btrfs_ioctl_search_header', which requires 8 byte alignment

0x7ffcc8017f67: note: pointer points here

 00 00 00 00 07  00 00 00 00 00 00 00 00  01 00 00 00 00 00 00 05  00 00 00 00 00 00 00 90  00 00 00

Signed-off-by: David Sterba <dsterba@suse.com>
2020-10-20 15:49:07 +02:00
David Sterba 5011ef94ac btrfs-progs: ci: install clang unconditionally
The builds on travis started to fail for the clang and it was missing
completely, so add it to the list of packages.

Signed-off-by: David Sterba <dsterba@suse.com>
2020-09-08 21:59:52 +02:00
David Sterba cfe26cca7a btrfs-progs: ci: enable free-space-tree for all mkfs tests
Run all mkfs tests with -R free-space-tree in case the kernel supports
that (4.5+ required).

Signed-off-by: David Sterba <dsterba@suse.com>
2020-09-08 21:59:52 +02:00
David Sterba 62ab5ce067 btrfs-progs: ci: use newer image base on travis
Seems that 18.04 has arrived to travis, switch to it. The gcc is 7.4 and
kernel is unfortuantelly still 4.15.

Signed-off-by: David Sterba <dsterba@suse.com>
2019-11-18 19:21:08 +01:00
David Sterba 06f075976e btrfs-progs: ci: rename travis/ to ci/
Rename the directory for continuous integration scripts to a more
generic name as we're going to use more than one. The base image on
travis has an old kernel. It's not possible to use a newer one and some
tests fail making the coverage unreliable.

Signed-off-by: David Sterba <dsterba@suse.com>
2019-07-04 02:06:34 +02:00
David Sterba a8779ec9c8 btrfs-progs: CI: enable fuzz tests
With recent fixes the fuzz tests pass, enable them for the continuos
integration.

Signed-off-by: David Sterba <dsterba@suse.com>
2019-05-17 13:18:01 +02:00
David Sterba e10b8a839c btrfs-progs: ci: switch to newer build environment
Use the Xenial dist for CI so now we have only 2 years old base version,
instead of 4 years old.  Kernel is 4.15, gcc is 5.4, clang 7.0.

Signed-off-by: David Sterba <dsterba@suse.com>
2019-02-25 18:08:21 +01:00
David Sterba cfbf54dea1 btrfs-progs: ci: explicitly request reiserfs support for btrfs-convert
The autodetection of conversion filesystems support will skip the tests
if the library is not available for some reason. This now happens for
reiserfs in the CI environment. We need to know about such case so
request the support.

Signed-off-by: David Sterba <dsterba@suse.com>
2019-02-25 18:08:16 +01:00
David Sterba 6315cf6d37 btrfs-progs: ci: enable library-test
For some reason the test was not enabled in the CI builds and would have
caught the build problem fixed by the previous patch.

Signed-off-by: David Sterba <dsterba@suse.com>
2019-01-23 13:55:09 +01:00
David Sterba 58b5610845 btrfs-progs: ci: enable clang and python for musl build test
The updated image now provides clang, so the variable is exported from
the base environment to docker. And we have python too.

Signed-off-by: David Sterba <dsterba@suse.com>
2018-03-06 11:28:38 +01:00
David Sterba efc08d3390 btrfs-progs: ci: cache built dependencies
For a slight speed up of the build, cache reiserfs and zstd. A quick
cache validity is done, or it can be cleared manually on travis web UI.

Signed-off-by: David Sterba <dsterba@suse.com>
2018-03-06 11:28:38 +01:00
David Sterba d51e8b128f btrfs-progs: ci: add python dependencies for libbtrfsutil
Install the setuptools. Python is not yet in the musl image, so the
build is disabled there.

Signed-off-by: David Sterba <dsterba@suse.com>
2018-02-24 01:37:17 +01:00
David Sterba 5432a68997 btrfs-progs: ci: replace inline shell commands with scripts
Signed-off-by: David Sterba <dsterba@suse.com>
2018-02-13 15:41:32 +01:00
David Sterba ba067ed4ee btrfs-progs: ci: use helper script for default build commands
There's a script for the make command combo, let's use it.

Signed-off-by: David Sterba <dsterba@suse.com>
2018-02-13 15:41:32 +01:00
David Sterba ddfe4d7c30 btrfs-progs: ci: enable musl build tests in docker
Enable docker in travis and start build test(s) before our testsuite.
Now for musl libc, so we don't accidentally break the build anymore.

Issue: #29
Signed-off-by: David Sterba <dsterba@suse.com>
2018-02-13 15:41:32 +01:00
David Sterba 5720b3ae9a btrfs-progs: ci: change clone depth to 1
Check only the top commit of a given branch.

Signed-off-by: David Sterba <dsterba@suse.com>
2018-02-08 01:00:12 +01:00
David Sterba 444b88391e btrfs-progs: tests: bump zstd version in CI to 1.3.3
Signed-off-by: David Sterba <dsterba@suse.com>
2018-01-31 15:14:01 +01:00
David Sterba 3f99647f8e btrfs-progs: tests: enable check lowmem in travis CI
We missed some regressions because the lowmem mode was not run in the CI
tests. This is partially due to the incomplete implementation but we
have exceptions for the --repair mode in the tests.

Signed-off-by: David Sterba <dsterba@suse.com>
2018-01-03 17:09:30 +01:00
David Sterba 89568f1bdf btrfs-progs: tests: fix path for travis helper script
The helper script ./travis-should-run-test has been moved to a directory
in 4.13.3 but the path in the config was not updated. This was not
caught in the CI environment and the tests did not report a failure.

Signed-off-by: David Sterba <dsterba@suse.com>
2018-01-03 17:08:48 +01:00
Nick Terrell 0766330f85 btrfs-progs: tests: add testing image for zstd for btrfs-restore
Adds tests for the new features based on a prebuilt btrfs image with a
zstd compressed file.

Split from the previous patch.

Signed-off-by: Nick Terrell <terrelln@fb.com>
[ with some cleanups ]
Signed-off-by: David Sterba <dsterba@suse.com>
2017-09-25 15:17:15 +02:00
David Sterba 7da5841e3f btrfs-progs: tests: install missing CI packages
Signed-off-by: David Sterba <dsterba@suse.com>
2017-09-08 16:15:05 +02:00
David Sterba 1d5f84831c btrfs-progs: tests: build preparation phases out of script section
The logs of before_install are folded and we don't need to see the
details, unlike the test logs.

Signed-off-by: David Sterba <dsterba@suse.com>
2017-09-08 16:15:05 +02:00
David Sterba 4ef5a112c9 btrfs-progs: tests: pull and build reiserfs lib inside CI
The functionality needed to support reiserfs in convert has been added
recently and is not yet available in the CI images, so we'll download
and build it there.

Signed-off-by: David Sterba <dsterba@suse.com>
2017-09-08 16:15:05 +02:00
David Sterba fd60bbfcba btrfs-progs: run mkfs tests in CI
Signed-off-by: David Sterba <dsterba@suse.com>
2016-12-14 15:06:35 +01:00
David Sterba a2d91697c1 btrfs-progs: tests: add more tests to the CI build
Run more tests in the travis build environment. The mkfs tests are still
left out due to missing capabilities of losetup.

Other minor travis adjustments.

Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-23 11:07:03 +01:00
Roman Lebedev 324566bd1a btrfs-progs: Add travis CI build support
Automated build checks for the devel branch and integration to coverity,
using travis.org. Roman's initial .yml version has been adjusted for
btrfs-progs needs.

Author: Roman Lebedev <lebedev.ri@gmail.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2016-11-09 13:47:26 +01:00