From 008dcddf9937bd2576f98b48eb5bf0f60ad36014 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Mon, 11 Jun 2018 13:07:16 -0600 Subject: dm: spi: Update sandbox SPI emulation driver to use ofnode Update the parameters sandbox_sf_bind_emul to support livetree. Signed-off-by: Simon Glass --- test/dm/spi.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'test') diff --git a/test/dm/spi.c b/test/dm/spi.c index 252b87431fb..ffd789cd7fb 100644 --- a/test/dm/spi.c +++ b/test/dm/spi.c @@ -23,7 +23,7 @@ static int dm_test_spi_find(struct unit_test_state *uts) struct udevice *bus, *dev; const int busnum = 0, cs = 0, mode = 0, speed = 1000000, cs_b = 1; struct spi_cs_info info; - int of_offset; + ofnode node; ut_asserteq(-ENODEV, uclass_find_device_by_seq(UCLASS_SPI, busnum, false, &bus)); @@ -34,7 +34,7 @@ static int dm_test_spi_find(struct unit_test_state *uts) */ ut_asserteq(0, uclass_get_device_by_seq(UCLASS_SPI, busnum, &bus)); ut_assertok(spi_cs_info(bus, cs, &info)); - of_offset = dev_of_offset(info.dev); + node = dev_ofnode(info.dev); device_remove(info.dev, DM_REMOVE_NORMAL); device_unbind(info.dev); @@ -65,7 +65,7 @@ static int dm_test_spi_find(struct unit_test_state *uts) ut_asserteq_ptr(NULL, info.dev); /* Add the emulation and try again */ - ut_assertok(sandbox_sf_bind_emul(state, busnum, cs, bus, of_offset, + ut_assertok(sandbox_sf_bind_emul(state, busnum, cs, bus, node, "name")); ut_assertok(spi_find_bus_and_cs(busnum, cs, &bus, &dev)); ut_assertok(spi_get_bus_and_cs(busnum, cs, speed, mode, @@ -75,7 +75,7 @@ static int dm_test_spi_find(struct unit_test_state *uts) ut_asserteq_ptr(info.dev, slave->dev); /* We should be able to add something to another chip select */ - ut_assertok(sandbox_sf_bind_emul(state, busnum, cs_b, bus, of_offset, + ut_assertok(sandbox_sf_bind_emul(state, busnum, cs_b, bus, node, "name")); ut_assertok(spi_get_bus_and_cs(busnum, cs_b, speed, mode, "spi_flash_std", "name", &bus, &slave)); -- cgit v1.3.1 From 16d836cd6fa0d22e24fa2340df08e6d6d80c5107 Mon Sep 17 00:00:00 2001 From: Tom Rini Date: Fri, 6 Jul 2018 10:27:14 -0600 Subject: binman: Switch to 'python-coverage' The most portable way to get access to coverage is to invoke it as 'python-coverage'. Cc: Simon Glass Signed-off-by: Tom Rini Signed-off-by: Simon Glass --- test/run | 3 +-- tools/binman/README | 3 +-- tools/binman/binman.py | 9 +++++---- 3 files changed, 7 insertions(+), 8 deletions(-) (limited to 'test') diff --git a/test/run b/test/run index eb1563d13ed..0b9188eaa8e 100755 --- a/test/run +++ b/test/run @@ -26,8 +26,7 @@ PYTHONPATH=${DTC_DIR}/pylibfdt DTC=${DTC_DIR}/dtc run_test ./tools/dtoc/dtoc -t # This needs you to set up Python test coverage tools. # To enable Python test coverage on Debian-type distributions (e.g. Ubuntu): -# $ sudo apt-get install python-pip python-pytest -# $ sudo pip install coverage +# $ sudo apt-get install python-pytest python-coverage PYTHONPATH=${DTC_DIR}/pylibfdt DTC=${DTC_DIR}/dtc run_test \ ./tools/binman/binman -T diff --git a/tools/binman/README b/tools/binman/README index 22f21bc5b44..f74e39242f6 100644 --- a/tools/binman/README +++ b/tools/binman/README @@ -583,8 +583,7 @@ implementations target 100% test coverage. Run 'binman -T' to check this. To enable Python test coverage on Debian-type distributions (e.g. Ubuntu): - $ sudo apt-get install python-pip python-pytest - $ sudo pip install coverage + $ sudo apt-get install python-coverage python-pytest Advanced Features / Technical docs diff --git a/tools/binman/binman.py b/tools/binman/binman.py index 31b045337d2..944fd5d7ba3 100755 --- a/tools/binman/binman.py +++ b/tools/binman/binman.py @@ -81,24 +81,25 @@ def RunTests(debug, args): def RunTestCoverage(): """Run the tests and check that we get 100% coverage""" # This uses the build output from sandbox_spl to get _libfdt.so - cmd = ('PYTHONPATH=$PYTHONPATH:%s/sandbox_spl/tools coverage run ' + cmd = ('PYTHONPATH=$PYTHONPATH:%s/sandbox_spl/tools python-coverage run ' '--include "tools/binman/*.py" --omit "*test*,*binman.py" ' 'tools/binman/binman.py -t' % options.build_dir) os.system(cmd) - stdout = command.Output('coverage', 'report') + stdout = command.Output('python-coverage', 'report') lines = stdout.splitlines() test_set= set([os.path.basename(line.split()[0]) for line in lines if '/etype/' in line]) glob_list = glob.glob(os.path.join(our_path, 'etype/*.py')) - all_set = set([os.path.basename(item) for item in glob_list]) + all_set = set([os.path.splitext(os.path.basename(item))[0] + for item in glob_list if '_testing' not in item]) missing_list = all_set missing_list.difference_update(test_set) - missing_list.remove('_testing.py') coverage = lines[-1].split(' ')[-1] ok = True if missing_list: print 'Missing tests for %s' % (', '.join(missing_list)) + print stdout ok = False if coverage != '100%': print stdout -- cgit v1.3.1 From ef6f77a8473fdc71c145a955ea9bdfd54de331d2 Mon Sep 17 00:00:00 2001 From: Simon Glass Date: Fri, 6 Jul 2018 10:27:36 -0600 Subject: test: Enable cover-coverage tests for dtoc and fdt Now that we have 100% code coverage we can enable these tests in the test script also. Signed-off-by: Simon Glass --- test/run | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'test') diff --git a/test/run b/test/run index 0b9188eaa8e..d77a1c371b4 100755 --- a/test/run +++ b/test/run @@ -29,6 +29,10 @@ PYTHONPATH=${DTC_DIR}/pylibfdt DTC=${DTC_DIR}/dtc run_test ./tools/dtoc/dtoc -t # $ sudo apt-get install python-pytest python-coverage PYTHONPATH=${DTC_DIR}/pylibfdt DTC=${DTC_DIR}/dtc run_test \ ./tools/binman/binman -T +PYTHONPATH=${DTC_DIR}/pylibfdt DTC=${DTC_DIR}/dtc run_test \ + ./tools/dtoc/dtoc -T +PYTHONPATH=${DTC_DIR}/pylibfdt DTC=${DTC_DIR}/dtc run_test \ + ./tools/dtoc/test_fdt -T if [ $result == 0 ]; then echo "Tests passed!" -- cgit v1.3.1