diff options
author | Georg Brandl <georg@python.org> | 2009-08-13 09:04:31 (GMT) |
---|---|---|
committer | Georg Brandl <georg@python.org> | 2009-08-13 09:04:31 (GMT) |
commit | ae83d6ee371b5e6aeebe303fb853f5c45638414c (patch) | |
tree | 6ce42b81661f4d7432af393ba303fca20884650b /Lib/test | |
parent | 3deeed9a3250dfa1eab6b03db357ce188d512f64 (diff) | |
download | cpython-ae83d6ee371b5e6aeebe303fb853f5c45638414c.zip cpython-ae83d6ee371b5e6aeebe303fb853f5c45638414c.tar.gz cpython-ae83d6ee371b5e6aeebe303fb853f5c45638414c.tar.bz2 |
Merged revisions 73833,73838,73850-73852,73856-73857 via svnmerge from
svn+ssh://svn.python.org/python/branches/py3k
................
r73833 | gregory.p.smith | 2009-07-04 04:46:54 +0200 (Sa, 04 Jul 2009) | 20 lines
Merged revisions 73825-73826 via svnmerge from
svn+ssh://pythondev@svn.python.org/python/trunk
........
r73825 | gregory.p.smith | 2009-07-03 18:49:29 -0700 (Fri, 03 Jul 2009) | 9 lines
Use select.poll() in subprocess, when available, rather than select() so that
it does not fail when file descriptors are large. Fixes issue3392.
Patch largely contributed by Frank Chu (fpmc) with some improvements by me.
See http://bugs.python.org/issue3392.
........
r73826 | gregory.p.smith | 2009-07-03 18:55:11 -0700 (Fri, 03 Jul 2009) | 2 lines
news entry for r73825
........
Candidate for backporting to release31-maint as it is a bug fix and changes no
public API.
................
r73838 | gregory.p.smith | 2009-07-04 10:32:15 +0200 (Sa, 04 Jul 2009) | 2 lines
change deprecated unittest method calls into their proper names.
................
r73850 | alexandre.vassalotti | 2009-07-05 07:38:18 +0200 (So, 05 Jul 2009) | 3 lines
Issue 4509: Do not modify an array if we know the change would result
in a failure due to exported buffers.
................
r73851 | alexandre.vassalotti | 2009-07-05 07:47:28 +0200 (So, 05 Jul 2009) | 2 lines
Add more test cases to BaseTest.test_memoryview_no_resize.
................
r73852 | alexandre.vassalotti | 2009-07-05 08:25:14 +0200 (So, 05 Jul 2009) | 5 lines
Fix array.extend and array.__iadd__ to handle the case where an array
is extended with itself.
This bug is specific the py3k version of arraymodule.c
................
r73856 | alexandre.vassalotti | 2009-07-05 08:42:44 +0200 (So, 05 Jul 2009) | 6 lines
Issue 4005: Remove .sort() call on dict_keys object.
This caused pydoc to fail when there was a zip file in sys.path.
Patch contributed by Amaury Forgeot d'Arc.
................
r73857 | alexandre.vassalotti | 2009-07-05 08:50:08 +0200 (So, 05 Jul 2009) | 2 lines
Add NEWS entries for the changes I made recently.
................
Diffstat (limited to 'Lib/test')
-rwxr-xr-x | Lib/test/test_array.py | 35 | ||||
-rw-r--r-- | Lib/test/test_pkgutil.py | 6 | ||||
-rw-r--r-- | Lib/test/test_subprocess.py | 18 |
3 files changed, 58 insertions, 1 deletions
diff --git a/Lib/test/test_array.py b/Lib/test/test_array.py index 7ae34a9..3dd4f6d 100755 --- a/Lib/test/test_array.py +++ b/Lib/test/test_array.py @@ -272,6 +272,12 @@ class BaseTest(unittest.TestCase): a, array.array(self.typecode, self.example[::-1]+2*self.example) ) + a = array.array(self.typecode, self.example) + a += a + self.assertEqual( + a, + array.array(self.typecode, self.example + self.example) + ) b = array.array(self.badtypecode()) self.assertRaises(TypeError, a.__add__, b) @@ -667,6 +673,13 @@ class BaseTest(unittest.TestCase): array.array(self.typecode, self.example+self.example[::-1]) ) + a = array.array(self.typecode, self.example) + a.extend(a) + self.assertEqual( + a, + array.array(self.typecode, self.example+self.example) + ) + b = array.array(self.badtypecode()) self.assertRaises(TypeError, a.extend, b) @@ -749,9 +762,31 @@ class BaseTest(unittest.TestCase): ArraySubclassWithKwargs('b', newarg=1) def test_create_from_bytes(self): + # XXX This test probably needs to be moved in a subclass or + # generalized to use self.typecode. a = array.array('H', b"1234") self.assertEqual(len(a) * a.itemsize, 4) + def test_memoryview_no_resize(self): + # Test for issue 4509. + a = array.array(self.typecode, self.example) + m = memoryview(a) + expected = m.tobytes() + self.assertRaises(BufferError, a.pop, 0) + self.assertEqual(m.tobytes(), expected) + self.assertRaises(BufferError, a.remove, a[0]) + self.assertEqual(m.tobytes(), expected) + self.assertRaises(BufferError, a.__setitem__, slice(0, 0), a) + self.assertEqual(m.tobytes(), expected) + self.assertRaises(BufferError, a.__delitem__, slice(0, len(a))) + self.assertEqual(m.tobytes(), expected) + self.assertRaises(BufferError, a.__imul__, 2) + self.assertEqual(m.tobytes(), expected) + self.assertRaises(BufferError, a.__iadd__, a) + self.assertEqual(m.tobytes(), expected) + self.assertRaises(BufferError, a.extend, a) + self.assertEqual(m.tobytes(), expected) + class StringTest(BaseTest): diff --git a/Lib/test/test_pkgutil.py b/Lib/test/test_pkgutil.py index 169ef66..f69af5a 100644 --- a/Lib/test/test_pkgutil.py +++ b/Lib/test/test_pkgutil.py @@ -74,6 +74,12 @@ class PkgutilTests(unittest.TestCase): self.assertEqual(res1, RESOURCE_DATA) res2 = pkgutil.get_data(pkg, 'sub/res.txt') self.assertEqual(res2, RESOURCE_DATA) + + names = [] + for loader, name, ispkg in pkgutil.iter_modules([zip_file]): + names.append(name) + self.assertEqual(names, ['test_getdata_zipfile']) + del sys.path[0] del sys.modules[pkg] diff --git a/Lib/test/test_subprocess.py b/Lib/test/test_subprocess.py index 326c996..f2a396c 100644 --- a/Lib/test/test_subprocess.py +++ b/Lib/test/test_subprocess.py @@ -798,8 +798,24 @@ class CommandTests(unittest.TestCase): if dir is not None: os.rmdir(dir) + +unit_tests = [ProcessTestCase, CommandTests] + +if subprocess._has_poll: + class ProcessTestCaseNoPoll(ProcessTestCase): + def setUp(self): + subprocess._has_poll = False + ProcessTestCase.setUp(self) + + def tearDown(self): + subprocess._has_poll = True + ProcessTestCase.tearDown(self) + + unit_tests.append(ProcessTestCaseNoPoll) + + def test_main(): - support.run_unittest(ProcessTestCase, CommandTests) + support.run_unittest(*unit_tests) support.reap_children() if __name__ == "__main__": |