diff options
author | Johan Dahlin <johan@src.gnome.org> | 2005-01-10 16:25:46 +0000 |
---|---|---|
committer | Johan Dahlin <johan@src.gnome.org> | 2005-01-10 16:25:46 +0000 |
commit | 64e07ba0b2a4acb84f61e5688d3537f4a38e09e6 (patch) | |
tree | 9daa6194ea657c79cdf0580528bcbd57ed66a38b /tests/common.py | |
parent | dc62a03bbc1b3a8271c24ca0887e7285a0ab4848 (diff) | |
download | pygobject-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.py | 74 |
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 + |