From 76c9ec13aaa2df8acf30ba5d34f812dfa3bd0f26 Mon Sep 17 00:00:00 2001 From: per1234 Date: Thu, 18 Jan 2024 22:11:04 -0800 Subject: [PATCH] Move test data from test code to data files The test_get_sketches_reports unit test makes assertions of the data the function will return given a set of input report files. Previously, the assertion data was defined in the test code. That was a significant amount of data, which added a lot of code to the test that is not of interest to the test code maintainer. This will become much more problematic if additional variants of the test are added in the future to provide coverage for other conditions. The problem is solved by moving the data to a JSON file. The test loads the data from the file when making the assertion. --- .../artifact/arduino-avr-leonardo.json | 117 +++++++ .../artifact/arduino-avr-uno.json | 117 +++++++ .../arduino-mbed_portenta-envie_m7.json | 65 ++++ .../golden-sketches-reports.json | 301 ++++++++++++++++++ .../arduino-mbed_portenta-envie_m7.json | 55 ++++ .../artifact/arduino-samd-mkrgsm1400.json | 87 +++++ .../golden-sketches-reports.json | 1 + .../tests/test_reportsizedeltas.py | 287 +---------------- 8 files changed, 752 insertions(+), 278 deletions(-) create mode 100644 reportsizedeltas/tests/data/test_get_sketches_reports/new-report-format/artifact/arduino-avr-leonardo.json create mode 100644 reportsizedeltas/tests/data/test_get_sketches_reports/new-report-format/artifact/arduino-avr-uno.json create mode 100644 reportsizedeltas/tests/data/test_get_sketches_reports/new-report-format/artifact/arduino-mbed_portenta-envie_m7.json create mode 100644 reportsizedeltas/tests/data/test_get_sketches_reports/new-report-format/golden-sketches-reports.json create mode 100644 reportsizedeltas/tests/data/test_get_sketches_reports/old-report-format/artifact/arduino-mbed_portenta-envie_m7.json create mode 100644 reportsizedeltas/tests/data/test_get_sketches_reports/old-report-format/artifact/arduino-samd-mkrgsm1400.json create mode 100644 reportsizedeltas/tests/data/test_get_sketches_reports/old-report-format/golden-sketches-reports.json diff --git a/reportsizedeltas/tests/data/test_get_sketches_reports/new-report-format/artifact/arduino-avr-leonardo.json b/reportsizedeltas/tests/data/test_get_sketches_reports/new-report-format/artifact/arduino-avr-leonardo.json new file mode 100644 index 0000000..86ea1a0 --- /dev/null +++ b/reportsizedeltas/tests/data/test_get_sketches_reports/new-report-format/artifact/arduino-avr-leonardo.json @@ -0,0 +1,117 @@ +{ + "commit_hash": "d8fd302", + "commit_url": "https://example.com/foo", + "boards": [ + { + "board": "arduino:avr:leonardo", + "sketches": [ + { + "name": "examples/Bar", + "compilation_success": true, + "sizes": [ + { + "name": "flash", + "maximum": 28672, + "current": { + "absolute": 3494, + "relative": 12.19 + }, + "previous": { + "absolute": "N/A", + "relative": "N/A" + }, + "delta": { + "absolute": "N/A", + "relative": "N/A" + } + }, + { + "name": "RAM for global variables", + "maximum": 2560, + "current": { + "absolute": 153, + "relative": 5.97 + }, + "previous": { + "absolute": "N/A", + "relative": "N/A" + }, + "delta": { + "absolute": "N/A", + "relative": "N/A" + } + } + ] + }, + { + "name": "examples/Foo", + "compilation_success": true, + "sizes": [ + { + "name": "flash", + "maximum": 28672, + "current": { + "absolute": 3462, + "relative": 12.07 + }, + "previous": { + "absolute": 3474, + "relative": 12.12 + }, + "delta": { + "absolute": -12, + "relative": -0.05 + } + }, + { + "name": "RAM for global variables", + "maximum": 2560, + "current": { + "absolute": 149, + "relative": 5.82 + }, + "previous": { + "absolute": 149, + "relative": 5.82 + }, + "delta": { + "absolute": 0, + "relative": 0.0 + } + } + ] + } + ], + "sizes": [ + { + "name": "flash", + "maximum": 28672, + "delta": { + "absolute": { + "minimum": -12, + "maximum": -12 + }, + "relative": { + "minimum": -0.05, + "maximum": -0.05 + } + } + }, + { + "name": "RAM for global variables", + "maximum": 2560, + "delta": { + "absolute": { + "minimum": 0, + "maximum": 0 + }, + "relative": { + "minimum": 0.0, + "maximum": 0.0 + } + } + } + ] + } + ] +} diff --git a/reportsizedeltas/tests/data/test_get_sketches_reports/new-report-format/artifact/arduino-avr-uno.json b/reportsizedeltas/tests/data/test_get_sketches_reports/new-report-format/artifact/arduino-avr-uno.json new file mode 100644 index 0000000..41efb08 --- /dev/null +++ b/reportsizedeltas/tests/data/test_get_sketches_reports/new-report-format/artifact/arduino-avr-uno.json @@ -0,0 +1,117 @@ +{ + "commit_hash": "d8fd302", + "commit_url": "https://example.com/foo", + "boards": [ + { + "board": "arduino:avr:uno", + "sketches": [ + { + "name": "examples/Bar", + "compilation_success": true, + "sizes": [ + { + "name": "flash", + "maximum": 32256, + "current": { + "absolute": 1460, + "relative": 4.53 + }, + "previous": { + "absolute": "N/A", + "relative": "N/A" + }, + "delta": { + "absolute": "N/A", + "relative": "N/A" + } + }, + { + "name": "RAM for global variables", + "maximum": 2048, + "current": { + "absolute": 190, + "relative": 9.28 + }, + "previous": { + "absolute": "N/A", + "relative": "N/A" + }, + "delta": { + "absolute": "N/A", + "relative": "N/A" + } + } + ] + }, + { + "name": "examples/Foo", + "compilation_success": true, + "sizes": [ + { + "name": "flash", + "maximum": 32256, + "current": { + "absolute": 444, + "relative": 1.38 + }, + "previous": { + "absolute": 1438, + "relative": 4.46 + }, + "delta": { + "absolute": -994, + "relative": -3.08 + } + }, + { + "name": "RAM for global variables", + "maximum": 2048, + "current": { + "absolute": 9, + "relative": 0.44 + }, + "previous": { + "absolute": 184, + "relative": 8.98 + }, + "delta": { + "absolute": -175, + "relative": -8.54 + } + } + ] + } + ], + "sizes": [ + { + "name": "flash", + "maximum": 32256, + "delta": { + "absolute": { + "minimum": -994, + "maximum": -994 + }, + "relative": { + "minimum": -3.08, + "maximum": -3.08 + } + } + }, + { + "name": "RAM for global variables", + "maximum": 2048, + "delta": { + "absolute": { + "minimum": -175, + "maximum": -175 + }, + "relative": { + "minimum": -8.54, + "maximum": -8.54 + } + } + } + ] + } + ] +} diff --git a/reportsizedeltas/tests/data/test_get_sketches_reports/new-report-format/artifact/arduino-mbed_portenta-envie_m7.json b/reportsizedeltas/tests/data/test_get_sketches_reports/new-report-format/artifact/arduino-mbed_portenta-envie_m7.json new file mode 100644 index 0000000..d5dd9e4 --- /dev/null +++ b/reportsizedeltas/tests/data/test_get_sketches_reports/new-report-format/artifact/arduino-mbed_portenta-envie_m7.json @@ -0,0 +1,65 @@ +{ + "commit_hash": "54815a7d1a30fcb0d77d98242b158e7845c0516d", + "commit_url": "https://example.com/foo", + "boards": [ + { + "board": "arduino:mbed_portenta:envie_m7", + "sketches": [ + { + "name": "examples/Bar", + "compilation_success": true, + "sizes": [ + { + "name": "flash", + "maximum": "N/A", + "current": { + "absolute": "N/A", + "relative": "N/A" + } + }, + { + "name": "RAM for global variables", + "maximum": "N/A", + "current": { + "absolute": "N/A", + "relative": "N/A" + } + } + ] + }, + { + "name": "examples/Foo", + "compilation_success": true, + "sizes": [ + { + "name": "flash", + "maximum": "N/A", + "current": { + "absolute": "N/A", + "relative": "N/A" + } + }, + { + "name": "RAM for global variables", + "maximum": "N/A", + "current": { + "absolute": "N/A", + "relative": "N/A" + } + } + ] + } + ], + "sizes": [ + { + "name": "flash", + "maximum": "N/A" + }, + { + "name": "RAM for global variables", + "maximum": "N/A" + } + ] + } + ] +} diff --git a/reportsizedeltas/tests/data/test_get_sketches_reports/new-report-format/golden-sketches-reports.json b/reportsizedeltas/tests/data/test_get_sketches_reports/new-report-format/golden-sketches-reports.json new file mode 100644 index 0000000..c75596f --- /dev/null +++ b/reportsizedeltas/tests/data/test_get_sketches_reports/new-report-format/golden-sketches-reports.json @@ -0,0 +1,301 @@ +[ + { + "commit_hash": "d8fd302", + "commit_url": "https://example.com/foo", + "boards": [ + { + "board": "arduino:avr:leonardo", + "sizes": [ + { + "delta": { + "absolute": { + "maximum": -12, + "minimum": -12 + }, + "relative": { + "maximum": -0.05, + "minimum": -0.05 + } + }, + "name": "flash", + "maximum": 28672 + }, + { + "delta": { + "absolute": { + "maximum": 0, + "minimum": 0 + }, + "relative": { + "maximum": 0.0, + "minimum": 0.0 + } + }, + "name": "RAM for global variables", + "maximum": 2560 + } + ], + "sketches": [ + { + "compilation_success": true, + "name": "examples/Bar", + "sizes": [ + { + "current": { + "absolute": 3494, + "relative": 12.19 + }, + "delta": { + "absolute": "N/A", + "relative": "N/A" + }, + "name": "flash", + "maximum": 28672, + "previous": { + "absolute": "N/A", + "relative": "N/A" + } + }, + { + "current": { + "absolute": 153, + "relative": 5.97 + }, + "delta": { + "absolute": "N/A", + "relative": "N/A" + }, + "name": "RAM for global variables", + "maximum": 2560, + "previous": { + "absolute": "N/A", + "relative": "N/A" + } + } + ] + }, + { + "compilation_success": true, + "name": "examples/Foo", + "sizes": [ + { + "current": { + "absolute": 3462, + "relative": 12.07 + }, + "delta": { + "absolute": -12, + "relative": -0.05 + }, + "name": "flash", + "maximum": 28672, + "previous": { + "absolute": 3474, + "relative": 12.12 + } + }, + { + "current": { + "absolute": 149, + "relative": 5.82 + }, + "delta": { + "absolute": 0, + "relative": -0.0 + }, + "name": "RAM for global variables", + "maximum": 2560, + "previous": { + "absolute": 149, + "relative": 5.82 + } + } + ] + } + ] + } + ] + }, + { + "commit_hash": "d8fd302", + "commit_url": "https://example.com/foo", + "boards": [ + { + "board": "arduino:avr:uno", + "sizes": [ + { + "delta": { + "absolute": { + "maximum": -994, + "minimum": -994 + }, + "relative": { + "maximum": -3.08, + "minimum": -3.08 + } + }, + "name": "flash", + "maximum": 32256 + }, + { + "delta": { + "absolute": { + "maximum": -175, + "minimum": -175 + }, + "relative": { + "maximum": -8.54, + "minimum": -8.54 + } + }, + "name": "RAM for global variables", + "maximum": 2048 + } + ], + "sketches": [ + { + "compilation_success": true, + "name": "examples/Bar", + "sizes": [ + { + "current": { + "absolute": 1460, + "relative": 4.53 + }, + "delta": { + "absolute": "N/A", + "relative": "N/A" + }, + "name": "flash", + "maximum": 32256, + "previous": { + "absolute": "N/A", + "relative": "N/A" + } + }, + { + "current": { + "absolute": 190, + "relative": 9.28 + }, + "delta": { + "absolute": "N/A", + "relative": "N/A" + }, + "name": "RAM for global variables", + "maximum": 2048, + "previous": { + "absolute": "N/A", + "relative": "N/A" + } + } + ] + }, + { + "compilation_success": true, + "name": "examples/Foo", + "sizes": [ + { + "current": { + "absolute": 444, + "relative": 1.38 + }, + "delta": { + "absolute": -994, + "relative": -3.08 + }, + "name": "flash", + "maximum": 32256, + "previous": { + "absolute": 1438, + "relative": 4.46 + } + }, + { + "current": { + "absolute": 9, + "relative": 0.44 + }, + "delta": { + "absolute": -175, + "relative": -8.54 + }, + "name": "RAM for global variables", + "maximum": 2048, + "previous": { + "absolute": 184, + "relative": 8.98 + } + } + ] + } + ] + } + ] + }, + { + "commit_hash": "54815a7d1a30fcb0d77d98242b158e7845c0516d", + "commit_url": "https://example.com/foo", + "boards": [ + { + "board": "arduino:mbed_portenta:envie_m7", + "sizes": [ + { + "name": "flash", + "maximum": "N/A" + }, + { + "name": "RAM for global variables", + "maximum": "N/A" + } + ], + "sketches": [ + { + "compilation_success": true, + "name": "examples/Bar", + "sizes": [ + { + "current": { + "absolute": "N/A", + "relative": "N/A" + }, + "name": "flash", + "maximum": "N/A" + }, + { + "current": { + "absolute": "N/A", + "relative": "N/A" + }, + "name": "RAM for global variables", + "maximum": "N/A" + } + ] + }, + { + "compilation_success": true, + "name": "examples/Foo", + "sizes": [ + { + "current": { + "absolute": "N/A", + "relative": "N/A" + }, + "name": "flash", + "maximum": "N/A" + }, + { + "current": { + "absolute": "N/A", + "relative": "N/A" + }, + "name": "RAM for global variables", + "maximum": "N/A" + } + ] + } + ] + } + ] + } +] diff --git a/reportsizedeltas/tests/data/test_get_sketches_reports/old-report-format/artifact/arduino-mbed_portenta-envie_m7.json b/reportsizedeltas/tests/data/test_get_sketches_reports/old-report-format/artifact/arduino-mbed_portenta-envie_m7.json new file mode 100644 index 0000000..0d3069b --- /dev/null +++ b/reportsizedeltas/tests/data/test_get_sketches_reports/old-report-format/artifact/arduino-mbed_portenta-envie_m7.json @@ -0,0 +1,55 @@ +{ + "commit_hash": "54815a7d1a30fcb0d77d98242b158e7845c0516d", + "commit_url": "https://example.com/foo", + "boards": [ + { + "board": "arduino:mbed_portenta:envie_m7", + "sketches": [ + { + "name": "examples/Bar", + "compilation_success": true, + "sizes": [ + { + "name": "flash", + "maximum": "N/A", + "current": { + "absolute": "N/A", + "relative": "N/A" + } + }, + { + "name": "RAM for global variables", + "maximum": "N/A", + "current": { + "absolute": "N/A", + "relative": "N/A" + } + } + ] + }, + { + "name": "examples/Foo", + "compilation_success": true, + "sizes": [ + { + "name": "flash", + "maximum": "N/A", + "current": { + "absolute": "N/A", + "relative": "N/A" + } + }, + { + "name": "RAM for global variables", + "maximum": "N/A", + "current": { + "absolute": "N/A", + "relative": "N/A" + } + } + ] + } + ] + } + ] +} diff --git a/reportsizedeltas/tests/data/test_get_sketches_reports/old-report-format/artifact/arduino-samd-mkrgsm1400.json b/reportsizedeltas/tests/data/test_get_sketches_reports/old-report-format/artifact/arduino-samd-mkrgsm1400.json new file mode 100644 index 0000000..ae2435b --- /dev/null +++ b/reportsizedeltas/tests/data/test_get_sketches_reports/old-report-format/artifact/arduino-samd-mkrgsm1400.json @@ -0,0 +1,87 @@ +{ + "board": "arduino:samd:mkrgsm1400", + "commit_hash": "d8fd302", + "commit_url": "https://example.com/foo", + "sketches": [ + { + "name": "examples/ConnectionHandlerDemo", + "compilation_success": true, + "sizes": [ + { + "name": "flash", + "current": { + "absolute": 1460 + }, + "previous": { + "absolute": "N/A" + }, + "delta": { + "absolute": "N/A" + } + }, + { + "name": "RAM for global variables", + "current": { + "absolute": 190 + }, + "previous": { + "absolute": "N/A" + }, + "delta": { + "absolute": "N/A" + } + } + ] + }, + { + "name": "examples/Foo", + "compilation_success": true, + "sizes": [ + { + "name": "flash", + "current": { + "absolute": 444 + }, + "previous": { + "absolute": 1438 + }, + "delta": { + "absolute": -994 + } + }, + { + "name": "RAM for global variables", + "current": { + "absolute": 9 + }, + "previous": { + "absolute": 184 + }, + "delta": { + "absolute": -175 + } + } + ] + } + ], + "sizes": [ + { + "name": "flash", + "delta": { + "absolute": { + "minimum": -994, + "maximum": -994 + } + } + }, + { + "name": "RAM for global variables", + "delta": { + "absolute": { + "minimum": -175, + "maximum": -175 + } + } + } + ] +} diff --git a/reportsizedeltas/tests/data/test_get_sketches_reports/old-report-format/golden-sketches-reports.json b/reportsizedeltas/tests/data/test_get_sketches_reports/old-report-format/golden-sketches-reports.json new file mode 100644 index 0000000..fe51488 --- /dev/null +++ b/reportsizedeltas/tests/data/test_get_sketches_reports/old-report-format/golden-sketches-reports.json @@ -0,0 +1 @@ +[] diff --git a/reportsizedeltas/tests/test_reportsizedeltas.py b/reportsizedeltas/tests/test_reportsizedeltas.py index 0a55847..4411019 100644 --- a/reportsizedeltas/tests/test_reportsizedeltas.py +++ b/reportsizedeltas/tests/test_reportsizedeltas.py @@ -493,294 +493,25 @@ def test_get_artifact(tmp_path, test_artifact_name, expected_success): @pytest.mark.parametrize( - "sketches_reports_path, expected_sketches_reports", - [ - (test_data_path.joinpath("size-deltas-reports-old"), []), - ( - test_data_path.joinpath("size-deltas-reports-new"), - [ - { - report_keys.commit_hash: "d8fd302", - report_keys.commit_url: "https://example.com/foo", - report_keys.boards: [ - { - report_keys.board: "arduino:avr:leonardo", - report_keys.sizes: [ - { - report_keys.delta: { - report_keys.absolute: {report_keys.maximum: -12, report_keys.minimum: -12}, - report_keys.relative: {report_keys.maximum: -0.05, report_keys.minimum: -0.05}, - }, - report_keys.name: "flash", - report_keys.maximum: 28672, - }, - { - report_keys.delta: { - report_keys.absolute: {report_keys.maximum: 0, report_keys.minimum: 0}, - report_keys.relative: {report_keys.maximum: 0.00, report_keys.minimum: 0.00}, - }, - report_keys.name: "RAM for global variables", - report_keys.maximum: 2560, - }, - ], - report_keys.sketches: [ - { - report_keys.compilation_success: True, - report_keys.name: "examples/Bar", - report_keys.sizes: [ - { - report_keys.current: { - report_keys.absolute: 3494, - report_keys.relative: 12.19, - }, - report_keys.delta: { - report_keys.absolute: "N/A", - report_keys.relative: "N/A", - }, - report_keys.name: "flash", - report_keys.maximum: 28672, - report_keys.previous: { - report_keys.absolute: "N/A", - report_keys.relative: "N/A", - }, - }, - { - report_keys.current: { - report_keys.absolute: 153, - report_keys.relative: 5.97, - }, - report_keys.delta: { - report_keys.absolute: "N/A", - report_keys.relative: "N/A", - }, - report_keys.name: "RAM for global variables", - report_keys.maximum: 2560, - report_keys.previous: { - report_keys.absolute: "N/A", - report_keys.relative: "N/A", - }, - }, - ], - }, - { - report_keys.compilation_success: True, - report_keys.name: "examples/Foo", - report_keys.sizes: [ - { - report_keys.current: { - report_keys.absolute: 3462, - report_keys.relative: 12.07, - }, - report_keys.delta: {report_keys.absolute: -12, report_keys.relative: -0.05}, - report_keys.name: "flash", - report_keys.maximum: 28672, - report_keys.previous: { - report_keys.absolute: 3474, - report_keys.relative: 12.12, - }, - }, - { - report_keys.current: { - report_keys.absolute: 149, - report_keys.relative: 5.82, - }, - report_keys.delta: {report_keys.absolute: 0, report_keys.relative: -0.00}, - report_keys.name: "RAM for global variables", - report_keys.maximum: 2560, - report_keys.previous: { - report_keys.absolute: 149, - report_keys.relative: 5.82, - }, - }, - ], - }, - ], - } - ], - }, - { - report_keys.commit_hash: "d8fd302", - report_keys.commit_url: "https://example.com/foo", - report_keys.boards: [ - { - report_keys.board: "arduino:avr:uno", - report_keys.sizes: [ - { - report_keys.delta: { - report_keys.absolute: {report_keys.maximum: -994, report_keys.minimum: -994}, - report_keys.relative: {report_keys.maximum: -3.08, report_keys.minimum: -3.08}, - }, - report_keys.name: "flash", - report_keys.maximum: 32256, - }, - { - report_keys.delta: { - report_keys.absolute: {report_keys.maximum: -175, report_keys.minimum: -175}, - report_keys.relative: {report_keys.maximum: -8.54, report_keys.minimum: -8.54}, - }, - report_keys.name: "RAM for global variables", - report_keys.maximum: 2048, - }, - ], - report_keys.sketches: [ - { - report_keys.compilation_success: True, - report_keys.name: "examples/Bar", - report_keys.sizes: [ - { - report_keys.current: { - report_keys.absolute: 1460, - report_keys.relative: 4.53, - }, - report_keys.delta: { - report_keys.absolute: "N/A", - report_keys.relative: "N/A", - }, - report_keys.name: "flash", - report_keys.maximum: 32256, - report_keys.previous: { - report_keys.absolute: "N/A", - report_keys.relative: "N/A", - }, - }, - { - report_keys.current: { - report_keys.absolute: 190, - report_keys.relative: 9.28, - }, - report_keys.delta: { - report_keys.absolute: "N/A", - report_keys.relative: "N/A", - }, - report_keys.name: "RAM for global variables", - report_keys.maximum: 2048, - report_keys.previous: { - report_keys.absolute: "N/A", - report_keys.relative: "N/A", - }, - }, - ], - }, - { - report_keys.compilation_success: True, - report_keys.name: "examples/Foo", - report_keys.sizes: [ - { - report_keys.current: { - report_keys.absolute: 444, - report_keys.relative: 1.38, - }, - report_keys.delta: { - report_keys.absolute: -994, - report_keys.relative: -3.08, - }, - report_keys.name: "flash", - report_keys.maximum: 32256, - report_keys.previous: { - report_keys.absolute: 1438, - report_keys.relative: 4.46, - }, - }, - { - report_keys.current: {report_keys.absolute: 9, report_keys.relative: 0.44}, - report_keys.delta: { - report_keys.absolute: -175, - report_keys.relative: -8.54, - }, - report_keys.name: "RAM for global variables", - report_keys.maximum: 2048, - report_keys.previous: { - report_keys.absolute: 184, - report_keys.relative: 8.98, - }, - }, - ], - }, - ], - } - ], - }, - { - report_keys.commit_hash: "54815a7d1a30fcb0d77d98242b158e7845c0516d", - report_keys.commit_url: "https://example.com/foo", - report_keys.boards: [ - { - report_keys.board: "arduino:mbed_portenta:envie_m7", - report_keys.sizes: [ - { - report_keys.name: "flash", - report_keys.maximum: "N/A", - }, - { - report_keys.name: "RAM for global variables", - report_keys.maximum: "N/A", - }, - ], - report_keys.sketches: [ - { - report_keys.compilation_success: True, - report_keys.name: "examples/Bar", - report_keys.sizes: [ - { - report_keys.current: { - report_keys.absolute: "N/A", - report_keys.relative: "N/A", - }, - report_keys.name: "flash", - report_keys.maximum: "N/A", - }, - { - report_keys.current: { - report_keys.absolute: "N/A", - report_keys.relative: "N/A", - }, - report_keys.name: "RAM for global variables", - report_keys.maximum: "N/A", - }, - ], - }, - { - report_keys.compilation_success: True, - report_keys.name: "examples/Foo", - report_keys.sizes: [ - { - report_keys.current: { - report_keys.absolute: "N/A", - report_keys.relative: "N/A", - }, - report_keys.name: "flash", - report_keys.maximum: "N/A", - }, - { - report_keys.current: { - report_keys.absolute: "N/A", - report_keys.relative: "N/A", - }, - report_keys.name: "RAM for global variables", - report_keys.maximum: "N/A", - }, - ], - }, - ], - } - ], - }, - ], - ), - ], + "test_data_folder_name", + ["old-report-format", "new-report-format"], ) -def test_get_sketches_reports(sketches_reports_path, expected_sketches_reports): +def test_get_sketches_reports(test_data_folder_name): + current_test_data_path = test_data_path.joinpath("test_get_sketches_reports", test_data_folder_name) report_size_deltas = get_reportsizedeltas_object() artifact_folder_object = tempfile.TemporaryDirectory(prefix="test_reportsizedeltas-") try: - distutils.dir_util.copy_tree(src=str(sketches_reports_path), dst=artifact_folder_object.name) + distutils.dir_util.copy_tree( + src=str(current_test_data_path.joinpath("artifact")), dst=artifact_folder_object.name + ) except Exception: # pragma: no cover artifact_folder_object.cleanup() raise sketches_reports = report_size_deltas.get_sketches_reports(artifact_folder_object=artifact_folder_object) - assert sketches_reports == expected_sketches_reports + with open(file=current_test_data_path.joinpath("golden-sketches-reports.json")) as golden_sketches_reports_file: + assert sketches_reports == json.load(golden_sketches_reports_file) @pytest.mark.parametrize(