diff options
Diffstat (limited to 'tests/QtGui/pyside_reload_test.py')
-rw-r--r-- | tests/QtGui/pyside_reload_test.py | 32 |
1 files changed, 23 insertions, 9 deletions
diff --git a/tests/QtGui/pyside_reload_test.py b/tests/QtGui/pyside_reload_test.py index ca12b8ba8..3fd593c63 100644 --- a/tests/QtGui/pyside_reload_test.py +++ b/tests/QtGui/pyside_reload_test.py @@ -2,6 +2,7 @@ import os import sys import shutil import unittest +import py3kcompat as py3k orig_path = os.path.join(os.path.dirname(__file__)) workdir = os.getcwd() @@ -10,12 +11,25 @@ dst = os.path.join(workdir, 'test_module.py') shutil.copyfile(src, dst) sys.path.append(workdir) +def reload_module(moduleName): + if py3k.IS_PY3K: + import imp + imp.reload(moduleName) + else: + reload(moduleName) + def increment_module_value(): modfile = open(dst, 'a') - modfile.write('MyQWidget.value += 1' + os.linesep) + modfile.write('Sentinel.value += 1' + os.linesep) modfile.flush() modfile.close() - os.remove(dst + 'c') + if py3k.IS_PY3K: + import imp + cacheFile = imp.cache_from_source(dst) + else: + cacheFile = dst + 'c' + + os.remove(cacheFile) class TestModuleReloading(unittest.TestCase): @@ -23,18 +37,18 @@ class TestModuleReloading(unittest.TestCase): '''Test module reloading with on-the-fly modifications.''' import test_module - self.assertEqual(test_module.MyQWidget.value, 10) + self.assertEqual(test_module.Sentinel.value, 10) increment_module_value() - reload(sys.modules['test_module']) - self.assertEqual(test_module.MyQWidget.value, 11) + reload_module(sys.modules['test_module']) + self.assertEqual(test_module.Sentinel.value, 11) - reload(sys.modules['test_module']) - self.assertEqual(test_module.MyQWidget.value, 11) + reload_module(sys.modules['test_module']) + self.assertEqual(test_module.Sentinel.value, 11) increment_module_value() - reload(sys.modules['test_module']) - self.assertEqual(test_module.MyQWidget.value, 12) + reload_module(sys.modules['test_module']) + self.assertEqual(test_module.Sentinel.value, 12) if __name__ == "__main__": unittest.main() |