tests: Add comprehensive tests for libeos-parental-controls

These test get/set behaviour of EpcAppFilter, GAppInfo support, and
various error handling paths and corner cases.

With these tests, coverage of app-filter.c is:
 • Lines: 97%
 • Functions: 100%
 • Branches: 57.5%

The branch coverage is not correctly reported, as it factors in the
failure branches for g_return_if_fail() precondition assertions, which
we deliberately do not test. With those branches manually excluded,
branch coverage is around 89% instead.

This adds libglib-testing as a subproject dependency, for its
GtDBusQueue. It adds gio-unix-2.0 as a dependency of the app-filter
tests, in order to be able to construct GDesktopAppInfos.

Signed-off-by: Philip Withnall <withnall@endlessm.com>

https://phabricator.endlessm.com/T24004
This commit is contained in:
Philip Withnall 2018-12-10 15:09:51 +00:00
parent b932f443d5
commit a2c2965d25
6 changed files with 1205 additions and 1 deletions

View file

@ -1,8 +1,10 @@
deps = [
dependency('gio-2.0', version: '>= 2.44'),
dependency('gio-unix-2.0', version: '>= 2.44'),
dependency('glib-2.0', version: '>= 2.54.2'),
dependency('gobject-2.0', version: '>= 2.44'),
libeos_parental_controls_dep,
libglib_testing_dep,
]
envs = test_env + [
@ -11,7 +13,7 @@ envs = test_env + [
]
test_programs = [
['app-filter', [], deps],
['app-filter', ['accounts-service-iface.h'], deps],
]
installed_tests_metadir = join_paths(datadir, 'installed-tests',