mirror of
https://github.com/u-boot/u-boot.git
synced 2025-05-04 02:32:32 +00:00
test: Add a 'make qcheck' target for quicker testing
At present tests are quite slow to run, over a minute on my machine. This presents a considerable barrier to bisecting for failures. The slowest tests are the filesystem ones and the buildman --fetch-arch test. Add a new 'qcheck' target that skips these tests. This reduces test time down to about 40 second, still too long, but bearable. Signed-off-by: Simon Glass <sjg@chromium.org>
This commit is contained in:
parent
c83c436de0
commit
499fde5c23
7 changed files with 22 additions and 4 deletions
6
Makefile
6
Makefile
|
@ -443,7 +443,7 @@ defaultenv_h := include/generated/defaultenv_autogenerated.h
|
||||||
|
|
||||||
no-dot-config-targets := clean clobber mrproper distclean \
|
no-dot-config-targets := clean clobber mrproper distclean \
|
||||||
help %docs check% coccicheck \
|
help %docs check% coccicheck \
|
||||||
ubootversion backup tests
|
ubootversion backup tests check qcheck
|
||||||
|
|
||||||
config-targets := 0
|
config-targets := 0
|
||||||
mixed-targets := 0
|
mixed-targets := 0
|
||||||
|
@ -1727,6 +1727,7 @@ help:
|
||||||
@echo 'Test targets:'
|
@echo 'Test targets:'
|
||||||
@echo ''
|
@echo ''
|
||||||
@echo ' check - Run all automated tests that use sandbox'
|
@echo ' check - Run all automated tests that use sandbox'
|
||||||
|
@echo ' qcheck - Run quick automated tests that use sandbox'
|
||||||
@echo ''
|
@echo ''
|
||||||
@echo 'Other generic targets:'
|
@echo 'Other generic targets:'
|
||||||
@echo ' all - Build all necessary images depending on configuration'
|
@echo ' all - Build all necessary images depending on configuration'
|
||||||
|
@ -1769,6 +1770,9 @@ help:
|
||||||
tests check:
|
tests check:
|
||||||
$(srctree)/test/run
|
$(srctree)/test/run
|
||||||
|
|
||||||
|
qcheck:
|
||||||
|
$(srctree)/test/run quick
|
||||||
|
|
||||||
# Documentation targets
|
# Documentation targets
|
||||||
# ---------------------------------------------------------------------------
|
# ---------------------------------------------------------------------------
|
||||||
DOC_TARGETS := xmldocs latexdocs pdfdocs htmldocs epubdocs cleandocs \
|
DOC_TARGETS := xmldocs latexdocs pdfdocs htmldocs epubdocs cleandocs \
|
||||||
|
|
|
@ -10,11 +10,15 @@ Running tests
|
||||||
|
|
||||||
To run most tests on sandbox, type this:
|
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
|
in the U-Boot directory. Note that only the pytest suite is run using this
|
||||||
command.
|
command.
|
||||||
|
|
||||||
|
Some tests take ages to run. To run just the quick ones, type this:
|
||||||
|
|
||||||
|
make qcheck
|
||||||
|
|
||||||
|
|
||||||
Sandbox
|
Sandbox
|
||||||
-------
|
-------
|
||||||
|
|
|
@ -13,6 +13,7 @@ import re
|
||||||
from fstest_defs import *
|
from fstest_defs import *
|
||||||
|
|
||||||
@pytest.mark.boardspec('sandbox')
|
@pytest.mark.boardspec('sandbox')
|
||||||
|
@pytest.mark.slow
|
||||||
class TestFsBasic(object):
|
class TestFsBasic(object):
|
||||||
def test_fs1(self, u_boot_console, fs_obj_basic):
|
def test_fs1(self, u_boot_console, fs_obj_basic):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -13,6 +13,7 @@ import re
|
||||||
from fstest_defs import *
|
from fstest_defs import *
|
||||||
|
|
||||||
@pytest.mark.boardspec('sandbox')
|
@pytest.mark.boardspec('sandbox')
|
||||||
|
@pytest.mark.slow
|
||||||
class TestFsExt(object):
|
class TestFsExt(object):
|
||||||
def test_fs_ext1(self, u_boot_console, fs_obj_ext):
|
def test_fs_ext1(self, u_boot_console, fs_obj_ext):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -11,6 +11,7 @@ This test verifies mkdir operation on file system.
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
@pytest.mark.boardspec('sandbox')
|
@pytest.mark.boardspec('sandbox')
|
||||||
|
@pytest.mark.slow
|
||||||
class TestMkdir(object):
|
class TestMkdir(object):
|
||||||
def test_mkdir1(self, u_boot_console, fs_obj_mkdir):
|
def test_mkdir1(self, u_boot_console, fs_obj_mkdir):
|
||||||
"""
|
"""
|
||||||
|
|
|
@ -12,6 +12,7 @@ on file system.
|
||||||
import pytest
|
import pytest
|
||||||
|
|
||||||
@pytest.mark.boardspec('sandbox')
|
@pytest.mark.boardspec('sandbox')
|
||||||
|
@pytest.mark.slow
|
||||||
class TestUnlink(object):
|
class TestUnlink(object):
|
||||||
def test_unlink1(self, u_boot_console, fs_obj_unlink):
|
def test_unlink1(self, u_boot_console, fs_obj_unlink):
|
||||||
"""
|
"""
|
||||||
|
|
10
test/run
10
test/run
|
@ -1,6 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
# Script to run all U-Boot tests that use sandbox.
|
# 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
|
# Runs a test and checks the exit code to decide if it passed
|
||||||
# $1: Test name
|
# $1: Test name
|
||||||
|
@ -12,10 +13,13 @@ run_test() {
|
||||||
[ $? -ne 0 ] && failures=$((failures+1))
|
[ $? -ne 0 ] && failures=$((failures+1))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# SKip slow tests if requested
|
||||||
|
[ "$1" == "quick" ] && mark_expr="not slow"
|
||||||
|
|
||||||
failures=0
|
failures=0
|
||||||
|
|
||||||
# Run all tests that the standard sandbox build can support
|
# 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 tests which require sandbox_spl
|
||||||
run_test "sandbox_spl" ./test/py/test.py --bd sandbox_spl --build \
|
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 "binman" ./tools/binman/binman -t
|
||||||
run_test "patman" ./tools/patman/patman --test
|
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 "fdt" ./tools/dtoc/test_fdt -t
|
||||||
run_test "dtoc" ./tools/dtoc/dtoc -t
|
run_test "dtoc" ./tools/dtoc/dtoc -t
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue