OSDN Git Service

tests/docker: allow user to override check target
authorAlex Bennée <alex.bennee@linaro.org>
Thu, 17 Nov 2022 17:25:22 +0000 (17:25 +0000)
committerAlex Bennée <alex.bennee@linaro.org>
Tue, 22 Nov 2022 09:49:03 +0000 (09:49 +0000)
This is useful when trying to bisect a particular failing test behind
a docker run. For example:

  make docker-test-clang@fedora \
    TARGET_LIST=arm-softmmu \
    TEST_COMMAND="meson test qtest-arm/qos-test" \
    J=9 V=1

Signed-off-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Message-Id: <20221117172532.538149-4-alex.bennee@linaro.org>

tests/docker/Makefile.include
tests/docker/common.rc

index c87f144..fc7a3b7 100644 (file)
@@ -184,6 +184,7 @@ docker:
        @echo '    TARGET_LIST=a,b,c    Override target list in builds.'
        @echo '    EXTRA_CONFIGURE_OPTS="..."'
        @echo '                         Extra configure options.'
+       @echo '    TEST_COMMAND="..."   Override the default `make check` target.'
        @echo '    IMAGES="a b c ..":   Restrict available images to subset.'
        @echo '    TESTS="x y z .."     Restrict available tests to subset.'
        @echo '    J=[0..9]*            Overrides the -jN parameter for make commands'
@@ -230,6 +231,7 @@ docker-run: docker-qemu-src
                        $(if $(NETWORK),$(if $(subst $(NETWORK),,1),--net=$(NETWORK)),--net=none) \
                        -e TARGET_LIST=$(subst $(SPACE),$(COMMA),$(TARGET_LIST))        \
                        -e EXTRA_CONFIGURE_OPTS="$(EXTRA_CONFIGURE_OPTS)" \
+                       -e TEST_COMMAND="$(TEST_COMMAND)"               \
                        -e V=$V -e J=$J -e DEBUG=$(DEBUG)               \
                        -e SHOW_ENV=$(SHOW_ENV)                         \
                        $(if $(NOUSER),,                                \
index e6f8cee..9a33df2 100755 (executable)
@@ -63,12 +63,12 @@ check_qemu()
 {
     # default to make check unless the caller specifies
     if [ $# = 0 ]; then
-        INVOCATION="check"
+        INVOCATION="${TEST_COMMAND:-make $MAKEFLAGS check}"
     else
-        INVOCATION="$@"
+        INVOCATION="make $MAKEFLAGS $@"
     fi
 
-    make $MAKEFLAGS $INVOCATION
+    $INVOCATION
 }
 
 test_fail()