diff options
author | Marcelo Lira <marcelo.lira@openbossa.org> | 2011-01-19 11:20:29 -0300 |
---|---|---|
committer | Hugo Parente Lima <hugo.pl@gmail.com> | 2012-03-08 16:12:54 -0300 |
commit | ea66e79f338202f473bc1e95e21c126bbb63756a (patch) | |
tree | 62548dd246ed9b7fa30f4d0dc7794701586bf90b | |
parent | 517800c3cd93c48d897ac868505e22e2e972aa22 (diff) |
Added test for module reloading.
Reviewed by Hugo Parente <hugo.lima@openbossa.org>
Reviewed by Renato Araújo <renato.filho@openbossa.org>
-rw-r--r-- | tests/samplebinding/module_reload_test.py | 42 | ||||
-rw-r--r-- | tests/samplebinding/test_module_template.py | 10 |
2 files changed, 52 insertions, 0 deletions
diff --git a/tests/samplebinding/module_reload_test.py b/tests/samplebinding/module_reload_test.py new file mode 100644 index 000000000..1c870fc0a --- /dev/null +++ b/tests/samplebinding/module_reload_test.py @@ -0,0 +1,42 @@ +import os +import sys +import shutil +import unittest + +orig_path = os.path.join(os.path.dirname(__file__)) +workdir = os.getcwd() +src = os.path.join(orig_path, 'test_module_template.py') +dst = os.path.join(workdir, 'test_module.py') +shutil.copyfile(src, dst) +sys.path.append(workdir) + +def increment_module_value(): + modfile = open(dst, 'a') + modfile.write('MyOtherObjectType.value += 1' + os.linesep) + modfile.flush() + modfile.close() + os.remove(dst + 'c') + +class TestModuleReloading(unittest.TestCase): + + def testModuleReloading(self): + '''Test module reloading with on-the-fly modifications.''' + + import test_module + self.assertEqual(test_module.MyOtherObjectType.value, 10) + + increment_module_value() + reload(sys.modules['test_module']) + self.assertEqual(test_module.MyOtherObjectType.value, 11) + + reload(sys.modules['test_module']) + self.assertEqual(test_module.MyOtherObjectType.value, 11) + + increment_module_value() + reload(sys.modules['test_module']) + self.assertEqual(test_module.MyOtherObjectType.value, 12) + +if __name__ == "__main__": + unittest.main() + + diff --git a/tests/samplebinding/test_module_template.py b/tests/samplebinding/test_module_template.py new file mode 100644 index 000000000..b2e917de4 --- /dev/null +++ b/tests/samplebinding/test_module_template.py @@ -0,0 +1,10 @@ +from other import * +from sample import * + + +class MyObjectType(ObjectType): + pass + +class MyOtherObjectType(OtherObjectType): + value = 10 + |