28 Commits

Author SHA1 Message Date
Nikos Tsipinakis
2fb1de8f02 Test installation
Ensure that dunst is installed correctly to avoid bugs like #600.
2019-02-05 23:11:35 +02:00
Benedikt Heine
a66ef34546 Do not use clang for coverage
When using clang, this will create a race condition between
clang/gcc builds. Coveralls will take the first one. As GCC and clang
are counting line coverage differently, coveralls regularly fails.
2018-12-30 17:07:04 +01:00
Benedikt Heine
52885ca6ad Use a hashtable for notification actions
As g_strv_contains is only available in GLib >= 2.44, we have to bump
the GLib requirements and the CI distros, too.
2018-12-29 14:30:55 +01:00
Benedikt Heine
2e9d8300de Include full c source to assert static objects
To assert static objects, we either have to add a method into the
object under test itself and recompile on a test run with the activated test
method (but also recompile after tests, so that method is gone on
release builds).

Alternatively we can include the whole .c file in our test
infrastructure and save the object in the test directory. So there's no
necessity to clean it up prior to a release build and it's contained
away.

This requires, that the test folder isn't excluded in coveralls.
2018-11-15 15:17:21 +01:00
Benedikt Heine
b4ce81b1c9 Move test coverage generation into Makefile
Add the necessary compiler flags to the Makefile to actually make
coverage reports available locally, too.

The coverage files have to get cleaned every time before the test gets
run. Otherwise, it would sum up the coverage over multiple test runs.
2018-11-15 15:17:16 +01:00
Benedikt Heine
eba6913faa Test version number in unittests
Enforces a version number as intended in the Makefile. This check is
necessary, as there is no ability to check via Macros for an empty
string.
2018-11-12 15:32:58 +01:00
Benedikt Heine
403e4cc176 Remove libxdg-basedir dependency
GLib's g_get_user_config_dir function does exactly the same thing and
we don't need libxdg-basedir for something else.
2018-10-05 02:10:41 +02:00
Nikos Tsipinakis
8714a66a5b Exclude test directory from code coverage
Tests always run almost 100%, and there is no need to test our test
suite.
2018-03-09 19:54:46 +02:00
Nikos Tsipinakis
764761132f Drop travis IRC notifications
They aren't of much use and I don't think the users on IRC appreciate
the occasional notification spam when something breaks.
2018-03-09 18:19:35 +02:00
Nikos Tsipinakis
1831e9d015 Run code coverage tests without optimizations
This way the code coverage results also include code paths that are
optimized out by the compiler at higher optimization levels.
2018-03-09 18:18:05 +02:00
Nikos Tsipinakis
533f47f4c6 Fix coveralls crashing when building with clang
Coveralls defaulted to using gcov for all builds even when using clang
in which case it should have used llvm-cov. Fix this by specifying
different coveralls commands for each compiler.

Additionally, move the coverage to commands to the after_success section
to avoid sending coverage data when the build failed.
2018-03-09 18:15:26 +02:00
Benedikt Heine
6bf886d437 Add Doxygen support 2018-02-22 20:08:00 +01:00
Benedikt Heine
1d39aa348c Add valgrind to travis configuration and check for leaks 2017-12-19 11:37:28 +01:00
Nikos Tsipinakis
885245a1ed Fix indentation in travis.yml
Indentation in travis.yml was inconsistent, update it to consistently
use 2 spaces.

I considered using 4 spaces to be more consistent with the rest of the
project but it looks too spaced out and doesn't suit YAML in my opinion.
2017-12-19 06:38:24 +02:00
Nikos Tsipinakis
74c3330669 Add coveralls
Send test coverage statistics to coveralls to provide a visual way to
monitor the progress of our testing suite.
2017-12-19 06:38:24 +02:00
Benedikt Heine
1091a976f2 travis: also build dunstify 2017-10-22 04:11:34 +02:00
Benedikt Heine
1cb60e0dd7 Treat warnings in travis as fatal 2017-10-22 02:53:13 +02:00
Benedikt Heine
855d4bb860 depend on gtk3 instead of gtk2 2017-07-13 15:01:52 +02:00
Nikos Tsipinakis
b06475b4aa Remove remnants from the compile-time multi-monitor support
When the logic to use a setting to decide between RandR and xinerama
apparently the variable in config.mk and the travis tests were never
removed.
2017-07-12 16:45:04 +03:00
Nikos Tsipinakis
17e1dbf246 Use container-based builds with travis
Since we only use sudo for installing packages, start using the apt
travis addon for the installation in order to allow container-based
builds to be used for testing dunst which should theoretically have a
faster boot time.
2017-04-02 19:41:36 +03:00
Nikos Tsipinakis
06c4cf6d4d Make travis compile and test using all multimon extensions
Even without tests covering the x11 part of dunst, compiling with
different multi-monitor libraries should catch some of the most common
mistakes.
2017-04-02 19:41:36 +03:00
Nikos Tsipinakis
c445d1477c Make travis only notify if the build changes status
Change the behaviour of travis to only notify if the build status
changes. The previous behaviour which was notifying for every build
regardless of status added a lot of unnecessary noise to the IRC
channel.
2017-04-02 19:41:36 +03:00
Nikos Tsipinakis
3c38741e71 Remove unused dependencies
Remove xext and xft as a dependency since they are not currently used
and probably haven't been used a while.

Also remove freetype2 from the pkg-config list, while it is required by
pangocairo it should be included from the pkg-config --cflags call.
2017-04-01 18:52:15 +03:00
Sascha kruse
a44a870728 travis: irc notifications 2017-01-13 19:10:12 +01:00
Sascha kruse
88760c98bd .travis.yml: add missing config 2017-01-13 19:04:34 +01:00
Sascha kruse
36e008d3ac travis: use ubuntu 14.04
on ubuntu 12.04 the dependencies are too old
2017-01-13 18:51:26 +01:00
Sascha kruse
5b34cc2455 .travis.yml: explicitly list dependencies 2017-01-13 18:42:08 +01:00
Sascha kruse
d468e3ed5c initial .travis.yml 2017-01-13 18:37:01 +01:00