summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--test/clitest.py9
-rw-r--r--test/libtest.py12
2 files changed, 21 insertions, 0 deletions
diff --git a/test/clitest.py b/test/clitest.py
index ec3c19c..3b09c62 100644
--- a/test/clitest.py
+++ b/test/clitest.py
@@ -10,6 +10,7 @@ import unittest
10import subprocess 10import subprocess
11import sys 11import sys
12import tarfile 12import tarfile
13import stat
13 14
14import test 15import test
15MAT_PATH = 'mat' 16MAT_PATH = 'mat'
@@ -113,6 +114,14 @@ class TestFileAttributes(unittest.TestCase):
113 stdout, _ = proc.communicate() 114 stdout, _ = proc.communicate()
114 self.assertEqual(str(stdout).strip('\n'), '[-] Unable to process empty_file') 115 self.assertEqual(str(stdout).strip('\n'), '[-] Unable to process empty_file')
115 116
117 def test_not_readable(self):
118 """ test MAT's behaviour on non-writable file"""
119 open('non_readable', 'a').close()
120 os.chmod('non_readable', 0 & stat.S_IWRITE)
121 proc = subprocess.Popen([MAT_PATH, 'non_readable'], stdout=subprocess.PIPE)
122 stdout, _ = proc.communicate()
123 os.remove('non_readable')
124
116 125
117class TestUnsupported(test.MATTest): 126class TestUnsupported(test.MATTest):
118 """ test MAT's behaviour on unsupported files """ 127 """ test MAT's behaviour on unsupported files """
diff --git a/test/libtest.py b/test/libtest.py
index 03ae4a1..fa65528 100644
--- a/test/libtest.py
+++ b/test/libtest.py
@@ -7,6 +7,7 @@
7 7
8import os 8import os
9import sys 9import sys
10import stat
10import shutil 11import shutil
11import tarfile 12import tarfile
12import tempfile 13import tempfile
@@ -91,6 +92,17 @@ class TestFileAttributes(unittest.TestCase):
91 self.assertFalse(libmat.mat.create_class_file('empty_file', False, add2archive=True)) 92 self.assertFalse(libmat.mat.create_class_file('empty_file', False, add2archive=True))
92 os.remove('empty_file') 93 os.remove('empty_file')
93 94
95 def test_not_writtable(self):
96 """ test MAT's behaviour on non-writable file"""
97 self.assertFalse(libmat.mat.create_class_file('not_writtable', False, add2archive=True))
98
99 def test_not_readable(self):
100 """ test MAT's behaviour on non-readable file"""
101 open('non_readable', 'a').close()
102 os.chmod('non_readable', 0 | stat.S_IWRITE)
103 self.assertFalse(libmat.mat.create_class_file('non_readable', False, add2archive=True))
104 os.remove('non_readable')
105
94 106
95class TestSecureRemove(unittest.TestCase): 107class TestSecureRemove(unittest.TestCase):
96 """ Test the secure_remove function 108 """ Test the secure_remove function