Commit e1266782 authored by Giampaolo Rodola's avatar Giampaolo Rodola

#14807: fix BB failures on Windows - avoid to to rely too many details of the mode string.

parent 12ea86ad
...@@ -23,24 +23,35 @@ class TestFilemode(unittest.TestCase): ...@@ -23,24 +23,35 @@ class TestFilemode(unittest.TestCase):
def test_mode(self): def test_mode(self):
with open(TESTFN, 'w'): with open(TESTFN, 'w'):
pass pass
os.chmod(TESTFN, 0o700) if os.name == 'posix':
self.assertEqual(get_mode(), '-rwx------') os.chmod(TESTFN, 0o700)
os.chmod(TESTFN, 0o070) self.assertEqual(get_mode(), '-rwx------')
self.assertEqual(get_mode(), '----rwx---') os.chmod(TESTFN, 0o070)
os.chmod(TESTFN, 0o007) self.assertEqual(get_mode(), '----rwx---')
self.assertEqual(get_mode(), '-------rwx') os.chmod(TESTFN, 0o007)
os.chmod(TESTFN, 0o444) self.assertEqual(get_mode(), '-------rwx')
self.assertEqual(get_mode(), '-r--r--r--') 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): def test_directory(self):
os.mkdir(TESTFN) os.mkdir(TESTFN)
os.chmod(TESTFN, 0o700) 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') @unittest.skipUnless(hasattr(os, 'symlink'), 'os.symlink not available')
def test_link(self): def test_link(self):
os.symlink(os.getcwd(), TESTFN) try:
self.assertEqual(get_mode()[0], 'l') 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') @unittest.skipUnless(hasattr(os, 'mkfifo'), 'os.mkfifo not available')
def test_fifo(self): def test_fifo(self):
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment