summaryrefslogtreecommitdiffstats
path: root/testsuites
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2017-04-16 09:51:57 +1000
committerChris Johns <chrisj@rtems.org>2017-04-18 12:27:57 +1000
commit18f63c0004cc3348bc785a642da82d2a3d46db5d (patch)
tree2142a4617725586701c6ac08dd8e40cda9cab8b7 /testsuites
parentlibdebugger: Work around assert when using _Thread_Executing. (diff)
downloadrtems-18f63c0004cc3348bc785a642da82d2a3d46db5d.tar.bz2
testsuite: Fix rtems-test-check not excluding tests.
The include file handling was broken. Add a test configuration data README. Closes #2981.
Diffstat (limited to 'testsuites')
-rw-r--r--testsuites/README.testdata72
-rw-r--r--testsuites/automake/subdirs.am7
2 files changed, 76 insertions, 3 deletions
diff --git a/testsuites/README.testdata b/testsuites/README.testdata
new file mode 100644
index 0000000000..74a64e6b4e
--- /dev/null
+++ b/testsuites/README.testdata
@@ -0,0 +1,72 @@
+RTEMS Testsuite Configuration
+=============================
+
+The RTEMS Testsuite lets you configure the tests for a BSP. Every BSP can have
+a test configuration data file and this file is read when building the
+tests. The test configuration data can control what tests are build and now the
+tests are built.
+
+The test configuration data files have a `.tcfg` file extension. You can
+include other test configuration data files reducing repeated test
+sequences. There is also a global test configuration data file for global
+configurations.
+
+Command
+-------
+
+The build system invokes the test check tool to determine what it does.
+
+ rtems-test-check mode bsp testconfig includepaths test[s]
+
+Mode (mode)
+~~~~~~~~~~~
+
+The check command modes are:
+
+ 1. `exclude`: The input list of tests is checked against the excluded tests
+ and the tests that are not excluded are printed.
+
+ 2. `flags': The test build flags are returned. These flags can enumerate a
+ test in a specific way.
+
+BSP (bsp)
+~~~~~~~~~
+
+The name of the BSP.
+
+Test Configuration (testconfig)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+The path to the BSP's test configration file. If the file does not exist the
+input list of tests is returned and there are no special build flags.
+
+Include Paths (inputpaths)
+~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+A colon (`:`) separated list of paths test configuration files are search
+for.
+
+Tests (test[s])
+~~~~~~~~~~~~~~~
+
+If the mode is `exclude` this argument is a list of tests to be checked. If the
+mode is `flags` a single test is required and the flags for the test are returned.
+
+File Format
+-----------
+
+The file is an ASCII text file of lines. And text after and including the `#`
+character is removed. Empty lines are ignored.
+
+A line is either the `include` directive or a test state. The states are:
+
+ exclude : Exclude the test from being built.
+ expected-fail : The test is built but expected to fail.
+ user-input : The test requires user input and may be aborted when running
+ the tests.
+ indeterminate : The test result is indeterminate. This means the test may pass
+ or may fail therefore it cannot be included in the regression
+ results.
+ benchmark : The test is a benchmark and maybe is aborted when running the
+ tests because of the load and time the test may take to run.
+ Performance changes are currently not viewed as a regression.
diff --git a/testsuites/automake/subdirs.am b/testsuites/automake/subdirs.am
index 70a7ecb78c..63b1da1049 100644
--- a/testsuites/automake/subdirs.am
+++ b/testsuites/automake/subdirs.am
@@ -15,7 +15,8 @@ all-local:
target="all"; \
fi; \
tcheck="$(top_srcdir)/../../tools/build/rtems-test-check-py"; \
- tdata="$(top_srcdir)/../../c/src/lib/libbsp/$(RTEMS_CPU)/$(RTEMS_BSP_FAMILY)/make/custom/$(RTEMS_BSP)-testsuite.tcfg"; \
+ tdata="$(RTEMS_BSP)-testsuite.tcfg"; \
+ tincludes="$(top_srcdir)/../../c/src/lib/libbsp/$(RTEMS_CPU)/$(RTEMS_BSP_FAMILY)/make/custom:$(top_srcdir)/.."; \
if test -f "$$tdata"; then \
vtdata="$(RTEMS_CPU)/$(RTEMS_BSP_FAMILY)/make/custom/$(RTEMS_BSP)-testsuite.tcfg"; \
else \
@@ -23,7 +24,7 @@ all-local:
fi; \
echo "BSP Testsuite Data: $$vtdata"; \
if test -f $$tcheck; then \
- list=`$$tcheck exclude $$tdata $(top_srcdir)/.. $(RTEMS_BSP) $(_SUBDIRS)`; \
+ list=`$$tcheck exclude $(RTEMS_BSP) $$tdata $$tincludes $(_SUBDIRS)`; \
else \
list=$(_SUBDIRS); \
fi; \
@@ -31,7 +32,7 @@ all-local:
echo "Making $$target in $$subdir"; \
if test "$$subdir" != "."; then \
if test -f $$tcheck; then \
- test_FLAGS=`$$tcheck flags $$tdata $(top_srcdir)/.. $(RTEMS_BSP) $$subdir`; \
+ test_FLAGS=`$$tcheck flags $(RTEMS_BSP) $$tdata $$tincludes $$subdir`; \
fi; \
local_target="$$target"; \
if test -z "$$test_FLAGS"; then \