1373 Commits

Author SHA1 Message Date
Benedikt Heine
24e0e25ec2 Add tests for seeping important notifications 2018-11-24 15:22:18 +01:00
Benedikt Heine
acee260624 Add test for pausing behavior 2018-11-24 15:22:18 +01:00
Benedikt Heine
3fbd1fc589 Add tests for fullscreen behavior 2018-11-24 15:22:18 +01:00
Benedikt Heine
2c1de2dc22 Add tests for checking notifications timing out 2018-11-24 15:22:18 +01:00
Benedikt Heine
e6e0d881eb Test stacking 2018-11-24 15:22:18 +01:00
Benedikt Heine
f1e391673a Add queue history tests 2018-11-24 15:22:18 +01:00
Benedikt Heine
5cf9e51ada Test queue length reporting functions 2018-11-24 15:22:18 +01:00
Benedikt Heine
662b22e5de Test sleep times for get_next_datachange 2018-11-24 15:22:18 +01:00
Benedikt Heine
140278a36f Introduce a status structure 2018-11-24 15:22:18 +01:00
Benedikt Heine
ef08f6aa66 Test notification closing in queues 2018-11-24 15:22:18 +01:00
Benedikt Heine
294cfdfa47 Test insertion mechanisms 2018-11-24 15:22:18 +01:00
Benedikt Heine
fb5926b6fa Add tests for queue teardown 2018-11-24 15:22:18 +01:00
Benedikt Heine
e04003e291 Add Framework for queues tests 2018-11-24 15:22:18 +01:00
Benedikt Heine
cb16fe9d96 Fix DoS in notification_format_message
When using a format with a trailing % character, dunst ends in an
endless loop, searching for a % char, while pointing exactly with the
haystack on the % character.

Increasing the substring pointer will shift the pointer forwards onto
the actual NULL character and stop the loop.
2018-11-24 15:22:18 +01:00
Nikos Tsipinakis
5f3960b171 Fix id replacement not assigning id if no notification has it
In previous releases when a replace request came in with an id that
doesn't exist we created a new notification with it anyway.
This is used by some to imitate the behaviour of `stack_tag` and while
not recommended (as it will break if another notification gets assigned
that id) we want to avoid such subtle breakages without consideration.

This bug was introduced in d879d70da060ea78fe735d62249a0afdf3e61bc8.
2018-11-24 15:22:18 +01:00
Benedikt Heine
28f30d182b Rename queues teardown function
Make it consistent with the queues_init function
2018-11-23 13:50:46 +01:00
Nikos Tsipinakis
d786381cb0
Merge pull request #562 from bebehei/buildsystem
Minor changes & fixes
2018-11-22 18:02:06 +02:00
Benedikt Heine
e82b7bfb2d Use return value as success indicator 2018-11-21 10:55:44 +01:00
Benedikt Heine
92543cce22 Remove GLib requirement check
The requirement for GLib above 2.36 is already included in the
configuration file. So this type check is redundant.
2018-11-20 19:50:15 +01:00
Benedikt Heine
20df6f2103 Remove deprecated .c.o rule 2018-11-19 17:19:35 +01:00
Benedikt Heine
0410a9369b
Merge pull request #502 from bebehei/coveragereport
Coveragereport and test suite improvements
2018-11-18 13:34:57 +01:00
Benedikt Heine
ed341dfca3 Add S2US macro 2018-11-15 15:17:48 +01:00
Benedikt Heine
9b45a111f1 Sort includes alphabetically 2018-11-15 15:17:48 +01:00
Benedikt Heine
feb62a0c4c Remove displaced comment 2018-11-15 15:17:48 +01:00
Benedikt Heine
a6abfdf7c5 Include all local files relatively 2018-11-15 15:17:48 +01:00
Benedikt Heine
8c192f3c28 Make tests runnable from everywhere 2018-11-15 15:17:46 +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
b4c319350a Support gcovr to generate coverage reports
The coveralls service is a great webservice, but like the testsuite it's
better to have an alternative, which makes it possible to process it
locally. This is faster and doesn't even require a full push iteration.

gcovr is easy to get:

pip install gcovr
make test-coverage-report
2018-11-15 15:17:21 +01:00
Benedikt Heine
787cebbc80 Reorder .gitinore 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
Nikos Tsipinakis
27c6a1682d
Merge pull request #552 from Gravemind/x-canonical-private-synchronous
Implement x-canonical-private-synchronous hint
2018-11-11 19:55:05 +02:00
Nikos Tsipinakis
f0b047497e
Merge pull request #560 from bebehei/rework-utils
Add docstrings to the functions in markup and utils
2018-11-11 19:49:39 +02:00
Benedikt Heine
2d2a9c893c Add doxygen docs for markup and utils files 2018-11-11 17:27:11 +01:00
Benedikt Heine
413c0d68af Use assertions and NULL checks in markup and utils 2018-11-11 17:26:14 +01:00
Benedikt Heine
90b04a22dd Use g_malloc instead of malloc
g_malloc won't return NULL, but abort the program. As we don't check for
NULl, this is the better solution.
2018-11-11 15:18:56 +01:00
Benedikt Heine
ae1b20881e Use isspace to test for whitespace 2018-11-11 15:18:56 +01:00
Benedikt Heine
d8d457f500 Remove string_replace()
string_replace_at does almost the same and string_replace is only used
once, where additionally string_replace_at would be the better choice.
2018-11-11 15:18:56 +01:00
Jordan Galby
d879d70da0 Implement stack_tag, implementing x-canonical-private-synchronous
Implements "x-dunst-stack-tag", "x-canonical-private-synchronous",
"private-synchronous", and "synchronous" hints via the "stack_tag" feature.
2018-11-10 14:59:32 +01:00
Nikos Tsipinakis
b805273fb9
Merge pull request #558 from tsipinakis/feature/markup-escape
Implement smarter markup escaping
2018-11-06 21:04:35 +02:00
Nikos Tsipinakis
2c6cb8ebf3 Implement smarter markup escaping
Automatically detect and escape invalid and unsupported & entities.

Fixes #546
2018-11-06 20:49:47 +02:00
Nikos Tsipinakis
5eb34fae4e
Merge pull request #556 from bebehei/cleanup
Cleanup
2018-11-01 22:14:41 +02:00
Benedikt Heine
851f8a7339 Rename dbus methods consistently 2018-10-31 15:19:24 +01:00
Benedikt Heine
9cd600f0bf Remove unused function get_filename_ext
This function had been copied 100% out of the stackoverflow answer
https://stackoverflow.com/a/24976006
2018-10-31 15:19:24 +01:00
Benedikt Heine
a24a464fbc Remove superfluous pause_signal_handler func 2018-10-31 15:19:24 +01:00
Benedikt Heine
08019dc268 Move context_menu into right header 2018-10-31 15:19:24 +01:00
Benedikt Heine
63163fb498
Merge pull request #554 from anbenson/master
Add error message for failed regex initialization
2018-10-30 12:43:36 +01:00
Andrew Benson
f48a939dbf Add error message for failed regex initialization 2018-10-29 07:32:19 -07:00
Nikos Tsipinakis
f12f1094ed
Merge pull request #550 from bebehei/misc
Misc patches
2018-10-10 17:59:30 +03:00
Benedikt Heine
8ba4983ce0
Merge pull request #549 from bebehei/threaded-dmenu
Threaded dmenu

Create a refcounting mechanism for notifications and "lock" them while displayed in dmenu.

Fixes #456
2018-10-10 16:49:28 +02:00