rbackup/tests/test_system.py
2019-04-23 23:48:46 -07:00

44 lines
1.0 KiB
Python

"""
.. moduleauthor:: Eric Torres
Tests for the rbackup.config module.
"""
import os
import unittest
import rbackup.system as system
# ========== Constants ==========
TESTING_PACKAGE = "rbackup"
TESTING_MODULE = f"{TESTING_PACKAGE}.system"
# ========== Tests ==========
class TestUmask(unittest.TestCase):
@staticmethod
def get_current_umask():
"""Obtain process umask, and then change it back for testing."""
orig_umask = os.umask(0)
os.umask(orig_umask)
return orig_umask
def setUp(self):
self.test_umask = 0o0027
self.orig_umask = self.get_current_umask()
def test_original_umask_remains(self):
# noinspection PyBroadException
try:
with system.change_umask(self.test_umask):
self.assertEqual(self.get_current_umask(), self.test_umask)
raise BaseException
except:
pass
self.assertEqual(self.get_current_umask(), self.orig_umask)
def tearDown(self):
os.umask(self.orig_umask)