]> granicus.if.org Git - python/commitdiff
Issue #17944: test_zipfile now discoverable and uses subclassing to
authorSerhiy Storchaka <storchaka@gmail.com>
Mon, 22 Jul 2013 18:02:14 +0000 (21:02 +0300)
committerSerhiy Storchaka <storchaka@gmail.com>
Mon, 22 Jul 2013 18:02:14 +0000 (21:02 +0300)
generate tests for different compression types.  Fixed a bug with skipping
some tests due to use of exhausted iterators.

1  2 
Lib/test/test_zipfile.py
Misc/NEWS

index d3a359f06632a513855599c758329fbb13ff9b2d,fb866d8b4dc5fc304e445cde72e2bcb4485f0e93..26dd09b18cdca0619df9a82da8dc7e9cf9221c03
@@@ -1124,13 -942,11 +942,11 @@@ class OtherTests(unittest.TestCase)
          # - passing a file-like object
          fp = io.BytesIO()
          fp.write(zip_contents)
-         chk = zipfile.is_zipfile(fp)
-         self.assertTrue(chk)
+         self.assertTrue(zipfile.is_zipfile(fp))
          fp.seek(0, 0)
-         chk = zipfile.is_zipfile(fp)
-         self.assertTrue(chk)
+         self.assertTrue(zipfile.is_zipfile(fp))
  
 -    def test_non_existent_file_raises_IOError(self):
 +    def test_non_existent_file_raises_OSError(self):
          # make sure we don't raise an AttributeError when a partially-constructed
          # ZipFile instance is finalized; this tests for regression on SF tracker
          # bug #403871.
@@@ -1911,5 -1610,25 +1610,24 @@@ class AbstractUniversalNewlineTests
          unlink(TESTFN2)
  
  
 -
+ class StoredUniversalNewlineTests(AbstractUniversalNewlineTests,
+                                   unittest.TestCase):
+     compression = zipfile.ZIP_STORED
+ @requires_zlib
+ class DeflateUniversalNewlineTests(AbstractUniversalNewlineTests,
+                                    unittest.TestCase):
+     compression = zipfile.ZIP_DEFLATED
+ @requires_bz2
+ class Bzip2UniversalNewlineTests(AbstractUniversalNewlineTests,
+                                  unittest.TestCase):
+     compression = zipfile.ZIP_BZIP2
+ @requires_lzma
+ class LzmaUniversalNewlineTests(AbstractUniversalNewlineTests,
+                                 unittest.TestCase):
+     compression = zipfile.ZIP_LZMA
  if __name__ == "__main__":
      unittest.main()
