Add a 'make tcheck' option to test tools
authorSimon Glass <sjg@chromium.org>
Sat, 18 Apr 2020 00:08:59 +0000 (18:08 -0600)
committerSimon Glass <sjg@chromium.org>
Sun, 26 Apr 2020 20:25:21 +0000 (14:25 -0600)
Running all the unit tests takes a while and is not useful when you are
just modifying the tools. Add an option to run only the tools tests.

Signed-off-by: Simon Glass <sjg@chromium.org>
Makefile
test/run

index b8a4b5058a00f92d061e9823f6842a40273dbb26..b56250ab7dd15219bc9be9196efeb5f6d1d9f1af 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -512,7 +512,7 @@ dt_h := include/generated/dt.h
 
 no-dot-config-targets := clean clobber mrproper distclean \
                         help %docs check% coccicheck \
-                        ubootversion backup tests check qcheck
+                        ubootversion backup tests check qcheck tcheck
 
 config-targets := 0
 mixed-targets  := 0
@@ -2098,6 +2098,7 @@ help:
        @echo  ''
        @echo  '  check           - Run all automated tests that use sandbox'
        @echo  '  qcheck          - Run quick automated tests that use sandbox'
+       @echo  '  tcheck          - Run quick automated tests on tools'
        @echo  ''
        @echo  'Other generic targets:'
        @echo  '  all             - Build all necessary images depending on configuration'
@@ -2143,6 +2144,9 @@ tests check:
 qcheck:
        $(srctree)/test/run quick
 
+tcheck:
+       $(srctree)/test/run tools
+
 # Documentation targets
 # ---------------------------------------------------------------------------
 DOC_TARGETS := xmldocs latexdocs pdfdocs htmldocs epubdocs cleandocs \
index d635622c106c351e24466064e2b162f7b97b7079..27331a8e40d1dcc2b6d64a0907b97b60cc725f02 100755 (executable)
--- a/test/run
+++ b/test/run
@@ -15,22 +15,29 @@ run_test() {
 
 # SKip slow tests if requested
 [ "$1" == "quick" ] && mark_expr="not slow"
+[ "$1" == "quick" ] && skip=--skip-net-tests
+[ "$1" == "tools" ] && tools_only=y
 
 failures=0
 
-# Run all tests that the standard sandbox build can support
-run_test "sandbox" ./test/py/test.py --bd sandbox --build -m "${mark_expr}"
+if [ -z "$tools_only" ]; then
+       # Run all tests that the standard sandbox build can support
+       run_test "sandbox" ./test/py/test.py --bd sandbox --build \
+               -m "${mark_expr}"
+fi
 
 # Run tests which require sandbox_spl
 run_test "sandbox_spl" ./test/py/test.py --bd sandbox_spl --build \
-       -k 'test_ofplatdata or test_handoff'
+               -k 'test_ofplatdata or test_handoff'
 
-# Run tests for the flat-device-tree version of sandbox. This is a special
-# build which does not enable CONFIG_OF_LIVE for the live device tree, so we can
-# check that functionality is the same. The standard sandbox build (above) uses
-# CONFIG_OF_LIVE.
-run_test "sandbox_flattree" ./test/py/test.py --bd sandbox_flattree --build \
-       -k test_ut
+if [ -z "$tools_only" ]; then
+       # Run tests for the flat-device-tree version of sandbox. This is a special
+       # build which does not enable CONFIG_OF_LIVE for the live device tree, so we can
+       # check that functionality is the same. The standard sandbox build (above) uses
+       # CONFIG_OF_LIVE.
+       run_test "sandbox_flattree" ./test/py/test.py --bd sandbox_flattree \
+               --build -k test_ut
+fi
 
 # Set up a path to dtc (device-tree compiler) and libfdt.py, a library it
 # provides and which is built by the sandbox_spl config. Also set up the path
@@ -43,7 +50,6 @@ TOOLS_DIR=build-sandbox_spl/tools
 run_test "binman" ./tools/binman/binman --toolpath ${TOOLS_DIR} test
 run_test "patman" ./tools/patman/patman --test
 
-[ "$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