summaryrefslogtreecommitdiffstats
path: root/testsuites
diff options
context:
space:
mode:
authorChris Johns <chrisj@rtems.org>2016-12-05 14:53:54 +1100
committerChris Johns <chrisj@rtems.org>2016-12-07 17:22:41 +1100
commit28fda6279b82c07a673a8ebf875b77bb69695f1a (patch)
treeb6c1b6a199664fa9bf6acb977c631e05efcaa4a9 /testsuites
parentscore: Simplify linker set API (diff)
downloadrtems-28fda6279b82c07a673a8ebf875b77bb69695f1a.tar.bz2
testsuite: Add test states to the testsuit configuration files.
Change the testsuite configuration files to hold state information about a test. The states are: exclude - Do not build the test expected-fail - The test is expected to fail indeterminate - The test may pass or may fail A message is printed just after the test's BEGIN message to indicate there is a special state for the test. No state message means the test is expected to pass. This support requires tests are correctly written to the use standard support to begin and end a test.
Diffstat (limited to 'testsuites')
-rw-r--r--testsuites/automake/compile.am2
-rw-r--r--testsuites/automake/test-subdirs.am11
-rw-r--r--testsuites/support/include/buffer_test_io.h32
-rw-r--r--testsuites/testdata/disable-intrcritical-tests.tcfg46
-rw-r--r--testsuites/testdata/disable-jffs2-tests.tcfg16
-rw-r--r--testsuites/testdata/disable-mrfs-tests.tcfg18
-rw-r--r--testsuites/testdata/dltests-broken-on-this-bsp.tcfg10
-rw-r--r--testsuites/testdata/require-tick-isr.tcfg94
8 files changed, 131 insertions, 98 deletions
diff --git a/testsuites/automake/compile.am b/testsuites/automake/compile.am
index 643e580f8b..d5545c5a2f 100644
--- a/testsuites/automake/compile.am
+++ b/testsuites/automake/compile.am
@@ -9,7 +9,7 @@ SIZE = @SIZE@
STRIP = @STRIP@
##
-AM_CPPFLAGS =
+AM_CPPFLAGS = $(TEST_FLAGS)
AM_CFLAGS =
AM_CXXFLAGS =
diff --git a/testsuites/automake/test-subdirs.am b/testsuites/automake/test-subdirs.am
index ff339aa38d..380aae1619 100644
--- a/testsuites/automake/test-subdirs.am
+++ b/testsuites/automake/test-subdirs.am
@@ -22,12 +22,19 @@ all-local:
fi; \
echo "BSP Testsuite Data: $$vtdata"; \
list=`$(top_srcdir)/../../tools/build/rtems-test-check \
- $$tdata $(top_srcdir)/.. $(RTEMS_BSP) $(_SUBDIRS)`; \
+ exclude $$tdata $(top_srcdir)/.. $(RTEMS_BSP) $(_SUBDIRS)`; \
for subdir in $$list; do \
echo "Making $$target in $$subdir"; \
if test "$$subdir" != "."; then \
+ test_FLAGS=`$(top_srcdir)/../../tools/build/rtems-test-check \
+ flags $$tdata $(top_srcdir)/.. $(RTEMS_BSP) $$subdir`; \
local_target="$$target"; \
- (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) $$local_target) \
+ if test -z "$$test_FLAGS"; then \
+ echo "BSP Testsuite Flags: $$subdir: PASS"; \
+ else \
+ echo "BSP Testsuite Flags: $$subdir: $$test_FLAGS"; \
+ fi; \
+ (cd $$subdir && $(MAKE) $(AM_MAKEFLAGS) TEST_FLAGS="$$test_FLAGS" $$local_target) \
|| case "$$amf" in *=*) exit 1;; *k*) fail=yes;; *) exit 1;; esac; \
fi; \
done; test -z "$$fail"
diff --git a/testsuites/support/include/buffer_test_io.h b/testsuites/support/include/buffer_test_io.h
index ac73352768..1e396b7dcf 100644
--- a/testsuites/support/include/buffer_test_io.h
+++ b/testsuites/support/include/buffer_test_io.h
@@ -21,6 +21,20 @@ extern "C" {
/* #define TESTS_USE_PRINTK */
/*
+ * Test states. No state string is an expected pass.
+ */
+#if TEST_STATE_EXPECTED_FAIL && \
+ TEST_INDETERMINATE_FAIL
+ #error Test states must be unique
+#endif
+
+#if TEST_STATE_EXPECTED_FAIL
+ #define TEST_STATE_STRING "*** TEST STATE: EXPECTED-FAIL\n"
+#elif TEST_INDETERMINATE_FAIL
+ #define TEST_STATE_STRING "*** TEST STATE: INDETERMINATE\n"
+#endif
+
+/*
* USE PRINTK TO MINIMIZE SIZE
*/
#if defined(TESTS_USE_PRINTK)
@@ -55,7 +69,11 @@ extern "C" {
do { \
} while (0)
- #define TEST_BEGIN() printk(TEST_BEGIN_STRING)
+ #if defined(TEST_STATE_STRING)
+ #define TEST_BEGIN() printk(TEST_BEGIN_STRING); printk(TEST_STATE_STRING);
+ #else
+ #define TEST_BEGIN() printk(TEST_BEGIN_STRING)
+ #endif
#define TEST_END() printk(TEST_END_STRING)
@@ -157,7 +175,11 @@ extern "C" {
fflush(stdout); \
} while (0)
- #define TEST_BEGIN() printf(TEST_BEGIN_STRING)
+ #if defined(TEST_STATE_STRING)
+ #define TEST_BEGIN() printf(TEST_BEGIN_STRING); printf(TEST_STATE_STRING)
+ #else
+ #define TEST_BEGIN() printf(TEST_BEGIN_STRING)
+ #endif
#define TEST_END() printf(TEST_END_STRING)
@@ -206,7 +228,11 @@ extern "C" {
fflush(stdout); \
} while (0)
- #define TEST_BEGIN() fiprintf( stderr, TEST_BEGIN_STRING)
+ #if defined(TEST_STATE_STRING)
+ #define TEST_BEGIN() fiprintf(stderr, TEST_BEGIN_STRING); fiprintf(stderr, TEST_STATE_STRING)
+ #else
+ #define TEST_BEGIN() fiprintf(stderr, TEST_BEGIN_STRING)
+ #endif
#define TEST_END() fiprintf( stderr, TEST_END_STRING)
diff --git a/testsuites/testdata/disable-intrcritical-tests.tcfg b/testsuites/testdata/disable-intrcritical-tests.tcfg
index ef36333d18..9fc4acbb86 100644
--- a/testsuites/testdata/disable-intrcritical-tests.tcfg
+++ b/testsuites/testdata/disable-intrcritical-tests.tcfg
@@ -4,27 +4,27 @@
# to be reliable.
#
-psxintrcritical01
-spintrcritical01
-spintrcritical02
-spintrcritical03
-spintrcritical04
-spintrcritical05
-spintrcritical06
-spintrcritical07
-spintrcritical08
-spintrcritical09
-spintrcritical10
-spintrcritical11
-spintrcritical12
-spintrcritical13
-spintrcritical14
-spintrcritical15
-spintrcritical16
-spintrcritical17
-spintrcritical18
-spintrcritical20
-spintrcritical21
-spintrcritical22
-spintrcritical23
+exclude: psxintrcritical01
+exclude: spintrcritical01
+exclude: spintrcritical02
+exclude: spintrcritical03
+exclude: spintrcritical04
+exclude: spintrcritical05
+exclude: spintrcritical06
+exclude: spintrcritical07
+exclude: spintrcritical08
+exclude: spintrcritical09
+exclude: spintrcritical10
+exclude: spintrcritical11
+exclude: spintrcritical12
+exclude: spintrcritical13
+exclude: spintrcritical14
+exclude: spintrcritical15
+exclude: spintrcritical16
+exclude: spintrcritical17
+exclude: spintrcritical18
+exclude: spintrcritical20
+exclude: spintrcritical21
+exclude: spintrcritical22
+exclude: spintrcritical23
diff --git a/testsuites/testdata/disable-jffs2-tests.tcfg b/testsuites/testdata/disable-jffs2-tests.tcfg
index 116baa0ecc..dda8044eed 100644
--- a/testsuites/testdata/disable-jffs2-tests.tcfg
+++ b/testsuites/testdata/disable-jffs2-tests.tcfg
@@ -2,11 +2,11 @@
# Some targets cannot declare the RAM disk space for the JFFS2 tests.
#
-jffs2_fserror
-jffs2_fslink
-jffs2_fspatheval
-jffs2_fspermission
-jffs2_fsrdwr
-jffs2_fsscandir01
-jffs2_fssymlink
-jffs2_fstime
+exclude: jffs2_fserror
+exclude: jffs2_fslink
+exclude: jffs2_fspatheval
+exclude: jffs2_fspermission
+exclude: jffs2_fsrdwr
+exclude: jffs2_fsscandir01
+exclude: jffs2_fssymlink
+exclude: jffs2_fstime
diff --git a/testsuites/testdata/disable-mrfs-tests.tcfg b/testsuites/testdata/disable-mrfs-tests.tcfg
index fc2287dbda..d5dcaf0672 100644
--- a/testsuites/testdata/disable-mrfs-tests.tcfg
+++ b/testsuites/testdata/disable-mrfs-tests.tcfg
@@ -2,12 +2,12 @@
# Some targets cannot declare the RAM disk space for the mounted RFS tests.
#
-mrfs_fserror
-mrfs_fsfpathconf
-mrfs_fslink
-mrfs_fspatheval
-mrfs_fspermission
-mrfs_fsrdwr
-mrfs_fsscandir01
-mrfs_fssymlink
-mrfs_fstime
+exclude: mrfs_fserror
+exclude: mrfs_fsfpathconf
+exclude: mrfs_fslink
+exclude: mrfs_fspatheval
+exclude: mrfs_fspermission
+exclude: mrfs_fsrdwr
+exclude: mrfs_fsscandir01
+exclude: mrfs_fssymlink
+exclude: mrfs_fstime
diff --git a/testsuites/testdata/dltests-broken-on-this-bsp.tcfg b/testsuites/testdata/dltests-broken-on-this-bsp.tcfg
index 6dbbe140f0..96e575cf60 100644
--- a/testsuites/testdata/dltests-broken-on-this-bsp.tcfg
+++ b/testsuites/testdata/dltests-broken-on-this-bsp.tcfg
@@ -4,8 +4,8 @@
# This file should be included by those BSPs which have dl* test issues
# which remain to be investigated and solved.
#
-dl01
-dl02
-dl03
-dl04
-dl05
+exclude: dl01
+exclude: dl02
+exclude: dl03
+exclude: dl04
+exclude: dl05
diff --git a/testsuites/testdata/require-tick-isr.tcfg b/testsuites/testdata/require-tick-isr.tcfg
index 8231acb1ca..ab25bc9114 100644
--- a/testsuites/testdata/require-tick-isr.tcfg
+++ b/testsuites/testdata/require-tick-isr.tcfg
@@ -23,50 +23,50 @@
# clock idle task. It may need to be broken into multiple tests
# if not executing it misses other paths.
#
-cpuuse
-psx07
-psx09
-psx10
-psx11
-psxcancel01
-psxgetrusage01
-psxintrcritical01
-psxsignal01
-psxsignal02
-psxspin01
-psxtime
-psxtimes01
-sp04
-sp14
-sp19
-sp35
-sp38
-sp44
-sp69
-spcbssched02
-spcbssched03
-spcontext01
-spcpucounter01
-spedfsched03
-spintrcritical01
-spintrcritical02
-spintrcritical03
-spintrcritical04
-spintrcritical05
-spintrcritical06
-spintrcritical07
-spintrcritical08
-spintrcritical09
-spintrcritical10
-spintrcritical11
-spintrcritical12
-spintrcritical13
-spintrcritical14
-spintrcritical15
-spintrcritical16
-spintrcritical17
-spintrcritical18
-spintrcritical19
-spintrcritical20
-spnsext01
-spqreslib
+exclude: cpuuse
+exclude: psx07
+exclude: psx09
+exclude: psx10
+exclude: psx11
+exclude: psxcancel01
+exclude: psxgetrusage01
+exclude: psxintrcritical01
+exclude: psxsignal01
+exclude: psxsignal02
+exclude: psxspin01
+exclude: psxtime
+exclude: psxtimes01
+exclude: sp04
+exclude: sp14
+exclude: sp19
+exclude: sp35
+exclude: sp38
+exclude: sp44
+exclude: sp69
+exclude: spcbssched02
+exclude: spcbssched03
+exclude: spcontext01
+exclude: spcpucounter01
+exclude: spedfsched03
+exclude: spintrcritical01
+exclude: spintrcritical02
+exclude: spintrcritical03
+exclude: spintrcritical04
+exclude: spintrcritical05
+exclude: spintrcritical06
+exclude: spintrcritical07
+exclude: spintrcritical08
+exclude: spintrcritical09
+exclude: spintrcritical10
+exclude: spintrcritical11
+exclude: spintrcritical12
+exclude: spintrcritical13
+exclude: spintrcritical14
+exclude: spintrcritical15
+exclude: spintrcritical16
+exclude: spintrcritical17
+exclude: spintrcritical18
+exclude: spintrcritical19
+exclude: spintrcritical20
+exclude: spnsext01
+exclude: spqreslib