[Python-checkins] cpython: #14807: fix BB failures on Windows - avoid to to rely too many details of the

giampaolo.rodola python-checkins at python.org
Wed May 16 16:03:12 CEST 2012


http://hg.python.org/cpython/rev/39d24533c6b7
changeset:   76997:39d24533c6b7
parent:      76970:003204f34cc3
user:        Giampaolo Rodola' <g.rodola at gmail.com>
date:        Wed May 16 16:01:59 2012 +0200
summary:
  #14807: fix BB failures on Windows - avoid to to rely too many details of the mode string.

files:
  Lib/test/test_stat.py |  33 ++++++++++++++++++++----------
  1 files changed, 22 insertions(+), 11 deletions(-)


diff --git a/Lib/test/test_stat.py b/Lib/test/test_stat.py
--- a/Lib/test/test_stat.py
+++ b/Lib/test/test_stat.py
@@ -23,24 +23,35 @@
     def test_mode(self):
         with open(TESTFN, 'w'):
             pass
-        os.chmod(TESTFN, 0o700)
-        self.assertEqual(get_mode(), '-rwx------')
-        os.chmod(TESTFN, 0o070)
-        self.assertEqual(get_mode(), '----rwx---')
-        os.chmod(TESTFN, 0o007)
-        self.assertEqual(get_mode(), '-------rwx')
-        os.chmod(TESTFN, 0o444)
-        self.assertEqual(get_mode(), '-r--r--r--')
+        if os.name == 'posix':
+            os.chmod(TESTFN, 0o700)
+            self.assertEqual(get_mode(), '-rwx------')
+            os.chmod(TESTFN, 0o070)
+            self.assertEqual(get_mode(), '----rwx---')
+            os.chmod(TESTFN, 0o007)
+            self.assertEqual(get_mode(), '-------rwx')
+            os.chmod(TESTFN, 0o444)
+            self.assertEqual(get_mode(), '-r--r--r--')
+        else:
+            os.chmod(TESTFN, 0o700)
+            self.assertEqual(get_mode()[:3], '-rw')
 
     def test_directory(self):
         os.mkdir(TESTFN)
         os.chmod(TESTFN, 0o700)
-        self.assertEqual(get_mode(), 'drwx------')
+        if os.name == 'posix':
+            self.assertEqual(get_mode(), 'drwx------')
+        else:
+            self.assertEqual(get_mode()[0], 'd')
 
     @unittest.skipUnless(hasattr(os, 'symlink'), 'os.symlink not available')
     def test_link(self):
-        os.symlink(os.getcwd(), TESTFN)
-        self.assertEqual(get_mode()[0], 'l')
+        try:
+            os.symlink(os.getcwd(), TESTFN)
+        except (OSError, NotImplementedError) as err:
+            raise unittest.SkipTest(str(err))
+        else:
+            self.assertEqual(get_mode()[0], 'l')
 
     @unittest.skipUnless(hasattr(os, 'mkfifo'), 'os.mkfifo not available')
     def test_fifo(self):

-- 
Repository URL: http://hg.python.org/cpython


More information about the Python-checkins mailing list