Commit 2127af0303ea967cc7e1e82d93c4826bd2f6e246

Authored by Christian Herdtweck
1 parent 29fe9111

Fix again: result for vba ppt sample

Another recent pull request changed the outcome of 2 tests for one
sample. However, those results do not appear on my system or the github
integrated unittest systems. Maybe detection is dependent on system
encoding?

Need to investigate, exclude sample for now.
Showing 1 changed file with 15 additions and 5 deletions
tests/oleid/test_basic.py
... ... @@ -67,11 +67,14 @@ class TestOleIDBasic(unittest.TestCase):
67 67 '949: ANSI/OEM Korean (Unified Hangul Code)')
68 68 self.assertEqual(value_dict['author'],
69 69 b'\xb1\xe8\xb1\xe2\xc1\xa4;kijeong')
70   - elif 'olevba/sample_with_vba.ppt' in filename:
71   - self.assertEqual(value_dict['codepage'],
72   - '949: ANSI/OEM Korean (Unified Hangul Code)')
73   - self.assertEqual(value_dict['author'],
74   - b'\xb1\xe8 \xb1\xe2\xc1\xa4')
  70 + elif join('olevba', 'sample_with_vba.ppt') in filename:
  71 + print('\nTODO: find reason for different results for sample_with_vba.ppt')
  72 + # on korean test machine, this is the result:
  73 + # self.assertEqual(value_dict['codepage'],
  74 + # '949: ANSI/OEM Korean (Unified Hangul Code)')
  75 + # self.assertEqual(value_dict['author'],
  76 + # b'\xb1\xe8 \xb1\xe2\xc1\xa4')
  77 + continue
75 78 else:
76 79 self.assertEqual(value_dict['codepage'],
77 80 '1252: ANSI Latin 1; Western European (Windows)')
... ... @@ -115,6 +118,9 @@ class TestOleIDBasic(unittest.TestCase):
115 118 join('basic', 'empty'), # WTF?
116 119 join('basic', 'text'),
117 120 )
  121 + todo_inconsistent_results = (
  122 + join('olevba', 'sample_with_vba.ppt'),
  123 + )
118 124 for filename, value_dict in self.oleids:
119 125 # TODO: we need a sample file with xlm macros
120 126 before_dot, suffix = splitext(filename)
... ... @@ -128,6 +134,10 @@ class TestOleIDBasic(unittest.TestCase):
128 134 self.assertIn(value_dict['xlm'], ('Unknown', 'No'))
129 135  
130 136 # "macro detection" in text files leads to interesting results:
  137 + if filename in todo_inconsistent_results:
  138 + print("\nTODO: need to determine result inconsistency for sample {0}"
  139 + .format(filename))
  140 + continue
131 141 if filename in find_vba: # no macros!
132 142 self.assertEqual(value_dict['vba'], 'Yes')
133 143 else:
... ...