fix one more function

pull/5826/head
pgajdos 5 years ago
parent 1c3dbcc6bf
commit ec3c3dd89e

@ -5,8 +5,10 @@
import io as stdlib_io
import os.path
import unittest
import pytest
import stat
import sys
from ..fileio import atomic_writing
@ -63,31 +65,33 @@ def test_atomic_writing():
with stdlib_io.open(f1, 'r') as f:
assert f.read() == u'written from symlink'
def _save_umask():
global umask
umask = os.umask(0)
os.umask(umask)
def _restore_umask():
os.umask(umask)
#@skip_win32
#@nt.with_setup(_save_umask, _restore_umask)
#def test_atomic_writing_umask():
# with TemporaryDirectory() as td:
# os.umask(0o022)
# f1 = os.path.join(td, '1')
# with atomic_writing(f1) as f:
# f.write(u'1')
# mode = stat.S_IMODE(os.stat(f1).st_mode)
# nt.assert_equal(mode, 0o644, '{:o} != 644'.format(mode))
#
# os.umask(0o057)
# f2 = os.path.join(td, '2')
# with atomic_writing(f2) as f:
# f.write(u'2')
# mode = stat.S_IMODE(os.stat(f2).st_mode)
# nt.assert_equal(mode, 0o620, '{:o} != 620'.format(mode))
class TestWithSetUmask(unittest.TestCase):
def setUp(self):
# save umask
global umask
umask = os.umask(0)
os.umask(umask)
def tearDown(self):
# restore umask
os.umask(umask)
@pytest.mark.skipif(sys.platform == "win32", reason="do not run on windows")
def test_atomic_writing_umask(self):
with TemporaryDirectory() as td:
os.umask(0o022)
f1 = os.path.join(td, '1')
with atomic_writing(f1) as f:
f.write(u'1')
mode = stat.S_IMODE(os.stat(f1).st_mode)
assert mode == 0o644
os.umask(0o057)
f2 = os.path.join(td, '2')
with atomic_writing(f2) as f:
f.write(u'2')
mode = stat.S_IMODE(os.stat(f2).st_mode)
assert mode == 0o620
def test_atomic_writing_newlines():

Loading…
Cancel
Save