From eea231dc1c2ea08a294de2a6c159bcc0869560c7 Mon Sep 17 00:00:00 2001 From: Georges Basile Stavracas Neto Date: Wed, 9 May 2018 18:17:27 -0300 Subject: [PATCH] tests: Run each datetime test under Xvfb That way, gtk_init() cannot fail. --- tests/datetime/meson.build | 10 ++++-- tests/datetime/test-datetime.py | 54 +++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+), 2 deletions(-) create mode 100644 tests/datetime/test-datetime.py diff --git a/tests/datetime/meson.build b/tests/datetime/meson.build index 4b2b03b36..fd0896400 100644 --- a/tests/datetime/meson.build +++ b/tests/datetime/meson.build @@ -8,6 +8,8 @@ test_units = [ includes = [top_inc, include_directories('../../panels/datetime')] env = [ 'G_MESSAGES_DEBUG=all', + 'BUILDDIR=' + meson.current_build_dir(), + 'TOP_BUILDDIR=' + meson.build_root() ] cflags = [ '-DTEST_SRCDIR="@0@"'.format(meson.current_source_dir()), @@ -23,7 +25,11 @@ foreach unit: test_units link_with : [datetime_panel_lib], c_args : cflags ) - - test(unit, exe, env: env) endforeach +test( + 'test-datetime', + find_program('test-datetime.py'), + env : env, + timeout : 10 +) \ No newline at end of file diff --git a/tests/datetime/test-datetime.py b/tests/datetime/test-datetime.py new file mode 100644 index 000000000..c478374a8 --- /dev/null +++ b/tests/datetime/test-datetime.py @@ -0,0 +1,54 @@ +#!/usr/bin/python3 +# Copyright © 2018 Red Hat, Inc +# 2018 Endless Mobile, Inc +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +# Authors: Benjamin Berg +# Georges Basile Stavracas Neto + +import os +import sys +import unittest + +try: + import dbusmock +except ImportError: + sys.stderr.write('You need python-dbusmock (http://pypi.python.org/pypi/python-dbusmock) for this test suite.\n') + sys.exit(1) + +# Add the shared directory to the search path +sys.path.append(os.path.join(os.path.dirname(__file__), '..', 'shared')) + +from gtest import GTest +from x11session import X11SessionTestCase + +BUILDDIR = os.environ.get('BUILDDIR', os.path.join(os.path.dirname(__file__))) + + +class EndianessTestCase(X11SessionTestCase, GTest): + g_test_exe = os.path.join(BUILDDIR, 'test-endianess') + + +class TimezoneTestCase(X11SessionTestCase, GTest): + g_test_exe = os.path.join(BUILDDIR, 'test-timezone') + + +class TimezoneGfxTestCase(X11SessionTestCase, GTest): + g_test_exe = os.path.join(BUILDDIR, 'test-timezone-gfx') + + +if __name__ == '__main__': + _test = unittest.TextTestRunner(stream=sys.stdout, verbosity=2) + unittest.main(testRunner=_test) \ No newline at end of file