diff options
Diffstat (limited to 'test')
-rw-r--r-- | test/README | 6 | ||||
-rw-r--r-- | test/dm/i2c.c | 2 | ||||
-rw-r--r-- | test/dm/rtc.c | 9 | ||||
-rw-r--r-- | test/dm/test-fdt.c | 47 | ||||
-rw-r--r-- | test/py/tests/test_fs/test_basic.py | 1 | ||||
-rw-r--r-- | test/py/tests/test_fs/test_ext.py | 1 | ||||
-rw-r--r-- | test/py/tests/test_fs/test_mkdir.py | 1 | ||||
-rw-r--r-- | test/py/tests/test_fs/test_unlink.py | 1 | ||||
-rwxr-xr-x | test/run | 10 |
9 files changed, 70 insertions, 8 deletions
diff --git a/test/README b/test/README index 873a4e19313..4bc9ca3a6ae 100644 --- a/test/README +++ b/test/README @@ -10,11 +10,15 @@ Running tests To run most tests on sandbox, type this: - test/run + make check in the U-Boot directory. Note that only the pytest suite is run using this command. +Some tests take ages to run. To run just the quick ones, type this: + + make qcheck + Sandbox ------- diff --git a/test/dm/i2c.c b/test/dm/i2c.c index 772f62b265d..cbbd4aa29a1 100644 --- a/test/dm/i2c.c +++ b/test/dm/i2c.c @@ -35,7 +35,7 @@ static int dm_test_i2c_find(struct unit_test_state *uts) */ ut_assertok(uclass_get_device_by_seq(UCLASS_I2C, busnum, &bus)); ut_assertok(dm_i2c_probe(bus, chip, 0, &dev)); - ut_asserteq(-ENODEV, dm_i2c_probe(bus, no_chip, 0, &dev)); + ut_asserteq(-ENOENT, dm_i2c_probe(bus, no_chip, 0, &dev)); ut_asserteq(-ENODEV, uclass_get_device_by_seq(UCLASS_I2C, 1, &bus)); return 0; diff --git a/test/dm/rtc.c b/test/dm/rtc.c index e2bc648fdcf..71887427647 100644 --- a/test/dm/rtc.c +++ b/test/dm/rtc.c @@ -6,6 +6,7 @@ #include <common.h> #include <dm.h> +#include <i2c.h> #include <rtc.h> #include <asm/io.h> #include <asm/test.h> @@ -60,7 +61,7 @@ static int dm_test_rtc_set_get(struct unit_test_state *uts) ut_assertok(uclass_get_device(UCLASS_RTC, 0, &dev)); ut_assertok(dm_rtc_get(dev, &now)); - ut_assertok(device_find_first_child(dev, &emul)); + ut_assertok(i2c_emul_find(dev, &emul)); ut_assert(emul != NULL); /* Tell the RTC to go into manual mode */ @@ -125,7 +126,7 @@ static int dm_test_rtc_reset(struct unit_test_state *uts) ut_assertok(uclass_get_device(UCLASS_RTC, 0, &dev)); ut_assertok(dm_rtc_get(dev, &now)); - ut_assertok(device_find_first_child(dev, &emul)); + ut_assertok(i2c_emul_find(dev, &emul)); ut_assert(emul != NULL); old_base_time = sandbox_i2c_rtc_get_set_base_time(emul, 0); @@ -154,9 +155,9 @@ static int dm_test_rtc_dual(struct unit_test_state *uts) ut_assertok(uclass_get_device(UCLASS_RTC, 1, &dev2)); ut_assertok(dm_rtc_get(dev2, &now2)); - ut_assertok(device_find_first_child(dev1, &emul1)); + ut_assertok(i2c_emul_find(dev1, &emul1)); ut_assert(emul1 != NULL); - ut_assertok(device_find_first_child(dev2, &emul2)); + ut_assertok(i2c_emul_find(dev2, &emul2)); ut_assert(emul2 != NULL); offset = sandbox_i2c_rtc_set_offset(emul1, false, -1); diff --git a/test/dm/test-fdt.c b/test/dm/test-fdt.c index e43acb21d5e..0fbd9be765a 100644 --- a/test/dm/test-fdt.c +++ b/test/dm/test-fdt.c @@ -611,3 +611,50 @@ static int dm_test_fdt_disable_enable_by_path(struct unit_test_state *uts) } DM_TEST(dm_test_fdt_disable_enable_by_path, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); + +/* Test a few uclass phandle functions */ +static int dm_test_fdt_phandle(struct unit_test_state *uts) +{ + struct udevice *back, *dev, *dev2; + + ut_assertok(uclass_find_first_device(UCLASS_PANEL_BACKLIGHT, &back)); + ut_asserteq(-ENOENT, uclass_find_device_by_phandle(UCLASS_REGULATOR, + back, "missing", &dev)); + ut_assertok(uclass_find_device_by_phandle(UCLASS_REGULATOR, back, + "power-supply", &dev)); + ut_asserteq(0, device_active(dev)); + ut_asserteq_str("ldo1", dev->name); + ut_assertok(uclass_get_device_by_phandle(UCLASS_REGULATOR, back, + "power-supply", &dev2)); + ut_asserteq_ptr(dev, dev2); + + return 0; +} +DM_TEST(dm_test_fdt_phandle, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); + +/* Test device_find_first_child_by_uclass() */ +static int dm_test_first_child(struct unit_test_state *uts) +{ + struct udevice *i2c, *dev, *dev2; + + ut_assertok(uclass_first_device_err(UCLASS_I2C, &i2c)); + ut_assertok(device_find_first_child_by_uclass(i2c, UCLASS_RTC, &dev)); + ut_asserteq_str("rtc@43", dev->name); + ut_assertok(device_find_child_by_name(i2c, "rtc@43", &dev2)); + ut_asserteq_ptr(dev, dev2); + ut_assertok(device_find_child_by_name(i2c, "rtc@61", &dev2)); + ut_asserteq_str("rtc@61", dev2->name); + + ut_assertok(device_find_first_child_by_uclass(i2c, UCLASS_I2C_EEPROM, + &dev)); + ut_asserteq_str("eeprom@2c", dev->name); + ut_assertok(device_find_child_by_name(i2c, "eeprom@2c", &dev2)); + ut_asserteq_ptr(dev, dev2); + + ut_asserteq(-ENODEV, device_find_first_child_by_uclass(i2c, + UCLASS_VIDEO, &dev)); + ut_asserteq(-ENODEV, device_find_child_by_name(i2c, "missing", &dev)); + + return 0; +} +DM_TEST(dm_test_first_child, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); diff --git a/test/py/tests/test_fs/test_basic.py b/test/py/tests/test_fs/test_basic.py index c067cc9ba3f..140ca29ac73 100644 --- a/test/py/tests/test_fs/test_basic.py +++ b/test/py/tests/test_fs/test_basic.py @@ -13,6 +13,7 @@ import re from fstest_defs import * @pytest.mark.boardspec('sandbox') +@pytest.mark.slow class TestFsBasic(object): def test_fs1(self, u_boot_console, fs_obj_basic): """ diff --git a/test/py/tests/test_fs/test_ext.py b/test/py/tests/test_fs/test_ext.py index 38217d08bf6..06cad5516d5 100644 --- a/test/py/tests/test_fs/test_ext.py +++ b/test/py/tests/test_fs/test_ext.py @@ -13,6 +13,7 @@ import re from fstest_defs import * @pytest.mark.boardspec('sandbox') +@pytest.mark.slow class TestFsExt(object): def test_fs_ext1(self, u_boot_console, fs_obj_ext): """ diff --git a/test/py/tests/test_fs/test_mkdir.py b/test/py/tests/test_fs/test_mkdir.py index d9da97b56b5..b3fe11cf3b5 100644 --- a/test/py/tests/test_fs/test_mkdir.py +++ b/test/py/tests/test_fs/test_mkdir.py @@ -11,6 +11,7 @@ This test verifies mkdir operation on file system. import pytest @pytest.mark.boardspec('sandbox') +@pytest.mark.slow class TestMkdir(object): def test_mkdir1(self, u_boot_console, fs_obj_mkdir): """ diff --git a/test/py/tests/test_fs/test_unlink.py b/test/py/tests/test_fs/test_unlink.py index 69c1a6e078c..2b817468eda 100644 --- a/test/py/tests/test_fs/test_unlink.py +++ b/test/py/tests/test_fs/test_unlink.py @@ -12,6 +12,7 @@ on file system. import pytest @pytest.mark.boardspec('sandbox') +@pytest.mark.slow class TestUnlink(object): def test_unlink1(self, u_boot_console, fs_obj_unlink): """ @@ -1,6 +1,7 @@ #!/bin/bash # Script to run all U-Boot tests that use sandbox. +# $1: tests to run (empty for all, 'quick' for quick ones only) # Runs a test and checks the exit code to decide if it passed # $1: Test name @@ -12,10 +13,13 @@ run_test() { [ $? -ne 0 ] && failures=$((failures+1)) } +# SKip slow tests if requested +[ "$1" == "quick" ] && mark_expr="not slow" + failures=0 # Run all tests that the standard sandbox build can support -run_test "sandbox" ./test/py/test.py --bd sandbox --build +run_test "sandbox" ./test/py/test.py --bd sandbox --build -m "${mark_expr}" # Run tests which require sandbox_spl run_test "sandbox_spl" ./test/py/test.py --bd sandbox_spl --build \ @@ -36,7 +40,9 @@ export DTC=${DTC_DIR}/dtc run_test "binman" ./tools/binman/binman -t run_test "patman" ./tools/patman/patman --test -run_test "buildman" ./tools/buildman/buildman -t + +[ "$1" == "quick" ] && skip=--skip-net-tests +run_test "buildman" ./tools/buildman/buildman -t ${skip} run_test "fdt" ./tools/dtoc/test_fdt -t run_test "dtoc" ./tools/dtoc/dtoc -t |