diff --cc Misc/NEWS
index 26c629552f765417e4f4d37cf80ffff57c710e20,85238f66742ecfbceb9660d3183f94e159b9144c..8bc78d12803dab846e15a194fd0165ac0f27f67e
+++ b/Misc/NEWS
@@@ -494,75 -406,63 +494,79 @@@ Librar
  - Issue #14971: unittest test discovery no longer gets confused when a function
    has a different __name__ than its name in the TestCase class dictionary.
  
 -- Issue #17678: Fix DeprecationWarning in the http/cookiejar.py by changing the
 -  usage of get_origin_req_host() to origin_req_host.
 +- Issue #17487: The wave getparams method now returns a namedtuple rather than
 +  a plain tuple.
  
 -- Issue #17666: Fix reading gzip files with an extra field.
 +- Issue #17675: socket repr() provides local and remote addresses (if any).
 +  Patch by Giampaolo Rodola'
  
 -- Issue #17502: Process DEFAULT values in mock side_effect that returns iterator.
 -  Patch by Michael Foord.
 +- Issue #17093: Make the ABCs in importlib.abc provide default values or raise
 +  reasonable exceptions for their methods to make them more amenable to super()
 +  calls.
  
 -- Issue #17572: Avoid chained exceptions while passing bad directives to
 -  time.strptime().  Initial patch by Claudiu Popa.
 +- Issue #17566: Make importlib.abc.Loader.module_repr() optional instead of an
 +  abstractmethod and raising NotImplementedError so as to be ignored by default.
  
 -- Issue #17435: threading.Timer's __init__ method no longer uses mutable
 -  default values for the args and kwargs parameters.
 +- Issue #17678: Remove the use of deprecated method in http/cookiejar.py.
 +  Changing the usage of get_origin_req_host() to origin_req_host.
  
 -- Issue #17526: fix an IndexError raised while passing code without filename to
 -  inspect.findsource().  Initial patch by Tyler Doyle.
 +- Issue #17666: Fix reading gzip files with an extra field.
  
 -- Issue #16550: Update the opcode descriptions of pickletools to use unsigned
 -  integers where appropriate.  Initial patch by Serhiy Storchaka.
 +- Issue #16475: Support object instancing, recursion and interned strings
 +  in marshal
  
 -IDLE
 -----
 +- Issue #17502: Process DEFAULT values in mock side_effect that returns iterator.
  
 -- Issue #17838: Allow sys.stdin to be reassigned.
 +- Issue #16795: On the ast.arguments object, unify vararg with varargannotation
 +  and kwarg and kwargannotation. Change the column offset of ast.Attribute to be
 +  at the attribute name.
  
 -- Issue #13495: Avoid loading the color delegator twice in IDLE.
 +- Issue #17434: Properly raise a SyntaxError when a string occurs between future
 +  imports.
  
 -- Issue #17798: Allow IDLE to edit new files when specified on command line.
 +- Issue #17117: Import and @importlib.util.set_loader now set __loader__ when
 +  it has a value of None or the attribute doesn't exist.
  
 -- Issue #14735: Update IDLE docs to omit "Control-z on Windows".
 +- Issue #17032: The "global" in the "NameError: global name 'x' is not defined"
 +  error message has been removed.  Patch by Ram Rachum.
  
 -- Issue #17585: Fixed IDLE regression. Now closes when using exit() or quit().
 +- Issue #18080: When building a C extension module on OS X, if the compiler
 +  is overriden with the CC environment variable, use the new compiler as
 +  the default for linking if LDSHARED is not also overriden.  This restores
 +  Distutils behavior introduced in 3.2.3 and inadvertently dropped in 3.3.0.
  
 -- Issue #17657: Show full Tk version in IDLE's about dialog.
 -  Patch by Todd Rovito.
 +- Issue #18113: Fixed a refcount leak in the curses.panel module's
 +  set_userptr() method.  Reported by Atsuo Ishimoto.
  
 -- Issue #17613: Prevent traceback when removing syntax colorizer in IDLE.
 +- Implement PEP 443 "Single-dispatch generic functions".
  
 -- Issue #1207589: Backwards-compatibility patch for right-click menu in IDLE.
 +- Implement PEP 435 "Adding an Enum type to the Python standard library".
  
 -- Issue #16887: IDLE now accepts Cancel in tabify/untabify dialog box.
 +Tests
 +-----
  
 -- Issue #17625: In IDLE, close the replace dialog after it is used.
++- Issue #17944: test_zipfile now discoverable and uses subclassing to
++  generate tests for different compression types.  Fixed a bug with skipping
++  some tests due to use of exhausted iterators.
 -- Issue #14254: IDLE now handles readline correctly across shell restarts.
 +- Issue #18266: test_largefile now works with unittest test discovery and
 +  supports running only selected tests.  Patch by Zachary Ware.
  
 -- Issue #17614: IDLE no longer raises exception when quickly closing a file.
 +- Issue #17767: test_locale now works with unittest test discovery.
 +  Original patch by Zachary Ware.
  
 -- Issue #6698: IDLE now opens just an editor window when configured to do so.
 +- Issue #18375: Assume --randomize when --randseed is used for running the
 +  testsuite.
  
 -- Issue #8900: Using keyboard shortcuts in IDLE to open a file no longer
 -  raises an exception.
 +- Issue #11185: Fix test_wait4 under AIX.  Patch by SĂ©bastien SablĂ©.
  
 -- Issue #6649: Fixed missing exit status in IDLE. Patch by Guilherme Polo.
 +- Issue #18207: Fix test_ssl for some versions of OpenSSL that ignore seconds
 +  in ASN1_TIME fields.
  
 -Tests
 ------
 +- Issue #18094: test_uuid no more reports skipped tests as passed.
 +
 +- Issue #17992: Add timeouts to asyncore and asynchat tests so that they won't
 +  accidentally hang.
  
  - Issue #17833: Fix test_gdb failures seen on machines where debug symbols
    for glibc are available (seen on PPC64 Linux).