Commit Graph

127 Commits

Author SHA1 Message Date
Daniel Hahler 991d525f7d
ci: codecov: improve flags/env (#2651) 2019-02-14 18:46:01 +01:00
Daniel Hahler df9ed76418
ci: codecov: use env vars instead of flags (#2648)
Using flags appears to trigger timeouts with codecov's backend.
This uses env variables instead.
2019-02-14 17:18:54 +01:00
Uli Schlachter 2023ed187a Add xcb-xfixes as a new dependency and initialise it
This commit prepares changes in the following commits

Signed-off-by: Uli Schlachter <psychon@znc.in>
2019-02-06 09:21:26 +01:00
Daniel Hahler c20573e6dd
Makefile: keep cmake-build as default target (#2579)
Fixes https://github.com/awesomeWM/awesome/issues/2576.
2019-01-12 11:46:23 +01:00
Daniel Hahler 0b36da2730
Makefile: get rid of cmake-build (#2547)
* Makefile: all: only depend on cmake-build

Previously `make` would first run `cmake-build` (`make` in `build/`),
and then run `make -C build awesome` afterwards again (which gets built
by the first step already).

* Makefile: get rid of cmake-build

* Travis: testing previous commits: make distclean

Otherwise it might fail due to permission errors for existing files:

https://travis-ci.org/awesomeWM/awesome/jobs/476612117#L2785

    -- Build files have been written to: /home/travis/build/awesomeWM/awesome/build
    [  1%] Generating manpages/man1/awesome.1
    [  2%] Generating manpages/man1/awesome.1.gz
    /bin/sh: 1: cannot create /home/travis/build/awesomeWM/awesome/build/manpages/man1/awesome.1.gz: Permission denied
    make[3]: *** [manpages/man1/awesome.1.gz] Error 2
    make[2]: *** [CMakeFiles/man.dir/all] Error 2
    make[1]: *** [all] Error 2
    make: *** [cmake-build] Error 2
2019-01-11 17:04:04 +01:00
Daniel Hahler 3804040dbe
Travis: coverage: gcov: process .gnco separately (#2574)
Also uses consistent flags with codecov, i.e. lua53 also with gcov / `#c_code`.
2019-01-10 23:06:54 +01:00
Daniel Hahler 0acaaf6863
Travis: coverage: report check-themes with separate flag (#2570)
This makes sense in general (every check target should get its own
flag), and might help with tracking down unexpected coverage changes
(although those appear to be related to the C code only (gcov)).
2019-01-10 19:08:36 +01:00
Daniel Hahler b392e2ce74
cmake: remove check-unit-coverage (#2568)
Just configure `check-unit` to use `--coverage` with `busted` with
`DO_COVERAGE=1`.

I got confused why `check-unit` would not generate coverage.
This keeps it in line with other targets that generate coverage when
used with the same name.
2019-01-10 13:30:58 +01:00
Daniel Hahler 7e68305f98
Travis: update LuaRocks: 2.4.2 => 3.0.4 (#2569) 2019-01-10 10:58:11 +01:00
Daniel Hahler 2b3707ccfc
Travis: codecov: use -f with luacov output (#2563)
- do not use `-c` to remove discovered file
- configure path for luacov reportfile to also reside in build directory
2019-01-10 10:56:39 +01:00
Daniel Hahler b67e0a123c
Travis: use Ubuntu Xenial image (#2565)
This has lua5.3 already.
2019-01-10 10:55:49 +01:00
Uli Schlachter 2769bdbc5b tests/examples: Run example-tests in build phase, not configure phase
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-08-06 16:50:46 +02:00
Uli Schlachter 0060d1149b .travis.yml: Enable -Werror
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-07-26 09:12:45 +02:00
Uli Schlachter 4e17cc6bfc Fix summary of TEST_PREV_COMMITS (#2261)
Instead of printing the list of commits for which tests failed, this
printed all commits.

Testing done on this change: None. Testing the infrastructure for Travis
is a bit hard and quite meta. (Tests for the tests?)

Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-05-21 03:01:09 -04:00
Joseph Herlant d9cc56538f build: man pages: use asciidoctor instead of asciidoc (#2234) 2018-04-04 11:28:50 +02:00
Uli Schlachter 0a588e099a Add a client shape test (#2214)
This is not really a test. It just starts xeyes and sees if anything
explodes.

However, the reason for this test is to stabilise code coverage.
Apparently, Gtk(?) sometimes creates shaped windows. This had the effect
that codecov always reports random changes to code coverage, depending
on if this specific test run saw any shaped client windows or not.

Thus, by explicitly adding a test that runs a shaped client, hopefully
these random fluctuations disappear.

Hopefully-fixes: https://github.com/awesomeWM/awesome/issues/1975
Signed-off-by: Uli Schlachter <psychon@znc.in>
2018-03-12 22:53:00 -04:00
Daniel Hahler 73ebf452ec
tests: improve coverage with integration tests (#2082)
- install luacov.runner in tests/_runner.lua.
- use Lua's `dofile` to execute the test files, which will give us
  coverage for them.
- CMakeLists.txt: revert DO_COVERAGE env injection
- revert cd: make f absolute if not in source_dir
2017-11-18 01:52:48 +01:00
Uli Schlachter 5f5bf24aa8 .travis.yml: Enable even more assertions for Lua 5.3
It might be well known that test-menubar.lua fails with "cannot do calls
on non-normal thread" when run under our Lua 5.3 build with coverage
tracking enabled. This new, extra assertion catches the error earlier
and in a different way. Since more assertions means more errors caught,
let's add this.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-11-17 09:48:24 +01:00
Daniel Hahler eb5cab5cfe Travis: codecov: use LUANAME as a flag (#2085) 2017-10-24 20:59:31 +02:00
Daniel Hahler fbb5766359 Travis: checks: unset set -x (#2084) 2017-10-24 00:29:22 +02:00
Daniel Hahler 5ac6db5696 Travis: use stable SOURCE_DATE_EPOCH for predictable calendar examples (#2075)
Fixes https://github.com/awesomeWM/awesome/issues/2070.
2017-10-22 18:46:38 +02:00
Reiner Herrmann a9b65833e7 Travis: export SOURCE_DATE_EPOCH in one build job 2017-10-07 14:08:26 +02:00
Daniel Hahler 8923df4a5f build: make DO_COVERAGE a CMake variable
Travis: remove CXXFLAGS (not used), LDFLAGS (typo, not used)

Closes https://github.com/awesomeWM/awesome/pull/2001.
2017-08-29 22:24:12 +02:00
Daniel Hahler b8ad56ad81 Travis: build luarocks in /tmp also (#1995) 2017-08-16 10:57:23 +02:00
Daniel Hahler 30df31509e Travis: update luarocks: 2.3.0 => 2.4.2 (#1977) 2017-08-15 17:58:22 +02:00
Daniel Hahler 934ad741a7 tests: keep check-themes separate from check-integration (#1991)
Ref: https://github.com/awesomeWM/awesome/pull/1973#issuecomment-322183782
2017-08-14 17:18:46 +02:00
Daniel Hahler c33d85c195 Travis: update Lua/luajit; build in /tmp (#1985)
Building in /tmp avoids files to be looked at / searched for e.g. with
luacov.
2017-08-13 22:10:29 +02:00
Emmanuel Lepage Vallée 2900ea6f01 Merge pull request #1842 from psychon/lgi-check
Port lgi-check.sh to C
2017-08-12 15:59:18 -04:00
Daniel Hahler 1193007d34 Travis: remove custom AWESOME_THEME
It causes different code coverage paths, and loading for all themes is
tested by now.
2017-08-11 20:02:01 +02:00
Daniel Hahler afb81640b5 Travis: use check-integration instead of tests/run.sh (coverage builds) 2017-08-11 20:01:37 +02:00
Daniel Hahler 2effc8e8df Travis: use cluacov for improved performance
Closes https://github.com/awesomeWM/awesome/pull/1964.
2017-08-10 09:57:38 +02:00
Daniel Hahler 82fd7ea8e5 Travis: exit with 1 when check-unit-coverage fails (#1944)
Same as done in 1cdd7ef8 already, but missed this one.
2017-07-26 13:04:52 +02:00
Daniel Hahler cb10a3fe45 Travis: fix gcov (#1930)
codecov-bash runs it by default already, therefore we do not not have to
do so manually before do_codecov_gcov.
And with `do_codecov` itself, it gets disabled using `-X gcov`.
2017-07-18 10:25:34 +02:00
actionless eb7c203f99 chore(travis): use `xresources` theme on one of the test targets 2017-07-03 00:23:57 +02:00
Daniel Hahler 1cdd7ef869 Travis: use exit code 1 for failures, not errors (#1887)
Using exit code != 1 (e.g. 2 as with "make") appears to cause Travis to
consider the build job as an error ("!"), instead of a failure ("X").

Example build: https://travis-ci.org/awesomeWM/awesome/builds/248484247

    !: https://travis-ci.org/awesomeWM/awesome/jobs/248484252
        Test finished successfully
        There were 3 errors!
        make[4]: *** [CMakeFiles/check-integration] Error 1
        make[3]: *** [CMakeFiles/check-integration.dir/all] Error 2
        make[2]: *** [CMakeFiles/check-integration.dir/rule] Error 2
        make[1]: *** [check-integration] Error 2
        make: *** [check-integration] Error 2
        ++return

    X: https://travis-ci.org/awesomeWM/awesome/jobs/248484250
        Test finished successfully
        There were 3 errors!
2017-07-01 14:15:12 +02:00
Daniel Hahler 0c97d1aa95 Add spec/awful/completion_spec.lua 2017-06-26 22:45:11 +02:00
Uli Schlachter 781e68aefc .travis.yml: Move EMPTY_THEME_WHILE_LOADING=1 to another build
The combination of TEST_PREV_COMMITS=1 and EMPTY_THEME_WHILE_LOADING=1
does not work. When trying to test the previous commits, the following
error happens:

error: Your local changes to the following files would be overwritten by
checkout:
	lib/beautiful/init.lua

This local modification was done by EMPTY_THEME_WHILE_LOADING=1.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-06-23 11:42:20 +02:00
Uli Schlachter 93d5007c20 .travis.yml: Link Lua 5.3 correctly
This makes sure that the liblua.so that we built actually depends on the
libraries that it needs (libm and libdl). Previously we already tried
this, but specified "-ldl" at the beginning of the command line. Since
nothing needed this library yet, the linker just ignored it.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-06-13 15:47:07 +02:00
Uli Schlachter 26f150a66c Revert "Travis: pin lua-term to 0.4-1 to fix the Lua 5.3 build" (#1841)
This reverts commit ce3e6648ac. lua-term
was fixed in the mean time, we just forgot to unpin it.
2017-06-13 14:43:44 +02:00
Uli Schlachter eba61df4ef Also track coverage information for C code
Fixes: https://github.com/awesomeWM/awesome/issues/1364
Closes: https://github.com/awesomeWM/awesome/pull/1766
2017-05-05 01:03:01 +02:00
Uli Schlachter 348df4ef7b Fix the LuaJIT Travis build (#1769)
There's been a new LuaJIT version three days ago.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-05-04 14:30:59 +02:00
Daniel Hahler 639d6decb4 Travis: merge BUILD_APIDOC and DO_CHECKQA
ldoc was not installed for the DO_CHECKQA build.

This merges it with the BUILD_APIDOC build job, which is one of the
faster ones; installing ldoc into the DO_COVERAGE=coveralls would slow
that one down a lot.

This also moves the two slowest builds (with coverage reporting) to the
top, so they get started first.

Fixes https://github.com/awesomeWM/awesome/issues/1710.
Closes https://github.com/awesomeWM/awesome/pull/1716.
2017-04-10 21:32:47 +02:00
Uli Schlachter 98b931c1a4 Fix travis package list (#1681)
The entry "gtk+3.0" caused the following to happen:

  Note, selecting 'libcanberra-gtk3-0-dbg' for regex 'gtk+3.0'
  Note, selecting 'monodoc-gtk3.0-manual' for regex 'gtk+3.0'
  Note, selecting 'libgtk3.0-cil' for regex 'gtk+3.0'
  Note, selecting 'libavahi-ui-gtk3-0' for regex 'gtk+3.0'
  Note, selecting 'libwxgtk3.0-0-dbg' for regex 'gtk+3.0'
  Note, selecting 'libseed-gtk3-0' for regex 'gtk+3.0'
  Note, selecting 'libgtk3.0-cil-dev' for regex 'gtk+3.0'
  Note, selecting 'libcanberra-gtk3-0' for regex 'gtk+3.0'
  Note, selecting 'libinfgtk3-0.5-0' for regex 'gtk+3.0'
  Note, selecting 'libwxgtk3.0-0' for regex 'gtk+3.0'
  Note, selecting 'gir1.2-dbusmenu-gtk3-0.4' for regex 'gtk+3.0'
  Note, selecting 'libwxgtk3.0-dev' for regex 'gtk+3.0'

This was clearly not intended. Fix this by using gir1.2-gtk-3.0 instead,
which is what we actually want (GObject introspection data for GTK 3).

This pretty much reverts commit 30a527fcfd.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-03-29 18:47:44 +02:00
Kevin Zander c3461b535c gears: Move awful.util.table to gears.table (#1641)
* Move table functions out of awful.util into new gears.table

* travis: Use v9999 prefix for full requests

Make sure no newly deprecated functions are used

* Move all `awful.util.table.*` calls to `gears.table.*` calls
Move table test functions from awful/util_spec to new gears/table_spec
Change awful.util.subsets call to gears.math.subsets in awful/key.lua
2017-03-08 15:18:33 -05:00
Uli Schlachter 844bd1eb05 Test that beautiful is not used too early (#1471)
For loading a theme, beautiful.init() has to be called. We do not handle
dynamic changes of the theme, so if the theme is changed after something
was already queried, this change will not apply. This also means that
before the theme is loaded, nothing useful can be returned. In fact,
code that tries to access the theme during require() will never get a
useful value from beautiful, but just nils.

To catch this, one Travis build is modified so that an error is raised
if the theme is accessed before beautiful.init() was called.

Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-02-15 00:46:27 +01:00
Uli Schlachter 0afed66ccf Add a utility checking uses of require()s
Currently, "everything can require everything". It's an unstructured
mess which sometimes causes problems.

This commit adds a tool that enforces a white-list of require() uses. It
uses depgraph to scan the source code and then each use of require()
that is found is checked. If any violations are found, the tool returns
a failure.

This tool is wired up to a new target "make check-requires" which is
included in "make check". Thus, Travis will run this.

Reference: https://github.com/awesomeWM/awesome/issues/1400
Signed-off-by: Uli Schlachter <psychon@znc.in>
2017-02-08 08:35:43 +01:00
Daniel Hahler 8ca08981b8 Travis: fix travis_run_in_fold (#1522)
It seems that when running travis_fold_end in case of a failure the
Travis job will be marked as "errored", but not "failed".

Ref: https://github.com/awesomeWM/awesome/pull/1516#issuecomment-277448575
2017-02-04 16:35:53 +01:00
Emmanuel Lepage Vallee 594cb6fc5d Do not cat luacov on travis, but test for it 2017-01-08 21:28:05 +01:00
Daniel Hahler 0863e52c1d do_codecov: from source dir to handle relative spec/ paths 2017-01-08 20:34:13 +01:00
Daniel Hahler ec9a981dd7 tests: move coverage setup into tests/run.sh
This allows for `DO_COVERAGE=1 make check` with local tests (where
`CI=true` is not given).
It uses the new environment variables to configure the default theme,
instead of creating a temporary config/theme.
2017-01-08 20:34:13 +01:00