mirror of
https://github.com/python/cpython.git
synced 2025-08-04 00:48:58 +00:00
#14807: move undocumented tarfile.filemode() to stat.filemode(). Add tarfile.filemode alias with deprecation warning.
This commit is contained in:
parent
41829e82c1
commit
ffa1d0b8d5
6 changed files with 124 additions and 43 deletions
55
Lib/test/test_stat.py
Normal file
55
Lib/test/test_stat.py
Normal file
|
@ -0,0 +1,55 @@
|
|||
import unittest
|
||||
import os
|
||||
import stat
|
||||
from test.support import TESTFN, run_unittest
|
||||
|
||||
|
||||
def get_mode(fname=TESTFN):
|
||||
return stat.filemode(os.lstat(fname).st_mode)
|
||||
|
||||
|
||||
class TestFilemode(unittest.TestCase):
|
||||
|
||||
def setUp(self):
|
||||
try:
|
||||
os.remove(TESTFN)
|
||||
except OSError:
|
||||
try:
|
||||
os.rmdir(TESTFN)
|
||||
except OSError:
|
||||
pass
|
||||
tearDown = setUp
|
||||
|
||||
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--')
|
||||
|
||||
def test_directory(self):
|
||||
os.mkdir(TESTFN)
|
||||
os.chmod(TESTFN, 0o700)
|
||||
self.assertEqual(get_mode(), 'drwx------')
|
||||
|
||||
@unittest.skipUnless(hasattr(os, 'symlink'), 'os.symlink not available')
|
||||
def test_link(self):
|
||||
os.symlink(os.getcwd(), TESTFN)
|
||||
self.assertEqual(get_mode(), 'lrwxrwxrwx')
|
||||
|
||||
@unittest.skipUnless(hasattr(os, 'mkfifo'), 'os.mkfifo not available')
|
||||
def test_fifo(self):
|
||||
os.mkfifo(TESTFN, 0o700)
|
||||
self.assertEqual(get_mode(), 'prwx------')
|
||||
|
||||
|
||||
def test_main():
|
||||
run_unittest(TestFilemode)
|
||||
|
||||
if __name__ == '__main__':
|
||||
test_main()
|
Loading…
Add table
Add a link
Reference in a new issue