From ec3c3dd89e617b0b1da7607c923bd6809e2d8dc7 Mon Sep 17 00:00:00 2001 From: pgajdos Date: Thu, 22 Oct 2020 15:59:20 +0200 Subject: [PATCH] fix one more function --- .../services/contents/tests/test_fileio.py | 54 ++++++++++--------- 1 file changed, 29 insertions(+), 25 deletions(-) diff --git a/notebook/services/contents/tests/test_fileio.py b/notebook/services/contents/tests/test_fileio.py index 9c88c7e43..adc06d97f 100644 --- a/notebook/services/contents/tests/test_fileio.py +++ b/notebook/services/contents/tests/test_fileio.py @@ -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():