summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2018-05-09 18:17:27 -0300
committerGeorges Basile Stavracas Neto <georges.stavracas@gmail.com>2018-05-09 18:52:48 -0300
commiteea231dc1c2ea08a294de2a6c159bcc0869560c7 (patch)
tree1bfdbd8cd20762b054739c41172a8148e53f0507
parent8404f526b6c145e93d091ff7e79b6aeddf154e9c (diff)
downloadgnome-control-center-eea231dc1c2ea08a294de2a6c159bcc0869560c7.tar.gz
tests: Run each datetime test under Xvfb
That way, gtk_init() cannot fail.
-rw-r--r--tests/datetime/meson.build10
-rw-r--r--tests/datetime/test-datetime.py54
2 files changed, 62 insertions, 2 deletions
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 <http://www.gnu.org/licenses/>.
+#
+# Authors: Benjamin Berg <bberg@redhat.com>
+# Georges Basile Stavracas Neto <georges@endlessm.com>
+
+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