From 026669aa935392b3ce55f376fbcd6c7e4f30dd4a Mon Sep 17 00:00:00 2001 From: Alex Willmer Date: Fri, 20 Oct 2017 19:48:26 +0100 Subject: [PATCH] tests: Fix GetModuleViaPkgutilTest fetching .pyc On my laptop (Ubuntu 17.10, Python 2.7.14 in a virtualenv), `test_regular_mod` fails with ``` AssertionError: "\nimport sys\n\n\ndef say_hi():\n print 'hi'\n" != '\x03\xf3\r\n\xbbW\xd5Yc\x00\x00\x00\x00\x00\x00\x00\x00\x02\x00\x00\x00@\x00\x00\x00s\x19\x00\x00\x00d\x00\x00d\x01\x00l\x00\x00Z\x00\x00d\x02\x00\x84\x00\x00Z\x01\x00d\x01\x00S(\x03\x00\x00\x00i\xff\xff\xff\xffNc\x00\x00\x00\x00\x00\x00\x00\x00\x01\x00\x00\x00C\x00\x00\x00s\t\x00\x00\x00d\x01\x00GHd\x00\x00S(\x02\x00\x00\x00Nt\x02\x00\x00\x00hi(\x00\x00\x00\x00(\x00\x00\x00\x00(\x00\x00\x00\x00(\x00\x00\x00\x00sF\x00\x00\x00/home/alex/src/mitogen/tests/data/module_finder_testmod/regular_mod.pyt\x06\x00\x00\x00say_hi\x05\x00\x00\x00s\x02\x00\x00\x00\x00\x01(\x02\x00\x00\x00t\x03\x00\x00\x00sysR\x01\x00\x00\x00(\x00\x00\x00\x00(\x00\x00\x00\x00(\x00\x00\x00\x00sF\x00\x00\x00/home/alex/src/mitogen/tests/data/module_finder_testmod/regular_mod.pyt\x08\x00\x00\x00\x02\x00\x00\x00s\x02\x00\x00\x00\x0c\x03' ``` `__file__` contains the path of the compiled `.pyc`, not the `.py` source file. --- tests/module_finder_test.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/tests/module_finder_test.py b/tests/module_finder_test.py index 9cc6c58a..ef58fa06 100644 --- a/tests/module_finder_test.py +++ b/tests/module_finder_test.py @@ -1,5 +1,6 @@ - +import inspect import unittest + import mitogen.master import testlib @@ -74,7 +75,7 @@ class GetModuleViaPkgutilTest(testlib.TestCase): path, src, is_pkg = self.call('module_finder_testmod.regular_mod') self.assertEquals(path, testlib.data_path('module_finder_testmod/regular_mod.py')) - self.assertEquals(src, file(regular_mod.__file__).read()) + self.assertEquals(src, inspect.getsource(regular_mod)) self.assertFalse(is_pkg)