summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLouis Sautier <sautier.louis@gmail.com>2018-08-14 11:14:19 +0200
committerLouis Sautier <sautier.louis@gmail.com>2018-08-14 11:24:00 +0200
commit93492a12aa8ae55e62bce0472e92800eac4b6269 (patch)
tree511c0f6c57034343ae62aaad908d115085153b64
parent793eae408828ff5cfc5bf6830cdaa991b5a9a7cc (diff)
downloadpython-magic-93492a12aa8ae55e62bce0472e92800eac4b6269.tar.gz
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().
-rwxr-xr-xtest/test.py25
1 files changed, 14 insertions, 11 deletions
diff --git a/test/test.py b/test/test.py
index e29335f..d2a603e 100755
--- a/test/test.py
+++ b/test/test.py
@@ -11,7 +11,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)
@@ -22,15 +22,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_file_str_and_bytes(self):
self.assertEqual('application/pdf',
@@ -73,9 +74,11 @@ class MagicTest(unittest.TestCase):
('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'),
+ ': 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']