diff options
author | Gregory P. Smith <greg@krypto.org> | 2015-02-04 01:04:31 -0800 |
---|---|---|
committer | Gregory P. Smith <greg@krypto.org> | 2015-02-04 01:04:31 -0800 |
commit | ef3e7a803f7e575ce26cb2e4e29e46da2d89c124 (patch) | |
tree | ec9df5664c8029412e3923f694c3bbbbc9434ee6 /Lib/test/test_functools.py | |
parent | f97d8cc43c09116bebd4d54b7ef5baf472058de3 (diff) | |
parent | 7c584647e0c2fe3f84299cab3b7941d1595de32f (diff) | |
download | cpython-ef3e7a803f7e575ce26cb2e4e29e46da2d89c124.tar.gz |
Skip some tests that require a subinterpreter launched with -E or -I when the
interpreter under test is being run in an environment that requires the use of
environment variables such as PYTHONHOME in order to function at all.
Adds a test.script_helper.interpreter_requires_environment() function
to be used with @unittest.skipIf on stdlib test methods requiring this.
Diffstat (limited to 'Lib/test/test_functools.py')
-rw-r--r-- | Lib/test/test_functools.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/Lib/test/test_functools.py b/Lib/test/test_functools.py index 10120530b8..fbb43e43e6 100644 --- a/Lib/test/test_functools.py +++ b/Lib/test/test_functools.py @@ -880,6 +880,24 @@ class TestTotalOrdering(unittest.TestCase): with self.assertRaises(TypeError): a <= b + def test_pickle(self): + for proto in range(4, pickle.HIGHEST_PROTOCOL + 1): + for name in '__lt__', '__gt__', '__le__', '__ge__': + with self.subTest(method=name, proto=proto): + method = getattr(Orderable_LT, name) + method_copy = pickle.loads(pickle.dumps(method, proto)) + self.assertIs(method_copy, method) + +@functools.total_ordering +class Orderable_LT: + def __init__(self, value): + self.value = value + def __lt__(self, other): + return self.value < other.value + def __eq__(self, other): + return self.value == other.value + + class TestLRU(unittest.TestCase): def test_lru(self): |