mirror of https://github.com/ARMmbed/mbed-os.git
Assert that reduce depth works and parameterize over path sep
parent
3db03a77d5
commit
d94776f909
|
@ -20,6 +20,7 @@ import json
|
||||||
|
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
|
import tools.memap
|
||||||
from tools.memap import MemapParser
|
from tools.memap import MemapParser
|
||||||
from copy import deepcopy
|
from copy import deepcopy
|
||||||
|
|
||||||
|
@ -137,7 +138,7 @@ def memap_parser():
|
||||||
return memap_parser
|
return memap_parser
|
||||||
|
|
||||||
|
|
||||||
def generate_test_helper(memap_parser, format, depth, file_output=None):
|
def generate_test_helper(memap_parser, format, depth, sep, file_output=None):
|
||||||
"""
|
"""
|
||||||
Helper that tests that the member variables "modules" is
|
Helper that tests that the member variables "modules" is
|
||||||
unchanged after calling "generate_output"
|
unchanged after calling "generate_output"
|
||||||
|
@ -147,17 +148,21 @@ def generate_test_helper(memap_parser, format, depth, file_output=None):
|
||||||
:param format: the file type to output
|
:param format: the file type to output
|
||||||
:param file_output: the file to output to
|
:param file_output: the file to output to
|
||||||
"""
|
"""
|
||||||
|
|
||||||
old_modules = deepcopy(memap_parser.modules)
|
old_modules = deepcopy(memap_parser.modules)
|
||||||
|
|
||||||
|
tools.memap.sep = sep
|
||||||
memap_parser.generate_output(format, depth, file_output=file_output)
|
memap_parser.generate_output(format, depth, file_output=file_output)
|
||||||
|
|
||||||
assert memap_parser.modules == old_modules,\
|
assert memap_parser.modules == old_modules,\
|
||||||
"generate_output modified the 'modules' property"
|
"generate_output modified the 'modules' property"
|
||||||
|
|
||||||
|
for file_name in memap_parser.short_modules:
|
||||||
|
assert(len(file_name.split(tools.memap.sep)) <= depth)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("depth", [1, 2, 20])
|
@pytest.mark.parametrize("depth", [1, 2, 20])
|
||||||
def test_report_computed(memap_parser, depth):
|
@pytest.mark.parametrize("sep", ["\\", "/"])
|
||||||
|
def test_report_computed(memap_parser, depth, sep):
|
||||||
"""
|
"""
|
||||||
Test that a report and summary are computed
|
Test that a report and summary are computed
|
||||||
|
|
||||||
|
@ -165,7 +170,7 @@ def test_report_computed(memap_parser, depth):
|
||||||
:param depth: the detail of the output
|
:param depth: the detail of the output
|
||||||
"""
|
"""
|
||||||
|
|
||||||
memap_parser.generate_output('table', depth)
|
memap_parser.generate_output('table', depth, sep)
|
||||||
|
|
||||||
# Report is created after generating output
|
# Report is created after generating output
|
||||||
assert memap_parser.mem_summary
|
assert memap_parser.mem_summary
|
||||||
|
@ -173,17 +178,19 @@ def test_report_computed(memap_parser, depth):
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("depth", [1, 2, 20])
|
@pytest.mark.parametrize("depth", [1, 2, 20])
|
||||||
def test_generate_output_table(memap_parser, depth):
|
@pytest.mark.parametrize("sep", ["\\", "/"])
|
||||||
|
def test_generate_output_table(memap_parser, depth, sep):
|
||||||
"""
|
"""
|
||||||
Test that an output of type "table" can be generated correctly
|
Test that an output of type "table" can be generated correctly
|
||||||
:param memap_parser: Mocked parser
|
:param memap_parser: Mocked parser
|
||||||
:param depth: the detail of the output
|
:param depth: the detail of the output
|
||||||
"""
|
"""
|
||||||
generate_test_helper(memap_parser, 'table', depth)
|
generate_test_helper(memap_parser, 'table', depth, sep)
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("depth", [1, 2, 20])
|
@pytest.mark.parametrize("depth", [1, 2, 20])
|
||||||
def test_generate_output_json(memap_parser, tmpdir, depth):
|
@pytest.mark.parametrize("sep", ["\\", "/"])
|
||||||
|
def test_generate_output_json(memap_parser, tmpdir, depth, sep):
|
||||||
"""
|
"""
|
||||||
Test that an output of type "json" can be generated correctly
|
Test that an output of type "json" can be generated correctly
|
||||||
:param memap_parser: Mocked parser
|
:param memap_parser: Mocked parser
|
||||||
|
@ -191,13 +198,14 @@ def test_generate_output_json(memap_parser, tmpdir, depth):
|
||||||
:param depth: the detail of the output
|
:param depth: the detail of the output
|
||||||
"""
|
"""
|
||||||
file_name = str(tmpdir.join('output.json').realpath())
|
file_name = str(tmpdir.join('output.json').realpath())
|
||||||
generate_test_helper(memap_parser, 'json', depth, file_name)
|
generate_test_helper(memap_parser, 'json', depth, sep, file_name)
|
||||||
assert isfile(file_name), "Failed to create json file"
|
assert isfile(file_name), "Failed to create json file"
|
||||||
json.load(open(file_name))
|
json.load(open(file_name))
|
||||||
|
|
||||||
|
|
||||||
@pytest.mark.parametrize("depth", [1, 2, 20])
|
@pytest.mark.parametrize("depth", [1, 2, 20])
|
||||||
def test_generate_output_csv_ci(memap_parser, tmpdir, depth):
|
@pytest.mark.parametrize("sep", ["\\", "/"])
|
||||||
|
def test_generate_output_csv_ci(memap_parser, tmpdir, depth, sep):
|
||||||
"""
|
"""
|
||||||
Test ensures that an output of type "csv-ci" can be generated correctly
|
Test ensures that an output of type "csv-ci" can be generated correctly
|
||||||
|
|
||||||
|
@ -206,5 +214,5 @@ def test_generate_output_csv_ci(memap_parser, tmpdir, depth):
|
||||||
:param depth: the detail of the output
|
:param depth: the detail of the output
|
||||||
"""
|
"""
|
||||||
file_name = str(tmpdir.join('output.csv').realpath())
|
file_name = str(tmpdir.join('output.csv').realpath())
|
||||||
generate_test_helper(memap_parser, 'csv-ci', depth, file_name)
|
generate_test_helper(memap_parser, 'csv-ci', depth, sep, file_name)
|
||||||
assert isfile(file_name), "Failed to create csv-ci file"
|
assert isfile(file_name), "Failed to create csv-ci file"
|
||||||
|
|
Loading…
Reference in New Issue