summaryrefslogtreecommitdiffstats
path: root/Lib/test/test_shutil.py
diff options
context:
space:
mode:
Diffstat (limited to 'Lib/test/test_shutil.py')
-rw-r--r--Lib/test/test_shutil.py17
1 files changed, 17 insertions, 0 deletions
diff --git a/Lib/test/test_shutil.py b/Lib/test/test_shutil.py
index d96dad4..60e88d5 100644
--- a/Lib/test/test_shutil.py
+++ b/Lib/test/test_shutil.py
@@ -667,6 +667,23 @@ class TestRmTree(BaseTest, unittest.TestCase):
finally:
shutil.rmtree(TESTFN, ignore_errors=True)
+ @unittest.skipUnless(hasattr(os, "mkfifo"), 'requires os.mkfifo()')
+ @unittest.skipIf(sys.platform == "vxworks",
+ "fifo requires special path on VxWorks")
+ def test_rmtree_on_named_pipe(self):
+ os.mkfifo(TESTFN)
+ try:
+ with self.assertRaises(NotADirectoryError):
+ shutil.rmtree(TESTFN)
+ self.assertTrue(os.path.exists(TESTFN))
+ finally:
+ os.unlink(TESTFN)
+
+ os.mkdir(TESTFN)
+ os.mkfifo(os.path.join(TESTFN, 'mypipe'))
+ shutil.rmtree(TESTFN)
+ self.assertFalse(os.path.exists(TESTFN))
+
@unittest.skipIf(sys.platform[:6] == 'cygwin',
"This test can't be run on Cygwin (issue #1071513).")
@os_helper.skip_if_dac_override