summaryrefslogtreecommitdiffstats
path: root/Lib/test
diff options
context:
space:
mode:
authorGeorg Brandl <georg@python.org>2009-08-13 09:04:31 (GMT)
committerGeorg Brandl <georg@python.org>2009-08-13 09:04:31 (GMT)
commitae83d6ee371b5e6aeebe303fb853f5c45638414c (patch)
tree6ce42b81661f4d7432af393ba303fca20884650b /Lib/test
parent3deeed9a3250dfa1eab6b03db357ce188d512f64 (diff)
downloadcpython-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-xLib/test/test_array.py35
-rw-r--r--Lib/test/test_pkgutil.py6
-rw-r--r--Lib/test/test_subprocess.py18
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__":