You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
66 lines
2.8 KiB
66 lines
2.8 KiB
6 years ago
|
commit acfda9c26df888741805249f3ec0f60f369fc664
|
||
|
Author: Louis Sautier <sautier.louis@gmail.com>
|
||
|
Date: Tue Aug 14 11:14:19 2018 +0200
|
||
|
|
||
|
Tests: allow differences when reading a buffer or a file, fixes #173
|
||
|
|
||
|
Also remove the loop in order to avoid analyzing files or buffers for each
|
||
|
expected value, replace it with a call to assertIn().
|
||
|
|
||
|
diff --git a/test/test.py b/test/test.py
|
||
|
index addccc6..67957ee 100755
|
||
|
--- a/test/test.py
|
||
|
+++ b/test/test.py
|
||
|
@@ -10,7 +10,7 @@ import magic
|
||
|
class MagicTest(unittest.TestCase):
|
||
|
TESTDATA_DIR = os.path.join(os.path.dirname(__file__), 'testdata')
|
||
|
|
||
|
- def assert_values(self, m, expected_values):
|
||
|
+ def assert_values(self, m, expected_values, buf_equals_file=True):
|
||
|
for filename, expected_value in expected_values.items():
|
||
|
try:
|
||
|
filename = os.path.join(self.TESTDATA_DIR, filename)
|
||
|
@@ -21,15 +21,16 @@ class MagicTest(unittest.TestCase):
|
||
|
if type(expected_value) is not tuple:
|
||
|
expected_value = (expected_value,)
|
||
|
|
||
|
- for i in expected_value:
|
||
|
- with open(filename, 'rb') as f:
|
||
|
- buf_value = m.from_buffer(f.read())
|
||
|
+ with open(filename, 'rb') as f:
|
||
|
+ buf_value = m.from_buffer(f.read())
|
||
|
|
||
|
- file_value = m.from_file(filename)
|
||
|
- if buf_value == i and file_value == i:
|
||
|
- break
|
||
|
- else:
|
||
|
- self.assertTrue(False, "no match for " + repr(expected_value))
|
||
|
+ file_value = m.from_file(filename)
|
||
|
+
|
||
|
+ if buf_equals_file:
|
||
|
+ self.assertEqual(buf_value, file_value)
|
||
|
+
|
||
|
+ for value in (buf_value, file_value):
|
||
|
+ self.assertIn(value, expected_value)
|
||
|
|
||
|
def test_from_buffer_str_and_bytes(self):
|
||
|
m = magic.Magic(mime=True)
|
||
|
@@ -62,10 +63,14 @@ class MagicTest(unittest.TestCase):
|
||
|
'magic._pyc_': 'python 2.4 byte-compiled',
|
||
|
'test.pdf': 'PDF document, version 1.2',
|
||
|
'test.gz':
|
||
|
- ('gzip compressed data, was "test", from Unix, last modified: Sun Jun 29 01:32:52 2008',
|
||
|
- 'gzip compressed data, was "test", last modified: Sun Jun 29 01:32:52 2008, from Unix'),
|
||
|
+ ('gzip compressed data, was "test", from Unix, last '
|
||
|
+ 'modified: Sun Jun 29 01:32:52 2008',
|
||
|
+ 'gzip compressed data, was "test", last modified'
|
||
|
+ ': Sun Jun 29 01:32:52 2008, from Unix',
|
||
|
+ 'gzip compressed data, was "test", last modified'
|
||
|
+ ': Sun Jun 29 01:32:52 2008, from Unix, original size 15'),
|
||
|
'text.txt': 'ASCII text',
|
||
|
- })
|
||
|
+ }, buf_equals_file=False)
|
||
|
finally:
|
||
|
del os.environ['TZ']
|
||
|
|