[pygobject] tests: always call require_version; add TEST_GTK_VERSION env var
- From: Christoph Reiter <creiter src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [pygobject] tests: always call require_version; add TEST_GTK_VERSION env var
- Date: Sun, 2 Apr 2017 13:55:57 +0000 (UTC)
commit c3159accf3faa2bd804ac22ec7ac93e62b158a3e
Author: Christoph Reiter <creiter src gnome org>
Date: Sun Apr 2 13:17:36 2017 +0200
tests: always call require_version; add TEST_GTK_VERSION env var
Set the versions in runtests.py instead of repeating it in every
test module.
Add a new TEST_GTK_VERSION env var which defaults to "3.0".
Allows to run tests with gtk4 using "make check TEST_GTK_VERSION=4.0"
tests/compat_test_pygtk.py | 6 ------
tests/runtests.py | 26 ++++++++++++++++++++++++++
tests/test_atoms.py | 7 +++----
tests/test_overrides_gtk.py | 8 +++-----
tests/test_overrides_pango.py | 7 +------
tests/test_properties.py | 6 +-----
tests/test_repository.py | 4 ----
7 files changed, 34 insertions(+), 30 deletions(-)
---
diff --git a/tests/compat_test_pygtk.py b/tests/compat_test_pygtk.py
index 636b0e4..f27027a 100644
--- a/tests/compat_test_pygtk.py
+++ b/tests/compat_test_pygtk.py
@@ -4,13 +4,7 @@
import unittest
import base64
-import gi
-
try:
- try:
- gi.require_version("Gtk", "3.0")
- except ValueError as e:
- raise ImportError(e)
from gi.repository import Gtk
from gi.repository import Pango
from gi.repository import Atk
diff --git a/tests/runtests.py b/tests/runtests.py
index 92bed2e..fda4dd1 100755
--- a/tests/runtests.py
+++ b/tests/runtests.py
@@ -52,6 +52,32 @@ repo = GIRepository.Repository.get_default()
repo.prepend_library_path(os.path.join(tests_builddir, ".libs"))
repo.prepend_search_path(tests_builddir)
+
+def try_require_version(namespace, version):
+ try:
+ gi.require_version(namespace, version)
+ except ValueError:
+ # prevent tests from running with the wrong version
+ sys.modules["gi.repository." + namespace] = None
+
+
+# Optional
+try_require_version("Gtk", os.environ.get("TEST_GTK_VERSION", "3.0"))
+try_require_version("Gdk", os.environ.get("TEST_GTK_VERSION", "3.0"))
+try_require_version("GdkPixbuf", "2.0")
+try_require_version("Pango", "1.0")
+try_require_version("PangoCairo", "1.0")
+try_require_version("Atk", "1.0")
+
+# Required
+gi.require_versions({
+ "GIMarshallingTests": "1.0",
+ "Regress": "1.0",
+ "GLib": "2.0",
+ "Gio": "2.0",
+ "GObject": "2.0",
+})
+
# Load tests.
if 'TEST_NAMES' in os.environ:
names = os.environ['TEST_NAMES'].split()
diff --git a/tests/test_atoms.py b/tests/test_atoms.py
index e6c8aba..02b0a1d 100644
--- a/tests/test_atoms.py
+++ b/tests/test_atoms.py
@@ -3,12 +3,11 @@ import sys
import unittest
try:
- import gi
- gi.require_version('Gtk', '3.0')
from gi.repository import Gtk, Atk, Gdk
- (Atk, Gdk) # pyflakes
-except (ValueError, ImportError):
+except ImportError:
Gdk = None
+ Atk = None
+ Gtk = None
from helper import capture_glib_deprecation_warnings
diff --git a/tests/test_overrides_gtk.py b/tests/test_overrides_gtk.py
index 591391e..9a8b4fa 100644
--- a/tests/test_overrides_gtk.py
+++ b/tests/test_overrides_gtk.py
@@ -12,20 +12,18 @@ from compathelper import _unicode, _bytes
from helper import ignore_gi_deprecation_warnings, capture_glib_warnings, \
capture_glib_deprecation_warnings
-import gi
import gi.overrides
import gi.types
from gi.repository import GLib, GObject
try:
- gi.require_version('Gtk', '3.0')
- gi.require_version('GdkPixbuf', '2.0')
from gi.repository import Gtk, GdkPixbuf, Gdk
- Gtk # pyflakes
PyGTKDeprecationWarning = Gtk.PyGTKDeprecationWarning
-except (ValueError, ImportError):
+except ImportError:
Gtk = None
PyGTKDeprecationWarning = None
+ GdkPixbuf = None
+ Gdk = None
@contextlib.contextmanager
diff --git a/tests/test_overrides_pango.py b/tests/test_overrides_pango.py
index 5177213..5c09a6a 100644
--- a/tests/test_overrides_pango.py
+++ b/tests/test_overrides_pango.py
@@ -4,14 +4,9 @@
import unittest
try:
- import gi
- gi.require_version('Pango', '1.0')
- gi.require_version('PangoCairo', '1.0')
from gi.repository import Pango
from gi.repository import PangoCairo
- Pango
- PangoCairo
-except (ValueError, ImportError):
+except ImportError:
Pango = None
PangoCairo = None
diff --git a/tests/test_properties.py b/tests/test_properties.py
index 08af7a4..3fb5749 100644
--- a/tests/test_properties.py
+++ b/tests/test_properties.py
@@ -8,7 +8,6 @@ import types
import unittest
import tempfile
-import gi
from gi.repository import GObject
from gi.repository.GObject import ParamFlags, GType, new
from gi.repository.GObject import \
@@ -24,12 +23,9 @@ from gi.repository.GLib import \
from gi.repository import Gio
from gi.repository import GLib
-gi.require_version('GIMarshallingTests', '1.0')
from gi.repository import GIMarshallingTests
-from gi import _propertyhelper as propertyhelper
-
-gi.require_version('Regress', '1.0')
from gi.repository import Regress
+from gi import _propertyhelper as propertyhelper
if sys.version_info < (3, 0):
TEST_UTF8 = "\xe2\x99\xa5"
diff --git a/tests/test_repository.py b/tests/test_repository.py
index 1cd440e..d7b6d2e 100644
--- a/tests/test_repository.py
+++ b/tests/test_repository.py
@@ -23,10 +23,6 @@
import unittest
import collections
-import gi
-
-gi.require_version('GIRepository', '2.0')
-
import gi._gi as GIRepository
from gi.module import repository as repo
from gi.repository import GObject
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]