Skip to content

Commit d9c03ea

Browse files
committed
Use YAMl to display test failures diffs
It is easier to read than JSON in particular for long text lines Signed-off-by: Philippe Ombredanne <[email protected]>
1 parent 7e19e46 commit d9c03ea

File tree

2 files changed

+13
-7
lines changed

2 files changed

+13
-7
lines changed

src/scancode/cli_test_utils.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,9 @@
1212
import os
1313
import time
1414

15+
import saneyaml
1516
from commoncode.system import on_windows
17+
1618
from scancode_config import scancode_root_dir
1719

1820

@@ -192,11 +194,12 @@ def check_json_scan(
192194
results.pop('headers', None)
193195
expected.pop('headers', None)
194196

195-
# NOTE we redump the JSON as a string for a more efficient display of the
196-
# failures comparison/diff
197-
expected = json.dumps(expected, indent=2, separators=(',', ': '))
198-
results = json.dumps(results, indent=2, separators=(',', ': '))
199-
assert results == expected
197+
# NOTE we redump the JSON as a YAML string for easier display of
198+
# the failures comparison/diff
199+
if results != expected:
200+
expected = saneyaml.dump(expected)
201+
results = saneyaml.dump(results)
202+
assert results == expected
200203

201204

202205
def load_json_result(location, remove_file_date=False):
@@ -312,7 +315,7 @@ def check_jsonlines_scan(
312315
expected = json.load(res)
313316

314317
streamline_jsonlines_scan(expected, remove_file_date)
315-
318+
316319
if not check_headers:
317320
results[0].pop('headers', None)
318321
expected[0].pop('headers', None)

tests/packagedcode/packages_test_utils.py

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,8 @@
1010
import json
1111
import os
1212

13+
import saneyaml
14+
1315
from commoncode import testcase
1416
from commoncode import text
1517

@@ -85,7 +87,8 @@ def check_result_equals_expected_json(result, expected_loc, regen=False):
8587
with open(expected_loc) as ex:
8688
expected = json.load(ex)
8789

88-
assert result == expected
90+
if result != expected:
91+
assert saneyaml.dump(result) == saneyaml.dump(expected)
8992

9093

9194
def get_test_files(location, test_file_suffix):

0 commit comments

Comments
 (0)