Commit Graph

37 Commits

Author SHA1 Message Date
Karel Zak 1cb82714ce travis: fix sudo command line
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-12-16 14:29:33 +01:00
Karel Zak 406fb25387 tests: add --parsable, remove TS_OPT_parsable
* 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>
2019-10-09 13:04:34 +02:00
Karel Zak 060c4cee0f build-sys: cleanup prefixed used for tests
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>
2019-10-09 12:31:28 +02:00
Karel Zak 571f5f5ba1 build-sys: support 'none' for parallel tests
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-10-09 12:01:57 +02:00
Karel Zak 1740d29cdd travis: force non-parallel for root
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-10-09 11:36:52 +02:00
Karel Zak ac543a15b6 travis: don't call tests in parallel for root
Let's make it more readable in logs for root user.

Signed-off-by: Karel Zak <kzak@redhat.com>
2019-10-09 09:55:27 +02:00
Karel Zak 450016eb72 build-sys: don't use ASAN on XOS
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>
2019-04-25 10:18:08 +02:00
Karel Zak 7bd44e8ade build-sys: enable ASAN on travis-ci
Addresses: Addresses: https://github.com/systemd/systemd/pull/12252
Signed-off-by: Karel Zak <kzak@redhat.com>
2019-04-15 13:05:33 +02:00
Ruediger Meier fbba676998 travis: homebrew/dupes was deprecated
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2018-03-09 09:57:23 +01:00
Ruediger Meier 5917d17f0d travis: use parallel root checks
Also improve CPU count detection for tests.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2018-03-07 20:49:25 +01:00
Ruediger Meier 277d61b9f4 travis: enable osx root checks
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2018-03-07 18:31:55 +01:00
Ruediger Meier d1a7c00eae travis: add make checkusage
We will run all built programs with 3 different
options on Linux and OSX.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2017-06-27 08:25:30 +02:00
Ruediger Meier 22174021f8 build-sys: fix chown mistake, add checkusage.sh to the dist
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>
2017-06-26 21:00:09 +02:00
Karel Zak 4ccea66996 travis: fix another chown issue
Signed-off-by: Karel Zak <kzak@redhat.com>
2017-06-21 13:41:08 +02:00
Karel Zak 4a679468ca travis: use --disable-makeinstall-chown everywhere
Signed-off-by: Karel Zak <kzak@redhat.com>
2017-06-21 11:51:39 +02:00
Karel Zak a65041b5ae build-sys: make chown usage more robust
* 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>
2017-06-21 11:12:04 +02:00
Ruediger Meier cf76bbae48 travis: minor cosmetics
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>
2017-06-15 09:13:14 +02:00
Ruediger Meier 4fb3fe39de tests: check for timeout command
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2017-06-01 11:24:53 +02:00
Ruediger Meier 22edf0a639 Revert "tests: use stdbuf when stderr and stdout is randomly ordered"
stdbuf does not seem to work reliable. Failed on travis/OSX

