[Python-checkins] cpython: Issue #14599: Make test_reprlib robust against import cache race

brett.cannon python-checkins at python.org
Tue Apr 17 02:48:56 CEST 2012


http://hg.python.org/cpython/rev/eae7cc54d28b
changeset: 76369:eae7cc54d28b
user: Brett Cannon <brett at python.org>
date: Mon Apr 16 20:48:50 2012 -0400
summary:
 Issue #14599: Make test_reprlib robust against import cache race
conditions when regrtest is run with its -j option.
files:
 Lib/test/test_reprlib.py | 7 +++++++
 1 files changed, 7 insertions(+), 0 deletions(-)
diff --git a/Lib/test/test_reprlib.py b/Lib/test/test_reprlib.py
--- a/Lib/test/test_reprlib.py
+++ b/Lib/test/test_reprlib.py
@@ -213,6 +213,8 @@
 # Remember where we are
 self.here = os.getcwd()
 sys.path.insert(0, self.here)
+ # When regrtest is run with its -j option, this command alone is not
+ # enough.
 importlib.invalidate_caches()
 
 def tearDown(self):
@@ -233,6 +235,7 @@
 def test_module(self):
 eq = self.assertEqual
 create_empty_file(os.path.join(self.subpkgname, self.pkgname + '.py'))
+ importlib.invalidate_caches()
 from areallylongpackageandmodulenametotestreprtruncation.areallylongpackageandmodulenametotestreprtruncation import areallylongpackageandmodulenametotestreprtruncation
 eq(repr(areallylongpackageandmodulenametotestreprtruncation),
 "<module %r from %r>" % (areallylongpackageandmodulenametotestreprtruncation.__name__, areallylongpackageandmodulenametotestreprtruncation.__file__))
@@ -244,6 +247,7 @@
 class foo(object):
 pass
 ''')
+ importlib.invalidate_caches()
 from areallylongpackageandmodulenametotestreprtruncation.areallylongpackageandmodulenametotestreprtruncation import foo
 eq(repr(foo.foo),
 "<class '%s.foo'>" % foo.__name__)
@@ -258,6 +262,7 @@
 class bar:
 pass
 ''')
+ importlib.invalidate_caches()
 from areallylongpackageandmodulenametotestreprtruncation.areallylongpackageandmodulenametotestreprtruncation import bar
 # Module name may be prefixed with "test.", depending on how run.
 self.assertEqual(repr(bar.bar), "<class '%s.bar'>" % bar.__name__)
@@ -267,6 +272,7 @@
 class baz:
 pass
 ''')
+ importlib.invalidate_caches()
 from areallylongpackageandmodulenametotestreprtruncation.areallylongpackageandmodulenametotestreprtruncation import baz
 ibaz = baz.baz()
 self.assertTrue(repr(ibaz).startswith(
@@ -278,6 +284,7 @@
 class aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa:
 def amethod(self): pass
 ''')
+ importlib.invalidate_caches()
 from areallylongpackageandmodulenametotestreprtruncation.areallylongpackageandmodulenametotestreprtruncation import qux
 # Unbound methods first
 r = repr(qux.aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.amethod)
-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list

AltStyle によって変換されたページ (->オリジナル) /