From 7e63b36f7f6975b3d7590fc1c12caf04c39b2e7e Mon Sep 17 00:00:00 2001
From: Larry Hastings <larry@hastings.org>
Date: Fri, 8 May 2015 06:54:58 -0700
Subject: [PATCH] Issue #21520: test_zipfile no longer fails if the word 'bad'
 appears anywhere in the name of the current directory.

---
 Lib/test/test_zipfile.py | 5 +++--
 Misc/NEWS                | 3 +++
 2 files changed, 6 insertions(+), 2 deletions(-)

diff --git a/Lib/test/test_zipfile.py b/Lib/test/test_zipfile.py
index 3d8f9bc9c7..0c4c5791c4 100644
--- a/Lib/test/test_zipfile.py
+++ b/Lib/test/test_zipfile.py
@@ -719,9 +719,10 @@ class PyZipFileTests(unittest.TestCase):
             self.assertTrue('SyntaxError' not in reportStr)
 
             # then check that the filter works on individual files
+            def filter(path):
+                return not os.path.basename(path).startswith("bad")
             with captured_stdout() as reportSIO, self.assertWarns(UserWarning):
-                zipfp.writepy(packagedir, filterfunc=lambda fn:
-                                                     'bad' not in fn)
+                zipfp.writepy(packagedir, filterfunc=filter)
             reportStr = reportSIO.getvalue()
             if reportStr:
                 print(reportStr)
diff --git a/Misc/NEWS b/Misc/NEWS
index 333aa43d88..79c705cd5b 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -228,6 +228,9 @@ Library
 Tests
 -----
 
+- Issue #21520: test_zipfile no longer fails if the word 'bad' appears
+  anywhere in the name of the current directory.
+
 - Issue #23799: Added test.support.start_threads() for running and
   cleaning up multiple threads.
 
-- 
2.40.0