summaryrefslogtreecommitdiffstats
path: root/tests/common.py
diff options
context:
space:
mode:
authorJohan Dahlin <johan@src.gnome.org>2005-01-10 16:25:46 +0000
committerJohan Dahlin <johan@src.gnome.org>2005-01-10 16:25:46 +0000
commit64e07ba0b2a4acb84f61e5688d3537f4a38e09e6 (patch)
tree9daa6194ea657c79cdf0580528bcbd57ed66a38b /tests/common.py
parentdc62a03bbc1b3a8271c24ca0887e7285a0ab4848 (diff)
downloadpygobject-64e07ba0b2a4acb84f61e5688d3537f4a38e09e6.tar.gz
pygobject-64e07ba0b2a4acb84f61e5688d3537f4a38e09e6.tar.xz
pygobject-64e07ba0b2a4acb84f61e5688d3537f4a38e09e6.zip
Make testsuite work and do things the way they were supposed to be done
* tests/Makefile.am: * tests/common.py: * tests/runtests.py: * tests/test_thread.py: Make testsuite work and do things the way they were supposed to be done from the beginning.
Diffstat (limited to 'tests/common.py')
-rw-r--r--tests/common.py74
1 files changed, 59 insertions, 15 deletions
diff --git a/tests/common.py b/tests/common.py
index 237e6f2..9429579 100644
--- a/tests/common.py
+++ b/tests/common.py
@@ -1,23 +1,67 @@
import os
import sys
-if not os.environ.has_key('DIST_CHECK'):
- sys.path.insert(0, '..')
- sys.path.insert(0, '../gobject')
+def importModules(buildDir, srcDir):
+ # Be very careful when you change this code, it's
+ # fragile and the order is really significant
+
+ # ltihooks
+ sys.path.insert(0, srcDir)
+ # atk, pango
+ sys.path.insert(0, buildDir)
+ # gobject
+ sys.path.insert(0, os.path.join(buildDir, 'gobject'))
+ # _gtk, keysyms, glade
+ sys.path.insert(0, os.path.join(buildDir, 'gtk'))
+ # testhelper
+ sys.path.insert(0, os.path.join(buildDir, 'tests'))
-import ltihooks
+ import ltihooks
+
+ gobject = importModule('gobject', buildDir, 'gobject/gobject.la')
+ atk = importModule('atk', buildDir)
+ pango = importModule('pango', buildDir)
+ gtk = importModule('gtk', buildDir, 'gtk')
+ gdk = importModule('gtk.gdk', buildDir, '_gdk.la')
+ try:
+ glade = importModule('gtk.glade', buildDir, 'glade.la')
+ except ImportError:
+ glade = None
+
+ testhelper = importModule('testhelper', '.')
+
+ ltihooks.uninstall()
+ del ltihooks
+
+ globals().update(locals())
+
+ os.environ['PYGTK_USE_GIL_STATE_API'] = ''
+ gobject.threads_init()
-import gobject
-import atk
-import pango
+def importModule(module, directory, name=None):
+ global isDistCheck
-import gtk
-from gtk import gdk
-try:
- from gtk import glade
-except ImportError:
- glade = None
+ if '.' in module:
+ fromlist = '.'.join(module.split('.')[:-1])
+ else:
+ fromlist = None
-import testhelper
+ if not name:
+ name = module + '.la'
-ltihooks.uninstall()
+ obj = __import__(module, {}, {}, fromlist)
+ if hasattr(obj, '__file__'):
+ location = obj.__file__
+ else:
+ package = __import__(fromlist)
+ location = os.path.join(package.__file__, name)
+
+ current = os.getcwd()
+ expected = os.path.abspath(os.path.join(current, location))
+ current = os.path.abspath(location)
+ if current != expected:
+ raise AssertionError('module %s imported from wrong location. Expected %s, got %s' % (
+ module, expected, current))
+
+ return obj
+