From e601fb06919580849a19c972a81892d52be6034f Mon Sep 17 00:00:00 2001 From: Ezio Melotti Date: Wed, 27 Feb 2013 10:09:12 +0200 Subject: #17304: test_hash now works with unittest test discovery. Patch by Zachary Ware. --- Lib/test/test_hash.py | 32 +++++++++++--------------------- Misc/NEWS | 3 +++ 2 files changed, 14 insertions(+), 21 deletions(-) diff --git a/Lib/test/test_hash.py b/Lib/test/test_hash.py index d1ddc76..e3ab6e4 100644 --- a/Lib/test/test_hash.py +++ b/Lib/test/test_hash.py @@ -7,7 +7,6 @@ import datetime import os import sys import unittest -from test import support from test.script_helper import assert_python_ok from collections import Hashable @@ -133,7 +132,7 @@ class HashBuiltinsTestCase(unittest.TestCase): for obj in self.hashes_to_check: self.assertEqual(hash(obj), _default_hash(obj)) -class HashRandomizationTests(unittest.TestCase): +class HashRandomizationTests: # Each subclass should define a field "repr_", containing the repr() of # an object to be tested @@ -190,19 +189,22 @@ class StringlikeHashRandomizationTests(HashRandomizationTests): h = -1024014457 self.assertEqual(self.get_hash(self.repr_, seed=42), h) -class StrHashRandomizationTests(StringlikeHashRandomizationTests): +class StrHashRandomizationTests(StringlikeHashRandomizationTests, + unittest.TestCase): repr_ = repr('abc') def test_empty_string(self): self.assertEqual(hash(""), 0) -class BytesHashRandomizationTests(StringlikeHashRandomizationTests): +class BytesHashRandomizationTests(StringlikeHashRandomizationTests, + unittest.TestCase): repr_ = repr(b'abc') def test_empty_string(self): self.assertEqual(hash(b""), 0) -class MemoryviewHashRandomizationTests(StringlikeHashRandomizationTests): +class MemoryviewHashRandomizationTests(StringlikeHashRandomizationTests, + unittest.TestCase): repr_ = "memoryview(b'abc')" def test_empty_string(self): @@ -212,27 +214,15 @@ class DatetimeTests(HashRandomizationTests): def get_hash_command(self, repr_): return 'import datetime; print(hash(%s))' % repr_ -class DatetimeDateTests(DatetimeTests): +class DatetimeDateTests(DatetimeTests, unittest.TestCase): repr_ = repr(datetime.date(1066, 10, 14)) -class DatetimeDatetimeTests(DatetimeTests): +class DatetimeDatetimeTests(DatetimeTests, unittest.TestCase): repr_ = repr(datetime.datetime(1, 2, 3, 4, 5, 6, 7)) -class DatetimeTimeTests(DatetimeTests): +class DatetimeTimeTests(DatetimeTests, unittest.TestCase): repr_ = repr(datetime.time(0)) -def test_main(): - support.run_unittest(HashEqualityTestCase, - HashInheritanceTestCase, - HashBuiltinsTestCase, - StrHashRandomizationTests, - BytesHashRandomizationTests, - MemoryviewHashRandomizationTests, - DatetimeDateTests, - DatetimeDatetimeTests, - DatetimeTimeTests) - - if __name__ == "__main__": - test_main() + unittest.main() diff --git a/Misc/NEWS b/Misc/NEWS index ef295b7..70e71a2 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -644,6 +644,9 @@ Tests - Issue #15539: Added regression tests for Tools/scripts/pindent.py. +- Issue #17304: test_hash now works with unittest test discovery. + Patch by Zachary Ware. + - Issue #17303: test_future* now work with unittest test discovery. Patch by Zachary Ware. -- cgit v0.12