def test_Mode_Get_Set_Name(self): target_root = '/tmp/work/__TEST__' target_dummy = os.path.join(target_root, 'a.dummy') self.__MakeDummy(target_dummy, 1024) mode = Directory.GetMode(target_dummy) print(mode) print(oct(mode)) Directory.SetMode(target_dummy, 0o755) self.assertEqual(0o100755, Directory.GetMode(target_dummy)) self.assertEqual('-rwxr-xr-x', Directory.GetModeName(target_dummy)) Directory.SetMode(target_dummy, '-rwxrwxrwx') self.assertEqual(0o100777, Directory.GetMode(target_dummy)) Directory.SetMode(target_dummy, 0o644) self.assertEqual(0o100644, Directory.GetMode(target_dummy)) self.assertEqual('-rw-r--r--', Directory.GetModeName(target_dummy)) Directory.Delete(target_root)
def test_SetModeFromName_Error(self): target_root = '/tmp/work/__TEST__' target_dummy = os.path.join(target_root, 'a.dummy') self.__MakeDummy(target_dummy, 1024) mode_name = 'Invalid-Text' with self.assertRaises(ValueError) as e: Directory.SetMode(target_dummy, mode_name ) mode_names = [ '---', '--x', '-w-', '-wx', 'r--', 'r-x', 'rw-', 'rwx' ] self.assertEqual('引数mode_nameが不正値です。\'{}\'。\'-rwxrwxrwx\'の書式で入力してください。owner, group, other, の順に次のパターンのいずれかを指定します。pattern={}。r,w,xはそれぞれ、読込、書込、実行の権限です。-は権限なしを意味します。'.format(mode_name, mode_names), e.exception.args[0]) Directory.Delete(target_root)