mirror of
https://github.com/kdave/btrfs-progs
synced 2024-12-17 20:05:24 +00:00
f43df8a863
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>
97 lines
3.8 KiB
YAML
97 lines
3.8 KiB
YAML
#
|
|
# Copyright (C) 2016 Roman Lebedev.
|
|
#
|
|
# This program is free software; you can redistribute it and/or
|
|
# modify it under the terms of the GNU General Public
|
|
# License v2 as published by the Free Software Foundation.
|
|
#
|
|
# This program is distributed in the hope that it will be useful,
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
# General Public License for more details.
|
|
#
|
|
# You should have received a copy of the GNU General Public
|
|
# License along with this program; if not, write to the
|
|
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
# Boston, MA 021110-1307, USA.
|
|
#
|
|
|
|
sudo: required
|
|
|
|
language: c
|
|
|
|
matrix:
|
|
include:
|
|
- os: linux
|
|
compiler: gcc
|
|
- os: linux
|
|
compiler: gcc
|
|
env: D=asan
|
|
- os: linux
|
|
compiler: gcc
|
|
env: D=ubsan
|
|
- os: linux
|
|
compiler: clang
|
|
|
|
cache:
|
|
ccache: true
|
|
directories:
|
|
- tmp-cached-reiser
|
|
- tmp-cached-zstd
|
|
|
|
git:
|
|
depth: 1
|
|
|
|
dist: bionic
|
|
group: unstable
|
|
|
|
branches:
|
|
only:
|
|
- devel
|
|
- coverity_scan
|
|
- master
|
|
- release-test
|
|
|
|
services:
|
|
- docker
|
|
|
|
env:
|
|
global:
|
|
# The next declaration is the encrypted COVERITY_SCAN_TOKEN, created
|
|
# via the "travis encrypt" command using the project repo's public key
|
|
- secure: "aOqVfsh0m0iR3ggfuqhri4RHZK1LkQPDfNvPPQLN6VwJnz9QrI7TvLovTM1JwfX+nkyNhRq33+OahQb7PEHWPctFo6o42CcN837syF2fg8ZhTmcU1abJL29GUN/bH3xZXJJoUNJUW79Bp098GEcEmypxJ29Fxs5FQKT57O2FnnJXQLZhsDvSC1tuHtHEnCU1EGmZ6g4QI+eaS3zxKr343WCwRX6xolKHaLZX/UsYMbIMJ1YBaK2zCyOpaXOflQbloI1gcrUcoalIFuwPVbYnu2oXqzsuzHV0ekN+zMAECDNYrTr/OEA0bLR57WC0krLiAr+tA6Rq5E1D6JHg3WxDE7tbuFmrhxW23S9x6xw4+L5KuwNdsIZEdybn4q6zCkkHH3PgOFRF8taxxHKsfJ9fWxZM/kvQa5CNClDrZmfso9U8yWrYgL6fi3fIcuVLE29N2K0v9LkWlsK0REn5/uiEKO5rJ25ytpzCoUg9IRRgMPJaoPtZhSrK+ywZlJqg3f5eRqA7W1A4AEK5cOmWGFW2MOGmTtzhHG/xY0yaPYxgB7u2b7ji8BQdOn3p0ttmBFBxbDChb3LUH+d21iORrYVTG3IDziQTdBLCn/ZUypcLlLXLkkgZMQ9kLhArRmuqlTqPoR2+GNVjRP/uxwZXcszvEb0TATI11rieJW6TN1inWgY="
|
|
|
|
before_install:
|
|
- sudo apt-get update -qq
|
|
- sudo apt-get install -qq e2fslibs-dev gcc clang libacl1-dev libblkid-dev liblzo2-dev make pkg-config udev zlib1g-dev acl attr reiserfsprogs python3-setuptools
|
|
- echo -n | openssl s_client -connect scan.coverity.com:443 | sed -ne '/-BEGIN CERTIFICATE-/,/-END CERTIFICATE-/p' | sudo tee -a /etc/ssl/certs/ca-
|
|
- docker pull kdave/ci-musl-x86_64
|
|
- ci/build-dep-reiserfs
|
|
- ci/build-dep-zstd
|
|
- ci/build-default --disable-documentation --with-convert=ext2,reiserfs
|
|
|
|
addons:
|
|
coverity_scan:
|
|
project:
|
|
name: "kdave/btrfs-progs"
|
|
description: "btrfs-progs"
|
|
notification_email: dsterba@suse.cz
|
|
build_command_prepend: "./autogen.sh && ./configure --disable-documentation"
|
|
build_command: "make"
|
|
branch_pattern: coverity_scan
|
|
|
|
script:
|
|
# quick build tests
|
|
- "if ci/should-run-test; then docker run -it --env CC=$CC kdave/ci-musl-x86_64 ./test-build $TRAVIS_BRANCH --disable-documentation --disable-backtrace; fi"
|
|
- "if ci/should-run-test && ci/not-asan-build; then make TEST_LOG=dump library-test; fi"
|
|
# real tests
|
|
- "if ci/should-run-test; then make TEST_LOG=dump test-cli; fi"
|
|
- "if ci/should-run-test; then make TEST_LOG=dump test-mkfs; fi"
|
|
- "if ci/should-run-test; then make TEST_LOG=dump test-check; fi"
|
|
- "if ci/should-run-test; then make TEST_LOG=dump TEST_ENABLE_OVERRIDE=true TEST_ARGS_CHECK=--mode=lowmem test-check; fi"
|
|
- "if [ ci/should-run-test -a -f /sys/fs/btrfs/features/free_space_tree ]; then make TEST_LOG=dump TEST_ENABLE_OVERRIDE=true TEST_ARGS_MKFS=--runtime-features=free-space-tree test-mkfs; fi"
|
|
- "if ci/should-run-test; then make TEST_LOG=dump test-misc; fi"
|
|
- "if ci/should-run-test; then make TEST_LOG=dump test-fuzz; fi"
|
|
# long running tests
|
|
- "if [ $TRAVIS_BRANCH = release-test ]; then make TEST_LOG=dump test-convert; fi"
|