This reverts commit 398b3148be.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2017-06-01 11:24:00 +02:00
Ruediger Meier 398b3148be tests: use stdbuf when stderr and stdout is randomly ordered
glibc seems to flush stdout before stderr.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2017-06-01 10:28:02 +02:00
Karel Zak 74fe554a41 tests: add --show-diff
Signed-off-by: Karel Zak <kzak@redhat.com>
2017-02-16 14:14:54 +01:00
Ruediger Meier 85d846b88a travis: let OSX auto-skip utmpx tools
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>
2016-12-07 12:35:24 +01:00
Karel Zak 91891979f7 build-sys: improve libncursesw5 install for travis
Signed-off-by: Karel Zak <kzak@redhat.com>
2016-10-21 18:48:10 +02:00
Karel Zak 307546ed8b build-sys: fix drone.io builds
Signed-off-by: Karel Zak <kzak@redhat.com>
2016-10-21 13:33:32 +02:00
Ruediger Meier 160eef814a travis: fix OSX, glibtoolize could not find sed
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>
2016-08-11 18:04:00 +02:00
Ruediger Meier c3f323cb2c tests: don't depend on GNU md5sum
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2016-04-13 12:29:16 +02:00
Karel Zak 83a77afb31 travis: let's ignore apt-get return code
Signed-off-by: Karel Zak <kzak@redhat.com>
2016-03-14 17:01:25 +01:00
Ruediger Meier 668d6d2ef9 travis: add OSX build
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>
2016-03-13 21:51:18 +01:00
Ruediger Meier fc412fe4ce travis: switch to Ubuntu 14.04 Trusty
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>
2016-03-13 21:48:21 +01:00
Ruediger Meier 855f7f0650 tests: add option --parsable
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>
2016-03-05 22:19:24 +01:00
Ruediger Meier 1091e83e84 travis: minor cleanup
- print env for debugging
 - remove unused builddir stuff
 - avoid non-portable find/xargs usage

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2016-02-18 12:53:03 +01:00
Ruediger Meier f81faffa4c travis: install mdadm
Travis build host is able to load kernel modules nowadays!

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2016-02-12 14:13:40 +01:00
Filipe Brandenburger 05894f05bd travis: Remove workaround for libtool install of pylibmount
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>
2016-02-09 15:15:33 -08:00
Ruediger Meier 432439a465 travis: install socat >= 1.7.2
Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2015-04-13 14:49:01 +02:00
Karel Zak 266f856260 travis: add MAKE_CHECK_OPTS
Signed-off-by: Karel Zak <kzak@redhat.com>
2015-03-17 12:03:28 +01:00
Ruediger Meier 5ddcc32a3e travis: move install script to .travis-functions.sh
Now this snippet can be re-used by non-travis systems. For example
on drone.io we can use this simple build script:
......
MAKE_CHECK="root"
source ./.travis-functions.sh
travis_install_script || exit
travis_before_script || exit
ret=0
travis_script || ret=$?
travis_after_script
exit $ret
......

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2015-03-16 14:32:34 +01:00
Ruediger Meier dd68764c59 travis-ci: refactor and add .travis-functions.sh
Travis yaml syntax, where we can only use shell one-liners, is awful
and ugly. We add a real shell script and source it from .travis.yml.

This commit squashes a lot changes because we don't want to pollute
history with this meta CI stuff.

Highlights of this commit:
  - enable make distcheck
  - cleanup configure options (enable all progs, with python and docs)
  - shorter config.log dump
  - out-of-tree build supported
  - workaround broken libtool on travis host
  - now it's easy to add temporary debugging stuff
  - testing locally is possible now

What are we testing now:
  - gcc and clang compiler
  - configure mostly with --enable-all-programs, --with-python and
    --enable-gtk-doc
  - make check with and without root permissions
  - make distcheck
  - make install (with and without --prefix as well as DESTDIR=...)
  - usually we always build in-tree but distcheck does out-of-tree

What do we want/expect at all:
  - This travis setup is intended to always work without fixing or
    updating this build script all the time. Thats why we only use a
    few configure flags.
  - We want to avoid predictable failures on travis host to not make
    developers tired of this machinery. Any tested feature which is
    known to be (sometimes) broken should be fixed or skipped as soon
    as possible.
  - If this works like wanted then in future almost any point in master
    commit history should at least survive the build and common tests
    on this reference host/arch. Moreover we will have a comparable,
    deterministic build log history. This could make bisecting real
    bugs easier.
  - It's not our goal to test any kind of config flags, host setup and
    arch combination. This would be done better by external build
    scripts which do not live within the project itself.
  - Of course this machinery can be also used to reproduce bugs with
    more exotic config and host setup by pushing a debug branch with
    modified travis script to github.

Signed-off-by: Ruediger Meier <ruediger.meier@ga-group.nl>
2014-06-06 16:18:44 +02:00