* 'fuzz' of https://github.com/evverx/util-linux:
tests: pack testcases into zip archives
tests: integrate test_last_fuzz into the testsuite
tests: add a fuzzer for process_wtmp_file
docs: mention OSS-Fuzz and CIFuzz and how to build fuzz targets locally
tools: make it possible to set all the fuzzing flags with config-gen
build-system: make "make distcheck" work
travis: set CXX correctly
travis: turn on --enable-fuzzing-engine
build-sys: add support for --enable-fuzzing-engine
tests: integrate test_mount_fuzz into the testsuite
tests: take exit codes into account
tests: add a fuzzer for mnt_table_parse_stream
Now that the absence of the sscanf modifiers no longer prevents Travis from building libmount
automatically it seems util-linux is failing to compile there with
```
In file included from disk-utils/fsck.c:49:
[1m./libmount/src/libmount.h:32:10: [0m[0;1;31mfatal error: [0m[1m'mntent.h' file not found[0m
[0;1;32m ^~~~~~~~~~
[0m1 error generated.
make[2]: *** [disk-utils/fsck-fsck.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2
```
Signed-off-by: Evgeny Vereshchagin <evvers@ya.ru>
Backtraces like
```
misc-utils/cal.c:295:4: runtime error: signed integer overflow: 2147483647 + 5 cannot be represented in type 'int'
==1405==WARNING: invalid path to external symbolizer!
==1405==WARNING: Failed to use and restart external symbolizer!
#0 0x4c4c09 (/home/travis/build/karelzak/util-linux/cal+0x4c4c09)
#1 0x7f4363046b96 (/lib/x86_64-linux-gnu/libc.so.6+0x21b96)
#2 0x41bab9 (/home/travis/build/karelzak/util-linux/cal+0x41bab9)
SUMMARY: UndefinedBehaviorSanitizer: undefined-behavior misc-utils/cal.c:295:4 in
```
aren't very helpful
It's follow-up to https://github.com/karelzak/util-linux/pull/1075
* don't enable parsable for non-parallel executions in travis
* add --parsable to run.sh
* use --parsable rather than TS_OPT_ in travis
Signed-off-by: Karel Zak <kzak@redhat.com>
It's ugly to use the same TS_ prefix in tests as well as in
build-system (e.g. make check), because then some env. variable can be
interpreted by our regression tests. For example TS_PARALLEL=.
It's seems better to use TS_ exclusively for tests and TESTS_ for
build-system.
Signed-off-by: Karel Zak <kzak@redhat.com>
It seems that Apple Clang is not mature enough to use ASAN.
AddressSanitizer: detect_leaks is not supported on this platform.
Let's disable ASAN on XOS at all.
Signed-off-by: Karel Zak <kzak@redhat.com>
Sorry, don't know why I reverted fad561b0.
But for travis we need it only in check_nonroot().
check_root() *can* do chown and the check_dist() is handled
by Makefile.
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
* add --disable-makeinstall-chown to travis non-root mode
* use "if MAKEINSTALL_DO_SETUID" for chown root:root
Signed-off-by: Karel Zak <kzak@redhat.com>
This is just to make the diff to my private travis script a bit smaller.
Now we always use $CC _after_ the install script which makes it possible
to install/update the compiler in the install section.
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
It will disable all these programs automatically except wall(1)
which is now non-Linux compatible.
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
Since a few days travis OSX seems to have a bad libtool package:
$ glibtoolize --version
/usr/local/bin/glibtoolize: line 406: /usr/local/Library/ENV/4.3/sed: No such file or directory
Exporting SED is a simple fix. Otherwise we could have also re-installed libtool:
brew uninstall libtool
brew install libtool
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
Of course OSX is not an important target but since it's available on
travis we can (mis)use it to generally improve non-Linux and non-GNU
compatibility. People are using musl, busybox or whatever and
util-linux should work for them. Having OSX build running regularly
will help us to freeze the lately improved BSD compatibility and
to check code which is usually ifdef'ed.
We are using the most recent OSX 10.11.x / Xcode 7.3 though the older
travis OSX images are working too currently.
If it turns out that this OSX build is too annoying when we are about
to add support for latest Linux features then we could add:
allow_failures:
- os: osx
to let it fail silently.
Note I've tried hard to keep .travis-functions.sh readable for the
Linux case. I've removed --with-python because it's default anyway,
--enable-gtk-doc is still tested in discheck.
OSX root check would also work (almost, using another --prefix) but
would only run one more test yet (minix).
OSX distcheck would have some issues with conditionally built man
pages and does not work with default distcheck confopts. No need to
fix that because distcheck is more for maintainer machines.
BTW to increase travis build speed again we could remove some targets
from the matrix without losing tested scenarios:
- nonroot for Linux seems to be waste of time
- clang/Linux could be root check only
For now we keep it as is.
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
Now we have a reasonable recent build system with systemd, etc. We still
keep old Ubuntu 12.04 Precise to check backward compatibility but
remove the hack to install socat.
Note the new env variable PRECISE="yes" is only there to see it on travis
website.
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
This is to force the one-line results also for non-parallel case.
We are using it for travis auto-build and on other build farms.
Moreover you can set this (and any other) option globally by env
which is the only way to pass it to make distcheck.
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
Commit 324330aca6 ("build-sys: Properly order install dependencies
of pylibmount") introduces a proper make dependency for the install
rules, in a way that the workaround is no longer necessary.
Tested that a PR with this commit passes Travis-CI.
Signed-off-by: Filipe Brandenburger <filbranden@google.com>