[rtems commit] testsuite: Add a common test configuration. Fix configure.ac and Makefile.am errors.
Chris Johns
chrisj at rtems.org
Mon Apr 3 23:52:45 UTC 2017
Module: rtems
Branch: master
Commit: 258bda306ba25741624488d24a2785c055a9fab0
Changeset: http://git.rtems.org/rtems/commit/?id=258bda306ba25741624488d24a2785c055a9fab0
Author: Chris Johns <chrisj at rtems.org>
Date: Tue Apr 4 08:11:24 2017 +1000
testsuite: Add a common test configuration. Fix configure.ac and Makefile.am errors.
- Add a top level test configuration file for test states that are common
to all BSPs. This saves adding a test configuration (tcfg) file for
every BSP.
- Add the test states 'user-input' and 'benchmark'. This
lets 'rtems-test' stop the test rather than waiting for a timeout or
letting a benchmark run without the user asking for it to run.
- Implement rtems-test-check in Python to make it faster. The shell script
had grown to a point it was noticably slowing the build down.
- Fix the configure.ac and Makefile.am files for a number of the
test directories. The files are difficiult to keep in sync with the
number of tests and mistakes can happen such as tests being left
out of the build. The test fsrofs01 is an example. Also a there was
a mix of SUBDIRS and _SUBDIRS being used and only _SUBDIRS should be
used.
- Fix the test fsrofs01 so it compiles.
Closes #2963.
---
testsuites/automake/subdirs.am | 45 +++++++++
testsuites/automake/test-subdirs.am | 42 --------
testsuites/benchmarks/Makefile.am | 8 +-
testsuites/benchmarks/configure.ac | 2 +-
testsuites/fstests/Makefile.am | 31 +++---
testsuites/fstests/configure.ac | 26 ++---
testsuites/fstests/fsrofs01/init.c | 4 +-
testsuites/libtests/Makefile.am | 113 ++++++++++++++-------
testsuites/libtests/configure.ac | 68 ++++++-------
testsuites/libtests/dl01/Makefile.am | 11 +--
testsuites/libtests/dl02/Makefile.am | 11 +--
testsuites/libtests/dl04/Makefile.am | 11 +--
testsuites/libtests/dl05/Makefile.am | 11 +--
testsuites/mptests/Makefile.am | 18 +++-
testsuites/psxtests/Makefile.am | 147 ++++++++++++++++++++++------
testsuites/psxtests/configure.ac | 4 +-
testsuites/psxtmtests/Makefile.am | 102 +++++++++----------
testsuites/rhealstone/Makefile.am | 13 +--
testsuites/rhealstone/configure.ac | 6 +-
testsuites/samples/Makefile.am | 20 ++--
testsuites/samples/configure.ac | 18 ++--
testsuites/smptests/Makefile.am | 98 +++++++++----------
testsuites/smptests/configure.ac | 8 +-
testsuites/sptests/Makefile.am | 2 +-
testsuites/support/include/buffer_test_io.h | 14 ++-
testsuites/testdata/rtems.tcfg | 28 ++++++
testsuites/tmtests/Makefile.am | 2 +-
tools/build/rtems-test-check | 81 ++++++++++++---
tools/build/rtems-test-check-py | 116 ++++++++++++++++++++++
tools/build/rtems-testsuite-autostuff | 49 ++++++++++
30 files changed, 746 insertions(+), 363 deletions(-)
diff --git a/testsuites/automake/subdirs.am b/testsuites/automake/subdirs.am
index e69de29..70a7ecb 100644
--- a/testsuites/automake/subdirs.am
+++ b/testsuites/automake/subdirs.am
@@ -0,0 +1,45 @@
+## Borrowed from automake/subdir.am which borrowed automake-1.4 and adapted to RTEMS
+
+## NOTE: This is a temporary work-around until automake is removed from RTEMS.
+## It is a hack within many hacks and is designed to keep the source as clean
+## as possible.
+
+all-local:
+ @set fnord $(MAKEFLAGS); amf=$$2; \
+ dot_seen=no; \
+ target=`echo $@ | sed s/-recursive//`; \
+ if test "$$target" = "all-local-am"; then \
+ target="all-am"; \
+ fi; \
+ if test "$$target" = "all-local"; then \
+ 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"; \
+ if test -f "$$tdata"; then \
+ vtdata="$(RTEMS_CPU)/$(RTEMS_BSP_FAMILY)/make/custom/$(RTEMS_BSP)-testsuite.tcfg"; \
+ else \
+ vtdata="all tests"; \
+ fi; \
+ echo "BSP Testsuite Data: $$vtdata"; \
+ if test -f $$tcheck; then \
+ list=`$$tcheck exclude $$tdata $(top_srcdir)/.. $(RTEMS_BSP) $(_SUBDIRS)`; \
+ else \
+ list=$(_SUBDIRS); \
+ fi; \
+ for subdir in $$list; do \
+ echo "Making $$target in $$subdir"; \
+ if test "$$subdir" != "."; then \
+ if test -f $$tcheck; then \
+ test_FLAGS=`$$tcheck flags $$tdata $(top_srcdir)/.. $(RTEMS_BSP) $$subdir`; \
+ fi; \
+ local_target="$$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/automake/test-subdirs.am b/testsuites/automake/test-subdirs.am
deleted file mode 100644
index f83f035..0000000
--- a/testsuites/automake/test-subdirs.am
+++ /dev/null
@@ -1,42 +0,0 @@
-## Borrowed from automake/subdir.am which borrowed automake-1.4 and adapted to RTEMS
-
-## NOTE: This is a temporary work-around until automake is removed from RTEMS.
-## It is a hack within many hacks and is designed to keep the source as clean
-## as possible.
-
-all-local:
- @set fnord $(MAKEFLAGS); amf=$$2; \
- dot_seen=no; \
- target=`echo $@ | sed s/-recursive//`; \
- if test "$$target" = "all-local-am"; then \
- target="all-am"; \
- fi; \
- if test "$$target" = "all-local"; then \
- target="all"; \
- fi; \
- tdata="$(top_srcdir)/../../c/src/lib/libbsp/$(RTEMS_CPU)/$(RTEMS_BSP_FAMILY)/make/custom/$(RTEMS_BSP)-testsuite.tcfg"; \
- if test -f "$$tdata"; then \
- vtdata="$(RTEMS_CPU)/$(RTEMS_BSP_FAMILY)/make/custom/$(RTEMS_BSP)-testsuite.tcfg"; \
- else \
- vtdata="all tests"; \
- fi; \
- echo "BSP Testsuite Data: $$vtdata"; \
- list=`$(top_srcdir)/../../tools/build/rtems-test-check \
- 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"; \
- 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"
-
-include $(top_srcdir)/../automake/subdirs.am
diff --git a/testsuites/benchmarks/Makefile.am b/testsuites/benchmarks/Makefile.am
index 3d95ecd..6c5fe7f 100644
--- a/testsuites/benchmarks/Makefile.am
+++ b/testsuites/benchmarks/Makefile.am
@@ -1,9 +1,9 @@
ACLOCAL_AMFLAGS = -I ../aclocal
-SUBDIRS =
-SUBDIRS += linpack
-SUBDIRS += whetstone
-SUBDIRS += dhrystone
+_SUBDIRS =
+_SUBDIRS += dhrystone
+_SUBDIRS += linpack
+_SUBDIRS += whetstone
include $(top_srcdir)/../automake/subdirs.am
include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/benchmarks/configure.ac b/testsuites/benchmarks/configure.ac
index 18af749..f28fc79 100644
--- a/testsuites/benchmarks/configure.ac
+++ b/testsuites/benchmarks/configure.ac
@@ -22,8 +22,8 @@ RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP)
# Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile
+dhrystone/Makefile
linpack/Makefile
whetstone/Makefile
-dhrystone/Makefile
])
AC_OUTPUT
diff --git a/testsuites/fstests/Makefile.am b/testsuites/fstests/Makefile.am
index 514b609..1302fe0 100644
--- a/testsuites/fstests/Makefile.am
+++ b/testsuites/fstests/Makefile.am
@@ -1,16 +1,21 @@
ACLOCAL_AMFLAGS = -I ../aclocal
-_SUBDIRS =
-_SUBDIRS += fsjffs2gc01
-_SUBDIRS += fsimfsconfig03
-_SUBDIRS += fsimfsconfig02
-_SUBDIRS += fsimfsconfig01
+_SUBDIRS =
+_SUBDIRS += fsbdpart01
+_SUBDIRS += fsdosfsformat01
_SUBDIRS += fsdosfsname01
_SUBDIRS += fsdosfsname02
+_SUBDIRS += fsdosfssync01
_SUBDIRS += fsdosfswrite01
-_SUBDIRS += fsdosfsformat01
_SUBDIRS += fsfseeko01
-_SUBDIRS += fsdosfssync01
+_SUBDIRS += fsimfsconfig01
+_SUBDIRS += fsimfsconfig02
+_SUBDIRS += fsimfsconfig03
+_SUBDIRS += fsimfsgeneric01
+_SUBDIRS += fsjffs2gc01
+_SUBDIRS += fsnofs01
+_SUBDIRS += fsrfsbitmap01
+_SUBDIRS += fsrofs01
_SUBDIRS += imfs_fserror
_SUBDIRS += imfs_fslink
_SUBDIRS += imfs_fspatheval
@@ -30,19 +35,20 @@ _SUBDIRS += jffs2_fstime
_SUBDIRS += mdosfs_fserror
_SUBDIRS += mdosfs_fspatheval
_SUBDIRS += mdosfs_fsrdwr
-_SUBDIRS += mdosfs_fsstatvfs
_SUBDIRS += mdosfs_fsscandir01
+_SUBDIRS += mdosfs_fsstatvfs
_SUBDIRS += mdosfs_fstime
_SUBDIRS += mimfs_fserror
_SUBDIRS += mimfs_fslink
_SUBDIRS += mimfs_fspatheval
_SUBDIRS += mimfs_fspermission
_SUBDIRS += mimfs_fsrdwr
+_SUBDIRS += mimfs_fsrename
_SUBDIRS += mimfs_fsscandir01
_SUBDIRS += mimfs_fssymlink
_SUBDIRS += mimfs_fstime
-_SUBDIRS += mimfs_fsrename
_SUBDIRS += mrfs_fserror
+_SUBDIRS += mrfs_fsfpathconf
_SUBDIRS += mrfs_fslink
_SUBDIRS += mrfs_fspatheval
_SUBDIRS += mrfs_fspermission
@@ -50,11 +56,6 @@ _SUBDIRS += mrfs_fsrdwr
_SUBDIRS += mrfs_fsscandir01
_SUBDIRS += mrfs_fssymlink
_SUBDIRS += mrfs_fstime
-_SUBDIRS += mrfs_fsfpathconf
-_SUBDIRS += fsrfsbitmap01
-_SUBDIRS += fsnofs01
-_SUBDIRS += fsimfsgeneric01
-_SUBDIRS += fsbdpart01
EXTRA_DIST =
EXTRA_DIST += support/ramdisk_support.c
@@ -63,5 +64,5 @@ EXTRA_DIST += support/fstest_support.c
EXTRA_DIST += support/fstest_support.h
EXTRA_DIST += support/fstest.h
-include $(top_srcdir)/../automake/test-subdirs.am
+include $(top_srcdir)/../automake/subdirs.am
include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/fstests/configure.ac b/testsuites/fstests/configure.ac
index f9daa81..e5dc840 100644
--- a/testsuites/fstests/configure.ac
+++ b/testsuites/fstests/configure.ac
@@ -77,16 +77,21 @@ AC_CHECK_SIZEOF([blkcnt_t])
# Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile
-fsjffs2gc01/Makefile
-fsimfsconfig03/Makefile
-fsimfsconfig02/Makefile
-fsimfsconfig01/Makefile
+fsbdpart01/Makefile
+fsdosfsformat01/Makefile
fsdosfsname01/Makefile
fsdosfsname02/Makefile
+fsdosfssync01/Makefile
fsdosfswrite01/Makefile
-fsdosfsformat01/Makefile
fsfseeko01/Makefile
-fsdosfssync01/Makefile
+fsimfsconfig01/Makefile
+fsimfsconfig02/Makefile
+fsimfsconfig03/Makefile
+fsimfsgeneric01/Makefile
+fsjffs2gc01/Makefile
+fsnofs01/Makefile
+fsrfsbitmap01/Makefile
+fsrofs01/Makefile
imfs_fserror/Makefile
imfs_fslink/Makefile
imfs_fspatheval/Makefile
@@ -114,11 +119,12 @@ mimfs_fslink/Makefile
mimfs_fspatheval/Makefile
mimfs_fspermission/Makefile
mimfs_fsrdwr/Makefile
+mimfs_fsrename/Makefile
mimfs_fsscandir01/Makefile
mimfs_fssymlink/Makefile
mimfs_fstime/Makefile
-mimfs_fsrename/Makefile
mrfs_fserror/Makefile
+mrfs_fsfpathconf/Makefile
mrfs_fslink/Makefile
mrfs_fspatheval/Makefile
mrfs_fspermission/Makefile
@@ -126,11 +132,5 @@ mrfs_fsrdwr/Makefile
mrfs_fsscandir01/Makefile
mrfs_fssymlink/Makefile
mrfs_fstime/Makefile
-mrfs_fsfpathconf/Makefile
-fsrfsbitmap01/Makefile
-fsnofs01/Makefile
-fsimfsgeneric01/Makefile
-fsbdpart01/Makefile
-
])
AC_OUTPUT
diff --git a/testsuites/fstests/fsrofs01/init.c b/testsuites/fstests/fsrofs01/init.c
index cd1dcc4..45aae88 100644
--- a/testsuites/fstests/fsrofs01/init.c
+++ b/testsuites/fstests/fsrofs01/init.c
@@ -153,12 +153,12 @@ static void test_rofs(void)
static void Init(rtems_task_argument arg)
{
- TEST_BEGIN():
+ TEST_BEGIN();
test_create_file_system();
test_rofs();
- TEST_END():
+ TEST_END();
rtems_test_exit(0);
}
diff --git a/testsuites/libtests/Makefile.am b/testsuites/libtests/Makefile.am
index 286875d..e72ca1b 100644
--- a/testsuites/libtests/Makefile.am
+++ b/testsuites/libtests/Makefile.am
@@ -1,42 +1,85 @@
ACLOCAL_AMFLAGS = -I ../aclocal
-_SUBDIRS = POSIX
-_SUBDIRS += termios09
-_SUBDIRS += libfdt01
+_SUBDIRS =
+_SUBDIRS += POSIX
+_SUBDIRS += block01
+_SUBDIRS += block02
+_SUBDIRS += block03
+_SUBDIRS += block04
+_SUBDIRS += block05
+_SUBDIRS += block06
+_SUBDIRS += block07
+_SUBDIRS += block08
+_SUBDIRS += block09
+_SUBDIRS += block10
+_SUBDIRS += block11
+_SUBDIRS += block12
+_SUBDIRS += block13
+_SUBDIRS += block14
+_SUBDIRS += block15
+_SUBDIRS += block16
+_SUBDIRS += block17
+_SUBDIRS += bspcmdline01
+_SUBDIRS += capture01
+_SUBDIRS += complex
+_SUBDIRS += cpuuse
+_SUBDIRS += crypt01
_SUBDIRS += defaultconfig01
-_SUBDIRS += pwdgrp02
-_SUBDIRS += shell01
+_SUBDIRS += devfs01
+_SUBDIRS += devfs02
+_SUBDIRS += devfs03
+_SUBDIRS += devfs04
+_SUBDIRS += deviceio01
+_SUBDIRS += devnullfatal01
+_SUBDIRS += dumpbuf01
+_SUBDIRS += exit01
+_SUBDIRS += exit02
+_SUBDIRS += flashdisk01
+_SUBDIRS += gxx01
+_SUBDIRS += heapwalk
+_SUBDIRS += i2c01
+_SUBDIRS += libfdt01
+_SUBDIRS += malloc02
+_SUBDIRS += malloc03
+_SUBDIRS += malloc04
+_SUBDIRS += malloctest
+_SUBDIRS += math
+_SUBDIRS += mathf
+_SUBDIRS += mathl
+_SUBDIRS += md501
+_SUBDIRS += monitor
+_SUBDIRS += monitor02
+_SUBDIRS += mouse01
+_SUBDIRS += newlib01
+_SUBDIRS += putenvtest
_SUBDIRS += pwdgrp01
-_SUBDIRS += crypt01
+_SUBDIRS += pwdgrp02
+_SUBDIRS += rbheap01
+_SUBDIRS += rtmonuse
_SUBDIRS += sha
-_SUBDIRS += i2c01
+_SUBDIRS += shell01
+_SUBDIRS += sparsedisk01
_SUBDIRS += spi01
-_SUBDIRS += newlib01
-_SUBDIRS += block17
-_SUBDIRS += exit02
-_SUBDIRS += exit01
+_SUBDIRS += stackchk
+_SUBDIRS += stackchk01
+_SUBDIRS += stringto01
+_SUBDIRS += tar01
+_SUBDIRS += tar02
+_SUBDIRS += tar03
+_SUBDIRS += termios
+_SUBDIRS += termios01
+_SUBDIRS += termios02
+_SUBDIRS += termios03
+_SUBDIRS += termios04
+_SUBDIRS += termios05
+_SUBDIRS += termios06
+_SUBDIRS += termios07
+_SUBDIRS += termios08
+_SUBDIRS += termios09
+_SUBDIRS += top
+_SUBDIRS += tztest
+_SUBDIRS += uid01
_SUBDIRS += utf8proc01
-_SUBDIRS += md501
-_SUBDIRS += sparsedisk01
-_SUBDIRS += block16
-_SUBDIRS += block15
-_SUBDIRS += block14
-_SUBDIRS += block13
-_SUBDIRS += rbheap01
-_SUBDIRS += flashdisk01
-_SUBDIRS += capture01
-
-_SUBDIRS += bspcmdline01 cpuuse devfs01 devfs02 devfs03 devfs04 \
- deviceio01 devnullfatal01 dumpbuf01 gxx01 top\
- malloctest malloc02 malloc03 malloc04 heapwalk \
- putenvtest monitor monitor02 rtmonuse stackchk stackchk01 \
- termios termios01 termios02 termios03 termios04 termios05 \
- termios06 termios07 termios08 \
- tztest block01 block02 block03 block04 block05 block06 block07 \
- block08 block09 block10 block11 block12 stringto01 \
- tar01 tar02 tar03 \
- math mathf mathl complex \
- mouse01 uid01
if NETTESTS
if HAS_POSIX
@@ -47,6 +90,10 @@ _SUBDIRS += networking01
_SUBDIRS += syscall01
endif
+##
+## The libdl use use AM's BUILT_SOURCE and this has a weird side effect of
+## restarting the subdir loop. No idea why.
+##
if DLTESTS
_SUBDIRS += dl01 dl02 dl03
if HAS_CXX
@@ -58,5 +105,5 @@ if DEBUGGERTESTS
_SUBDIRS += debugger01
endif
-include $(top_srcdir)/../automake/test-subdirs.am
+include $(top_srcdir)/../automake/subdirs.am
include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/libtests/configure.ac b/testsuites/libtests/configure.ac
index 4e82caf..bbdf4df 100644
--- a/testsuites/libtests/configure.ac
+++ b/testsuites/libtests/configure.ac
@@ -93,31 +93,7 @@ AM_CONDITIONAL(DEBUGGERTESTS,[test x"$TEST_LIBDEBUGGER" = x"yes"])
# Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile
-networking01/Makefile
-libfdt01/Makefile
-defaultconfig01/Makefile
-pwdgrp02/Makefile
-shell01/Makefile
-pwdgrp01/Makefile
-crypt01/Makefile
-sha/Makefile
-i2c01/Makefile
-spi01/Makefile
-newlib01/Makefile
-block17/Makefile
-exit02/Makefile
-exit01/Makefile
-utf8proc01/Makefile
-md501/Makefile
-sparsedisk01/Makefile
-block16/Makefile
-mghttpd01/Makefile
-block15/Makefile
-block14/Makefile
-block13/Makefile
-rbheap01/Makefile
-syscall01/Makefile
-flashdisk01/Makefile
+POSIX/Makefile
block01/Makefile
block02/Makefile
block03/Makefile
@@ -130,8 +106,18 @@ block09/Makefile
block10/Makefile
block11/Makefile
block12/Makefile
+block13/Makefile
+block14/Makefile
+block15/Makefile
+block16/Makefile
+block17/Makefile
bspcmdline01/Makefile
+capture01/Makefile
+complex/Makefile
cpuuse/Makefile
+crypt01/Makefile
+debugger01/Makefile
+defaultconfig01/Makefile
devfs01/Makefile
devfs02/Makefile
devfs03/Makefile
@@ -144,22 +130,41 @@ dl03/Makefile
dl04/Makefile
dl05/Makefile
dumpbuf01/Makefile
+exit01/Makefile
+exit02/Makefile
+flashdisk01/Makefile
ftp01/Makefile
gxx01/Makefile
heapwalk/Makefile
-malloctest/Makefile
+i2c01/Makefile
+libfdt01/Makefile
malloc02/Makefile
malloc03/Makefile
malloc04/Makefile
+malloctest/Makefile
+math/Makefile
+mathf/Makefile
+mathl/Makefile
+md501/Makefile
+mghttpd01/Makefile
monitor/Makefile
monitor02/Makefile
mouse01/Makefile
-uid01/Makefile
+networking01/Makefile
+newlib01/Makefile
putenvtest/Makefile
+pwdgrp01/Makefile
+pwdgrp02/Makefile
+rbheap01/Makefile
rtmonuse/Makefile
+sha/Makefile
+shell01/Makefile
+sparsedisk01/Makefile
+spi01/Makefile
stackchk/Makefile
stackchk01/Makefile
stringto01/Makefile
+syscall01/Makefile
tar01/Makefile
tar02/Makefile
tar03/Makefile
@@ -175,12 +180,7 @@ termios08/Makefile
termios09/Makefile
top/Makefile
tztest/Makefile
-capture01/Makefile
-POSIX/Makefile
-math/Makefile
-mathf/Makefile
-mathl/Makefile
-complex/Makefile
-debugger01/Makefile
+uid01/Makefile
+utf8proc01/Makefile
])
AC_OUTPUT
diff --git a/testsuites/libtests/dl01/Makefile.am b/testsuites/libtests/dl01/Makefile.am
index d7c9a0d..0746069 100644
--- a/testsuites/libtests/dl01/Makefile.am
+++ b/testsuites/libtests/dl01/Makefile.am
@@ -29,14 +29,9 @@ dl-tar.h: dl.tar
$(BIN2C) -H $< $@
CLEANFILES += dl-tar.h
-dl01.pre$(EXEEXT): $(dl01_OBJECTS) $(dl01_DEPENDENCIES)
- @rm -f dl01.pre$(EXEEXT)
- $(make-exe)
- rm -f dl01.pre.ralf
-
-dl01.pre: dl01.pre$(EXEEXT)
- mv $< $@
-CLEANFILES += dl01.pre
+dl01.pre: $(dl01_OBJECTS) $(dl01_DEPENDENCIES)
+ @rm -f dl01.pre
+ $(LINK_APP)
dl-sym.o: dl01.pre
rtems-syms -e -c "$(CFLAGS)" -o $@ $<
diff --git a/testsuites/libtests/dl02/Makefile.am b/testsuites/libtests/dl02/Makefile.am
index 39a8efe..52ef98d 100644
--- a/testsuites/libtests/dl02/Makefile.am
+++ b/testsuites/libtests/dl02/Makefile.am
@@ -31,14 +31,9 @@ dl-tar.h: dl.tar
$(BIN2C) -H $< $@
CLEANFILES += dl-tar.h
-dl02.pre$(EXEEXT): $(dl02_OBJECTS) $(dl02_DEPENDENCIES)
- @rm -f dl02.pre$(EXEEXT)
- $(make-exe)
- rm -f dl02.pre.ralf
-
-dl02.pre: dl02.pre$(EXEEXT)
- mv $< $@
-CLEANFILES += dl02.pre
+dl02.pre: $(dl02_OBJECTS) $(dl02_DEPENDENCIES)
+ @rm -f dl02.pre
+ $(LINK_APP)
dl-sym.o: dl02.pre
rtems-syms -e -c "$(CFLAGS)" -o $@ $<
diff --git a/testsuites/libtests/dl04/Makefile.am b/testsuites/libtests/dl04/Makefile.am
index d45bc87..a888434 100644
--- a/testsuites/libtests/dl04/Makefile.am
+++ b/testsuites/libtests/dl04/Makefile.am
@@ -30,14 +30,9 @@ dl-tar.h: dl.tar
$(BIN2C) -H $< $@
CLEANFILES += dl-tar.h
-dl04.pre$(EXEEXT): $(dl04_OBJECTS) $(dl04_DEPENDENCIES)
- @rm -f dl04.pre$(EXEEXT)
- $(make-exe)
- rm -f dl04.pre.ralf
-
-dl04.pre: dl04.pre$(EXEEXT)
- mv $< $@
-CLEANFILES += dl04.pre
+dl04.pre: $(dl04_OBJECTS) $(dl04_DEPENDENCIES)
+ @rm -f dl04.pre
+ $(LINK_APP)
dl-sym.o: dl04.pre
rtems-syms -e -c "$(CFLAGS)" -o $@ $<
diff --git a/testsuites/libtests/dl05/Makefile.am b/testsuites/libtests/dl05/Makefile.am
index d63f355..15608cd 100644
--- a/testsuites/libtests/dl05/Makefile.am
+++ b/testsuites/libtests/dl05/Makefile.am
@@ -29,15 +29,10 @@ dl-tar.h: dl.tar
$(BIN2C) -H $< $@
CLEANFILES += dl-tar.h
-dl05.pre$(EXEEXT): $(dl05_OBJECTS) $(dl05_DEPENDENCIES)
- @rm -f dl05.pre$(EXEEXT)
+dl05.pre: $(dl05_OBJECTS) $(dl05_DEPENDENCIES)
+ @rm -f dl05.pre
$(LINK.cc) $(CPU_CFLAGS) $(AM_CFLAGS) $(AM_LDFLAGS) \
- -o $(basename $@)$(EXEEXT) $(LINK_OBJS) $(LINK_LIBS)
- rm -f dl05.pre.ralf
-
-dl05.pre: dl05.pre$(EXEEXT)
- mv $< $@
-CLEANFILES += dl05.pre
+ -o $@ $(LINK_OBJS) $(LINK_LIBS)
dl-sym.o: dl05.pre
rtems-syms -e -c "$(CFLAGS)" -o $@ $<
diff --git a/testsuites/mptests/Makefile.am b/testsuites/mptests/Makefile.am
index 45889f1..cfb80e5 100644
--- a/testsuites/mptests/Makefile.am
+++ b/testsuites/mptests/Makefile.am
@@ -1,7 +1,19 @@
ACLOCAL_AMFLAGS = -I ../aclocal
-_SUBDIRS = mp01 mp03 mp04 mp05 mp06 mp07 mp08 mp09 mp10 mp11 mp12 mp13 \
- mp14
+_SUBDIRS =
+_SUBDIRS += mp01
+_SUBDIRS += mp03
+_SUBDIRS += mp04
+_SUBDIRS += mp05
+_SUBDIRS += mp06
+_SUBDIRS += mp07
+_SUBDIRS += mp08
+_SUBDIRS += mp09
+_SUBDIRS += mp10
+_SUBDIRS += mp11
+_SUBDIRS += mp12
+_SUBDIRS += mp13
+_SUBDIRS += mp14
-include $(top_srcdir)/../automake/test-subdirs.am
+include $(top_srcdir)/../automake/subdirs.am
include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/psxtests/Makefile.am b/testsuites/psxtests/Makefile.am
index a00aea4..584e8c5 100644
--- a/testsuites/psxtests/Makefile.am
+++ b/testsuites/psxtests/Makefile.am
@@ -1,48 +1,131 @@
ACLOCAL_AMFLAGS = -I ../aclocal
-_SUBDIRS = psxclock
-_SUBDIRS += psxthreadname01
+## Some of the tests need other POSIX features to work while some do not.
+
+_SUBDIRS =
if HAS_POSIX
-_SUBDIRS += psxhdrs psx01 psx02 psx03 psx04 psx05 psx06 psx07 psx08 psx09 \
- psx10 psx11 psx12 psx13 psx14 psx15 psx16 \
- psxaio01 psxaio02 psxaio03 \
- psxalarm01 psxautoinit01 psxautoinit02 psxbarrier01 \
- psxcancel psxcancel01 psxclassic01 psxcleanup psxcleanup01 \
- psxconcurrency01 psxcond01 psxcond02 psxconfig01 psxenosys \
- psxitimer psxmsgq01 psxmsgq02 psxmsgq03 psxmsgq04 \
- psxmutexattr01 psxobj01 psxrwlock01 psxsem01 psxshm01 psxshm02 \
- psxsignal01 psxsignal02 psxsignal03 psxsignal04 psxsignal05 psxsignal06 \
- psxspin01 psxstrsignal01 psxsysconf \
- psxtime psxtimer01 psxtimer02 psxualarm psxusleep psxfatal01 psxfatal02 \
- psxintrcritical01 psxstack01 psxstack02 \
- psxeintr_join psxgetattrnp01 psxclock01
+_SUBDIRS += psx01
+_SUBDIRS += psx02
+_SUBDIRS += psx03
+_SUBDIRS += psx04
+_SUBDIRS += psx05
+_SUBDIRS += psx06
+_SUBDIRS += psx07
+_SUBDIRS += psx08
+_SUBDIRS += psx09
+_SUBDIRS += psx10
+_SUBDIRS += psx11
+_SUBDIRS += psx12
+_SUBDIRS += psx14
+_SUBDIRS += psx15
+_SUBDIRS += psx16
+_SUBDIRS += psxaio01
+_SUBDIRS += psxaio02
+_SUBDIRS += psxaio03
+_SUBDIRS += psxalarm01
+_SUBDIRS += psxautoinit01
+_SUBDIRS += psxautoinit02
+_SUBDIRS += psxbarrier01
+_SUBDIRS += psxcancel
+_SUBDIRS += psxcancel01
+_SUBDIRS += psxclassic01
+_SUBDIRS += psxcleanup
+_SUBDIRS += psxcleanup01
_SUBDIRS += psxcleanup02
+endif
+_SUBDIRS += psxclock
+if HAS_POSIX
+_SUBDIRS += psxclock01
+_SUBDIRS += psxconcurrency01
+_SUBDIRS += psxcond01
+_SUBDIRS += psxcond02
+_SUBDIRS += psxconfig01
+endif
+_SUBDIRS += psxdevctl01
+if HAS_POSIX
+_SUBDIRS += psxeintr_join
+_SUBDIRS += psxenosys
+_SUBDIRS += psxfatal01
+_SUBDIRS += psxfatal02
+endif
+if HAS_POSIX
if HAS_CPLUSPLUS
_SUBDIRS += psxglobalcon01
_SUBDIRS += psxglobalcon02
endif
+_SUBDIRS += psxhdrs
+_SUBDIRS += psxintrcritical01
+_SUBDIRS += psxitimer
endif
-
-## File IO tests
-_SUBDIRS += psxfile01 psxfile02 psxfilelock01 psxgetrusage01 psxid01 \
- psximfs01 psximfs02 psxreaddir psxstat psxmount psx13 psxchroot01 \
- psxpasswd01 psxpasswd02 psxpipe01 psxtimes01 psxfchx01
-
-## POSIX Devctl tests
-_SUBDIRS += psxdevctl01
-
-## POSIX Keys are always available
-_SUBDIRS += psxkey01 psxkey02 psxkey03 psxkey04 \
- psxkey05 psxkey06 psxkey08 psxkey09 psxkey10
-## But some of the tests need other POSIX features
+_SUBDIRS += psxkey01
+_SUBDIRS += psxkey02
+_SUBDIRS += psxkey03
+_SUBDIRS += psxkey04
+_SUBDIRS += psxkey05
+_SUBDIRS += psxkey06
if HAS_POSIX
_SUBDIRS += psxkey07
endif
-
-## POSIX Once is always available
+_SUBDIRS += psxkey08
+_SUBDIRS += psxkey09
+_SUBDIRS += psxkey10
+if HAS_POSIX
+_SUBDIRS += psxmsgq01
+_SUBDIRS += psxmsgq02
+_SUBDIRS += psxmsgq03
+_SUBDIRS += psxmsgq04
+_SUBDIRS += psxmutexattr01
+_SUBDIRS += psxobj01
+endif
_SUBDIRS += psxonce01
-
_SUBDIRS += psxrdwrv
+if HAS_POSIX
+_SUBDIRS += psxrwlock01
+_SUBDIRS += psxsem01
+_SUBDIRS += psxshm01
+_SUBDIRS += psxshm02
+_SUBDIRS += psxsignal01
+_SUBDIRS += psxsignal02
+_SUBDIRS += psxsignal03
+_SUBDIRS += psxsignal04
+_SUBDIRS += psxsignal05
+_SUBDIRS += psxsignal06
+_SUBDIRS += psxspin01
+_SUBDIRS += psxstack01
+_SUBDIRS += psxstack02
+_SUBDIRS += psxstrsignal01
+_SUBDIRS += psxsysconf
+endif
+_SUBDIRS += psxthreadname01
+if HAS_POSIX
+_SUBDIRS += psxtime
+_SUBDIRS += psxtimer01
+_SUBDIRS += psxtimer02
+_SUBDIRS += psxualarm
+_SUBDIRS += psxusleep
+endif
+
+
+
+## File IO tests
+_SUBDIRS += psx13
+_SUBDIRS += psxchroot01
+_SUBDIRS += psxfile01
+_SUBDIRS += psxfile02
+_SUBDIRS += psxfilelock01
+_SUBDIRS += psxgetattrnp01
+_SUBDIRS += psxgetrusage01
+_SUBDIRS += psxid01
+_SUBDIRS += psximfs01
+_SUBDIRS += psximfs02
+_SUBDIRS += psxmount
+_SUBDIRS += psxpasswd01
+_SUBDIRS += psxpasswd02
+_SUBDIRS += psxpipe01
+_SUBDIRS += psxreaddir
+_SUBDIRS += psxstat
+_SUBDIRS += psxtimes01
+_SUBDIRS += psxfchx01
-include $(top_srcdir)/../automake/test-subdirs.am
+include $(top_srcdir)/../automake/subdirs.am
include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/psxtests/configure.ac b/testsuites/psxtests/configure.ac
index 3211a8d..1de1312 100644
--- a/testsuites/psxtests/configure.ac
+++ b/testsuites/psxtests/configure.ac
@@ -184,8 +184,8 @@ psxonce01/Makefile
psxpasswd01/Makefile
psxpasswd02/Makefile
psxpipe01/Makefile
-psxreaddir/Makefile
psxrdwrv/Makefile
+psxreaddir/Makefile
psxrwlock01/Makefile
psxsem01/Makefile
psxshm01/Makefile
@@ -202,11 +202,11 @@ psxstack02/Makefile
psxstat/Makefile
psxstrsignal01/Makefile
psxsysconf/Makefile
+psxthreadname01/Makefile
psxtime/Makefile
psxtimer01/Makefile
psxtimer02/Makefile
psxtimes01/Makefile
-psxthreadname01/Makefile
psxualarm/Makefile
psxusleep/Makefile
])
diff --git a/testsuites/psxtmtests/Makefile.am b/testsuites/psxtmtests/Makefile.am
index e7e079a..bcb11dc 100644
--- a/testsuites/psxtmtests/Makefile.am
+++ b/testsuites/psxtmtests/Makefile.am
@@ -1,60 +1,60 @@
ACLOCAL_AMFLAGS = -I ../aclocal
-SUBDIRS =
+_SUBDIRS =
if HAS_POSIX
-SUBDIRS += psxtmbarrier01
-SUBDIRS += psxtmbarrier02
-SUBDIRS += psxtmbarrier03
-SUBDIRS += psxtmbarrier04
-SUBDIRS += psxtmclocknanosleep01
-SUBDIRS += psxtmclocknanosleep02
-SUBDIRS += psxtmclocknanosleep03
-SUBDIRS += psxtmcond01
-SUBDIRS += psxtmcond02
-SUBDIRS += psxtmcond03
-SUBDIRS += psxtmcond04
-SUBDIRS += psxtmcond05
-SUBDIRS += psxtmcond06
-SUBDIRS += psxtmcond07
-SUBDIRS += psxtmcond08
-SUBDIRS += psxtmcond09
-SUBDIRS += psxtmcond10
-SUBDIRS += psxtmkey01
-SUBDIRS += psxtmkey02
-SUBDIRS += psxtmmq01
-SUBDIRS += psxtmmutex01
-SUBDIRS += psxtmmutex02
-SUBDIRS += psxtmmutex03
-SUBDIRS += psxtmmutex04
-SUBDIRS += psxtmmutex05
-SUBDIRS += psxtmmutex06
-SUBDIRS += psxtmmutex07
-SUBDIRS += psxtmnanosleep01
-SUBDIRS += psxtmnanosleep02
-SUBDIRS += psxtmrwlock01
-SUBDIRS += psxtmrwlock02
-SUBDIRS += psxtmrwlock03
-SUBDIRS += psxtmrwlock04
-SUBDIRS += psxtmrwlock05
-SUBDIRS += psxtmrwlock06
-SUBDIRS += psxtmrwlock07
-SUBDIRS += psxtmsem01
-SUBDIRS += psxtmsem02
-SUBDIRS += psxtmsem03
-SUBDIRS += psxtmsem04
-SUBDIRS += psxtmsem05
-SUBDIRS += psxtmsleep01
-SUBDIRS += psxtmsleep02
-SUBDIRS += psxtmthread01
-SUBDIRS += psxtmthread02
-SUBDIRS += psxtmthread03
-SUBDIRS += psxtmthread04
-SUBDIRS += psxtmthread05
-SUBDIRS += psxtmthread06
+_SUBDIRS += psxtmbarrier01
+_SUBDIRS += psxtmbarrier02
+_SUBDIRS += psxtmbarrier03
+_SUBDIRS += psxtmbarrier04
+_SUBDIRS += psxtmclocknanosleep01
+_SUBDIRS += psxtmclocknanosleep02
+_SUBDIRS += psxtmclocknanosleep03
+_SUBDIRS += psxtmcond01
+_SUBDIRS += psxtmcond02
+_SUBDIRS += psxtmcond03
+_SUBDIRS += psxtmcond04
+_SUBDIRS += psxtmcond05
+_SUBDIRS += psxtmcond06
+_SUBDIRS += psxtmcond07
+_SUBDIRS += psxtmcond08
+_SUBDIRS += psxtmcond09
+_SUBDIRS += psxtmcond10
+_SUBDIRS += psxtmkey01
+_SUBDIRS += psxtmkey02
+_SUBDIRS += psxtmmq01
+_SUBDIRS += psxtmmutex01
+_SUBDIRS += psxtmmutex02
+_SUBDIRS += psxtmmutex03
+_SUBDIRS += psxtmmutex04
+_SUBDIRS += psxtmmutex05
+_SUBDIRS += psxtmmutex06
+_SUBDIRS += psxtmmutex07
+_SUBDIRS += psxtmnanosleep01
+_SUBDIRS += psxtmnanosleep02
+_SUBDIRS += psxtmrwlock01
+_SUBDIRS += psxtmrwlock02
+_SUBDIRS += psxtmrwlock03
+_SUBDIRS += psxtmrwlock04
+_SUBDIRS += psxtmrwlock05
+_SUBDIRS += psxtmrwlock06
+_SUBDIRS += psxtmrwlock07
+_SUBDIRS += psxtmsem01
+_SUBDIRS += psxtmsem02
+_SUBDIRS += psxtmsem03
+_SUBDIRS += psxtmsem04
+_SUBDIRS += psxtmsem05
+_SUBDIRS += psxtmsleep01
+_SUBDIRS += psxtmsleep02
+_SUBDIRS += psxtmthread01
+_SUBDIRS += psxtmthread02
+_SUBDIRS += psxtmthread03
+_SUBDIRS += psxtmthread04
+_SUBDIRS += psxtmthread05
+_SUBDIRS += psxtmthread06
endif
-DIST_SUBDIRS = $(SUBDIRS)
+DIST_SUBDIRS = $(_SUBDIRS)
include $(top_srcdir)/../automake/subdirs.am
include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/rhealstone/Makefile.am b/testsuites/rhealstone/Makefile.am
index d22c600..e2dcf69 100644
--- a/testsuites/rhealstone/Makefile.am
+++ b/testsuites/rhealstone/Makefile.am
@@ -1,11 +1,12 @@
ACLOCAL_AMFLAGS = -I ../aclocal
-SUBDIRS = rhtaskswitch
-SUBDIRS += rhtaskpreempt
-SUBDIRS += rhilatency
-SUBDIRS += rhmlatency
-SUBDIRS += rhsemshuffle
-SUBDIRS += rhdeadlockbrk
+_SUBDIRS =
+_SUBDIRS += rhdeadlockbrk
+_SUBDIRS += rhilatency
+_SUBDIRS += rhmlatency
+_SUBDIRS += rhsemshuffle
+_SUBDIRS += rhtaskpreempt
+_SUBDIRS += rhtaskswitch
include $(top_srcdir)/../automake/subdirs.am
include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/rhealstone/configure.ac b/testsuites/rhealstone/configure.ac
index bcc6592..af35f68 100644
--- a/testsuites/rhealstone/configure.ac
+++ b/testsuites/rhealstone/configure.ac
@@ -25,11 +25,11 @@ RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP)
# Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile
-rhtaskswitch/Makefile
-rhtaskpreempt/Makefile
+rhdeadlockbrk/Makefile
rhilatency/Makefile
rhmlatency/Makefile
rhsemshuffle/Makefile
-rhdeadlockbrk/Makefile
+rhtaskpreempt/Makefile
+rhtaskswitch/Makefile
])
AC_OUTPUT
diff --git a/testsuites/samples/Makefile.am b/testsuites/samples/Makefile.am
index 374617b..85e89a5 100644
--- a/testsuites/samples/Makefile.am
+++ b/testsuites/samples/Makefile.am
@@ -1,18 +1,24 @@
ACLOCAL_AMFLAGS = -I ../aclocal
-_SUBDIRS = hello capture ticker base_sp unlimited minimum fileio
+_SUBDIRS =
+_SUBDIRS += base_sp
+_SUBDIRS += capture
+_SUBDIRS += fileio
+_SUBDIRS += hello
+_SUBDIRS += minimum
+_SUBDIRS += nsecs
+_SUBDIRS += paranoia
+_SUBDIRS += ticker
+_SUBDIRS += unlimited
if MPTESTS
## base_mp is a sample multiprocessing test
_SUBDIRS += base_mp
endif
-_SUBDIRS += paranoia
-
-_SUBDIRS += nsecs
-
if CXXTESTS
-_SUBDIRS += iostream cdtest
+_SUBDIRS += cdtest
+_SUBDIRS += iostream
endif
if NETTESTS
@@ -24,5 +30,5 @@ _SUBDIRS += pppd
endif
endif
-include $(top_srcdir)/../automake/test-subdirs.am
+include $(top_srcdir)/../automake/subdirs.am
include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/samples/configure.ac b/testsuites/samples/configure.ac
index 91a3661..ffe1bad 100644
--- a/testsuites/samples/configure.ac
+++ b/testsuites/samples/configure.ac
@@ -37,7 +37,7 @@ AS_IF([test $HAS_CPLUSPLUS = yes],[
[rtems_cv_HAVE_IOSTREAM_STD_NAMESPACE],
[AC_COMPILE_IFELSE(
[AC_LANG_PROGRAM(
- [[#include <iostream>]],
+ [[#include <iostream>]],
[[std::cout << "hello" << std::endl;]])
],
[rtems_cv_HAVE_IOSTREAM_STD_NAMESPACE=yes],
@@ -60,21 +60,21 @@ AC_CHECK_SIZEOF([time_t])
# Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile
+base_mp/Makefile
+base_mp/node1/Makefile
+base_mp/node2/Makefile
base_sp/Makefile
+capture/Makefile
+cdtest/Makefile
+fileio/Makefile
hello/Makefile
+iostream/Makefile
loopback/Makefile
minimum/Makefile
-fileio/Makefile
nsecs/Makefile
paranoia/Makefile
+pppd/Makefile
ticker/Makefile
unlimited/Makefile
-base_mp/Makefile
-base_mp/node1/Makefile
-base_mp/node2/Makefile
-iostream/Makefile
-cdtest/Makefile
-pppd/Makefile
-capture/Makefile
])
AC_OUTPUT
diff --git a/testsuites/smptests/Makefile.am b/testsuites/smptests/Makefile.am
index ba5b35f..76c02e7 100644
--- a/testsuites/smptests/Makefile.am
+++ b/testsuites/smptests/Makefile.am
@@ -1,56 +1,56 @@
ACLOCAL_AMFLAGS = -I ../aclocal
-SUBDIRS =
+_SUBDIRS =
if SMPTESTS
-SUBDIRS += smp01
-SUBDIRS += smp02
-SUBDIRS += smp03
-SUBDIRS += smp05
-SUBDIRS += smp07
-SUBDIRS += smp08
-SUBDIRS += smp09
-SUBDIRS += smpaffinity01
-SUBDIRS += smpatomic01
-SUBDIRS += smpcache01
-SUBDIRS += smpcapture01
-SUBDIRS += smpcapture02
-SUBDIRS += smpclock01
-SUBDIRS += smpfatal01
-SUBDIRS += smpfatal02
-SUBDIRS += smpfatal03
-SUBDIRS += smpfatal04
-SUBDIRS += smpfatal05
-SUBDIRS += smpfatal06
-SUBDIRS += smpfatal08
-SUBDIRS += smpipi01
-SUBDIRS += smpload01
-SUBDIRS += smplock01
-SUBDIRS += smpmigration01
-SUBDIRS += smpmigration02
-SUBDIRS += smpmrsp01
-SUBDIRS += smpmutex01
-SUBDIRS += smpmutex02
-SUBDIRS += smpschedaffinity01
-SUBDIRS += smpschedaffinity02
-SUBDIRS += smpschedaffinity03
-SUBDIRS += smpschedaffinity04
-SUBDIRS += smpschedaffinity05
-SUBDIRS += smpscheduler01
-SUBDIRS += smpscheduler02
-SUBDIRS += smpscheduler03
-SUBDIRS += smpscheduler04
-SUBDIRS += smpschedsem01
-SUBDIRS += smpsignal01
-SUBDIRS += smpstrongapa01
-SUBDIRS += smpswitchextension01
-SUBDIRS += smpthreadlife01
-SUBDIRS += smpunsupported01
-SUBDIRS += smpwakeafter01
+_SUBDIRS += smp01
+_SUBDIRS += smp02
+_SUBDIRS += smp03
+_SUBDIRS += smp05
+_SUBDIRS += smp07
+_SUBDIRS += smp08
+_SUBDIRS += smp09
+_SUBDIRS += smpaffinity01
+_SUBDIRS += smpatomic01
+_SUBDIRS += smpcache01
+_SUBDIRS += smpcapture01
+_SUBDIRS += smpcapture02
+_SUBDIRS += smpclock01
+_SUBDIRS += smpfatal01
+_SUBDIRS += smpfatal02
+_SUBDIRS += smpfatal03
+_SUBDIRS += smpfatal04
+_SUBDIRS += smpfatal05
+_SUBDIRS += smpfatal06
+_SUBDIRS += smpfatal08
+_SUBDIRS += smpipi01
+_SUBDIRS += smpload01
+_SUBDIRS += smplock01
+_SUBDIRS += smpmigration01
+_SUBDIRS += smpmigration02
+_SUBDIRS += smpmrsp01
+_SUBDIRS += smpmutex01
+_SUBDIRS += smpmutex02
+_SUBDIRS += smppsxaffinity01
+_SUBDIRS += smppsxaffinity02
+_SUBDIRS += smpschedaffinity03
+_SUBDIRS += smpschedaffinity04
+_SUBDIRS += smpschedaffinity05
+_SUBDIRS += smpschedsem01
+_SUBDIRS += smpscheduler01
+_SUBDIRS += smpscheduler02
+_SUBDIRS += smpscheduler03
+_SUBDIRS += smpscheduler04
+_SUBDIRS += smpsignal01
+_SUBDIRS += smpstrongapa01
+_SUBDIRS += smpswitchextension01
+_SUBDIRS += smpthreadlife01
+_SUBDIRS += smpunsupported01
+_SUBDIRS += smpwakeafter01
if HAS_POSIX
-SUBDIRS += smppsxaffinity01
-SUBDIRS += smppsxaffinity02
-SUBDIRS += smppsxmutex01
-SUBDIRS += smppsxsignal01
+_SUBDIRS += smppsxaffinity01
+_SUBDIRS += smppsxaffinity02
+_SUBDIRS += smppsxmutex01
+_SUBDIRS += smppsxsignal01
endif
endif
diff --git a/testsuites/smptests/configure.ac b/testsuites/smptests/configure.ac
index f242b0b..434fe8d 100644
--- a/testsuites/smptests/configure.ac
+++ b/testsuites/smptests/configure.ac
@@ -53,9 +53,6 @@ AC_CHECK_DECLS([pthread_getattr_np],[],[],[[
# Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile
-smpmutex02/Makefile
-smppsxmutex01/Makefile
-smpstrongapa01/Makefile
smp01/Makefile
smp02/Makefile
smp03/Makefile
@@ -83,20 +80,23 @@ smpmigration01/Makefile
smpmigration02/Makefile
smpmrsp01/Makefile
smpmutex01/Makefile
+smpmutex02/Makefile
smppsxaffinity01/Makefile
smppsxaffinity02/Makefile
+smppsxmutex01/Makefile
smppsxsignal01/Makefile
smpschedaffinity01/Makefile
smpschedaffinity02/Makefile
smpschedaffinity03/Makefile
smpschedaffinity04/Makefile
smpschedaffinity05/Makefile
+smpschedsem01/Makefile
smpscheduler01/Makefile
smpscheduler02/Makefile
smpscheduler03/Makefile
smpscheduler04/Makefile
-smpschedsem01/Makefile
smpsignal01/Makefile
+smpstrongapa01/Makefile
smpswitchextension01/Makefile
smpthreadlife01/Makefile
smpunsupported01/Makefile
diff --git a/testsuites/sptests/Makefile.am b/testsuites/sptests/Makefile.am
index e019055..c50e757 100644
--- a/testsuites/sptests/Makefile.am
+++ b/testsuites/sptests/Makefile.am
@@ -80,5 +80,5 @@ _SUBDIRS += sptimerserver01
_SUBDIRS += spclock_err02
_SUBDIRS += spcpuset01
-include $(top_srcdir)/../automake/test-subdirs.am
+include $(top_srcdir)/../automake/subdirs.am
include $(top_srcdir)/../automake/local.am
diff --git a/testsuites/support/include/buffer_test_io.h b/testsuites/support/include/buffer_test_io.h
index 1e396b7..c2a9205 100644
--- a/testsuites/support/include/buffer_test_io.h
+++ b/testsuites/support/include/buffer_test_io.h
@@ -23,15 +23,23 @@ extern "C" {
/*
* Test states. No state string is an expected pass.
*/
-#if TEST_STATE_EXPECTED_FAIL && \
- TEST_INDETERMINATE_FAIL
+#if (TEST_STATE_EXPECTED_FAIL && TEST_STATE_USER_INPUT) || \
+ (TEST_STATE_EXPECTED_FAIL && TEST_STATE_INDETERMINATE) || \
+ (TEST_STATE_EXPECTED_FAIL && TEST_STATE_BENCHMARK) || \
+ (TEST_STATE_USER_INPUT && TEST_STATE_INDETERMINATE) || \
+ (TEST_STATE_USER_INPUT && TEST_STATE_BENCHMARK) || \
+ (TEST_STATE_INDETERMINATE && TEST_STATE_BENCHMARK)
#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
+#elif TEST_STATE_USER_INPUT
+ #define TEST_STATE_STRING "*** TEST STATE: USER_INPUT\n"
+#elif TEST_STATE_INDETERMINATE
#define TEST_STATE_STRING "*** TEST STATE: INDETERMINATE\n"
+#elif TEST_STATE_BENCHMARK
+ #define TEST_STATE_STRING "*** TEST STATE: BENCHMARK\n"
#endif
/*
diff --git a/testsuites/testdata/rtems.tcfg b/testsuites/testdata/rtems.tcfg
new file mode 100644
index 0000000..255a5e1
--- /dev/null
+++ b/testsuites/testdata/rtems.tcfg
@@ -0,0 +1,28 @@
+#
+# RTEMS Test Database common defines
+#
+# Format is one line per test with a directive. The directives are:
+#
+# include: Include the test configuration file after this file
+# has been processed.
+# exclude: Exclude the test from being build and so run.
+# user-input: The test requires user input to work.
+# indeterminate: The test result cannot be determined, it may pass or
+# it may not pass.
+#
+
+#
+# User input tests.
+#
+user-input: capture
+user-input: fileio
+user-input: monitor
+user-input: termios
+user-input: top
+
+#
+# Benchmarks
+#
+benchmark: dhrystone
+benchmark: linpack
+benchmark: whetstone
diff --git a/testsuites/tmtests/Makefile.am b/testsuites/tmtests/Makefile.am
index b259269..8326abe 100644
--- a/testsuites/tmtests/Makefile.am
+++ b/testsuites/tmtests/Makefile.am
@@ -7,5 +7,5 @@ _SUBDIRS += tmtimer01
_SUBDIRS += tmcontext01
_SUBDIRS += tmfine01
-include $(top_srcdir)/../automake/test-subdirs.am
+include $(top_srcdir)/../automake/subdirs.am
include $(top_srcdir)/../automake/local.am
diff --git a/tools/build/rtems-test-check b/tools/build/rtems-test-check
index 923af49..988556d 100755
--- a/tools/build/rtems-test-check
+++ b/tools/build/rtems-test-check
@@ -53,17 +53,29 @@ case ${mode} in
esac
#
+# Read the common settings first.
+#
+if [ -f $includepath/testdata/rtems.tcfg ]; then
+ testdata="$includepath/testdata/rtems.tcfg $testdata"
+fi
+
+#
# If there is no testdata all tests are valid and must pass.
#
-if test -f $testdata; then
+if [ ! -z "$testdata" ]; then
excluded_tests=""
expected_fails=""
+ user_inputs=""
indeterminates=""
+ benchmarks=""
while [ ! -z "$testdata" ];
do
for td in $testdata;
do
+ if [ ! -f $td ]; then
+ continue
+ fi
ntd=""
exec 3<& 0
exec 0<$td
@@ -87,10 +99,18 @@ if test -f $testdata; then
line=$(echo $line | sed -e 's/expected-fail://g;s/[[:blank:]]//g')
expected_fails="${expected_fails} $line"
;;
+ user-input)
+ line=$(echo $line | sed -e 's/user-input://g;s/[[:blank:]]//g')
+ user_inputs="${user_inputs} $line"
+ ;;
indeterminate)
line=$(echo $line | sed -e 's/indeterminate://g;s/[[:blank:]]//g')
indeterminates="${indeterminates} $line"
;;
+ benchmark)
+ line=$(echo $line | sed -e 's/benchmark://g;s/[[:blank:]]//g')
+ benchmarks="${benchmarks} $line"
+ ;;
*)
echo "error: invalid test state: $state in $td" 1>&2
echo "INVALID-TEST-DATA"
@@ -119,26 +139,55 @@ if test -f $testdata; then
fi
;;
flags)
- allow="no"
- for et in ${expected_fails};
+ allow="yes"
+ for et in ${excluded_tests};
do
if test ${t} = ${et}; then
- allow="yes"
+ allow="no"
fi
done
- if test ${allow} = yes; then
- output="-DTEST_STATE_EXPECTED_FAIL=1"
- fi
- allow="no"
- for it in ${indeterminates};
- do
- if test ${t} = ${it}; then
- allow="yes"
+ if test ${allow} = yes; then
+ allow="no"
+ for et in ${expected_fails};
+ do
+ if test ${t} = ${et}; then
+ allow="yes"
+ fi
+ done
+ if test ${allow} = yes; then
+ output="-DTEST_STATE_EXPECTED_FAIL=1"
fi
- done
- if test ${allow} = yes; then
- output="${output} -DTEST_STATE_INDETERMINATE=1"
- fi
+ allow="no"
+ for ut in ${user_inputs};
+ do
+ if test ${t} = ${ut}; then
+ allow="yes"
+ fi
+ done
+ if test ${allow} = yes; then
+ output="-DTEST_STATE_USER_INPUT=1"
+ fi
+ allow="no"
+ for it in ${indeterminates};
+ do
+ if test ${t} = ${it}; then
+ allow="yes"
+ fi
+ done
+ if test ${allow} = yes; then
+ output="${output} -DTEST_STATE_INDETERMINATE=1"
+ fi
+ allow="no"
+ for bt in ${benchmarks};
+ do
+ if test ${t} = ${bt}; then
+ allow="yes"
+ fi
+ done
+ if test ${allow} = yes; then
+ output="${output} -DTEST_STATE_BENCHMARK=1"
+ fi
+ fi
;;
*)
echo "error: invalid mode" 1>&2
diff --git a/tools/build/rtems-test-check-py b/tools/build/rtems-test-check-py
new file mode 100755
index 0000000..e6bf29b
--- /dev/null
+++ b/tools/build/rtems-test-check-py
@@ -0,0 +1,116 @@
+#! /usr/bin/env python
+#
+# Copyright 2017 Chris Johns <chrisj at rtems.org>
+# All rights reserved
+#
+
+#
+# Python version the rtems-test-check script.
+#
+
+from __future__ import print_function
+import os.path
+import sys
+
+def eprint(*args, **kwargs):
+ print(*args, file=sys.stderr, **kwargs)
+
+#
+# Arguments. Keep it simple.
+#
+if len(sys.argv) < 4:
+ eprint('error: invalid command line')
+ print('INVALID-TEST-DATA')
+ sys.exit(2)
+
+mode = sys.argv[1]
+testconfig = [sys.argv[2]]
+includepath = sys.argv[3]
+bsp = sys.argv[4]
+tests = sys.argv[5:]
+
+#
+# Handle the modes.
+#
+if mode == 'exclude':
+ pass
+elif mode == 'flags':
+ if len(tests) != 1:
+ eprint('error: test count not 1 for mode: %s' % (mode))
+ print('INVALID-TEST-DATA')
+ sys.exit(1)
+else:
+ eprint('error: invalid mode: %s' % (mode))
+ print('INVALID-TEST-DATA')
+ sys.exit(1)
+
+#
+# Common RTEMS testsuite configuration. Load first.
+#
+rtems_testdata = os.path.join(includepath, 'testdata', 'rtems.tcfg')
+if os.path.exists(rtems_testdata):
+ testconfig.insert(0, rtems_testdata)
+
+states = ['exclude',
+ 'expected-fail',
+ 'user-input',
+ 'indeterminate',
+ 'benchmark']
+defines = { 'expected-fail' : '-DTEST_STATE_EXPECTED_FAIL=1',
+ 'user-input' : '-DTEST_STATE_USER_INPUT=1',
+ 'indeterminate' : '-DTEST_STATE_INDETERMINATE=1',
+ 'benchmark' : '-DTEST_STATE_BENCHMARK=1' }
+output = []
+testdata = {}
+
+def clean(line):
+ line = line[0:-1]
+ b = line.find('#')
+ if b >= 0:
+ line = line[1:b]
+ return line.strip()
+
+#
+# Load the test data.
+#
+for tc in range(0, len(testconfig)):
+ if not os.path.exists(testconfig[tc]):
+ continue
+ with open(testconfig[tc]) as f:
+ tdata = [clean(l) for l in f.readlines()]
+ lc = 0
+ for line in tdata:
+ lc += 1
+ ls = [s.strip() for s in line.split(':')]
+ if len(line) == 0:
+ continue
+ if len(ls) != 2:
+ eprint('error: syntax error: %s:%d' % (tc, lc))
+ print('INVALID-TEST-DATA')
+ sys.exit(1)
+ state = ls[0]
+ test = ls[1]
+ if state == 'include':
+ testconfig.insert(td, test)
+ elif state in states:
+ if state not in testdata:
+ testdata[state] = [test]
+ else:
+ testdata[state] += [test]
+ else:
+ eprint('error: invalid test state: %s in %s:%d' % (state, tc, lc))
+ print('INVALID-TEST-DATA')
+ sys.exit(1)
+
+for test in tests:
+ if mode == 'exclude':
+ if 'exclude' not in testdata or test not in testdata['exclude']:
+ output += [test]
+ elif mode == 'flags':
+ for state in states:
+ if state != 'exclude' and state in testdata and test in testdata[state]:
+ output += [defines[state]]
+
+print(' '.join(sorted(set(output))))
+
+sys.exit(0)
diff --git a/tools/build/rtems-testsuite-autostuff b/tools/build/rtems-testsuite-autostuff
new file mode 100755
index 0000000..8f298ba
--- /dev/null
+++ b/tools/build/rtems-testsuite-autostuff
@@ -0,0 +1,49 @@
+#! /usr/bin/env python
+
+#
+# Copyright 2017 Chris Johns <chrisj at rtems.org>
+# All rights reserved
+#
+
+#
+# Create the testsuite's configure.am and Makefile.am from the directories
+# found. This does not handle any conditional functionality that may be needed.
+#
+
+from __future__ import print_function
+import os
+import os.path
+import sys
+
+def eprint(*args, **kwargs):
+ print(*args, file = sys.stderr, **kwargs)
+
+def die(*args, **kwargs):
+ print(*args, file = sys.stderr, **kwargs)
+ sys.exit(1)
+
+if len(sys.argv) != 2:
+ die('error: just provide the path to the test directory')
+
+testdir = sys.argv[1]
+
+if not os.path.exists(testdir):
+ die('error: not found: %s' % (testdir))
+if not os.path.isdir(testdir):
+ die('error: not a directory: %s' % (testdir))
+
+excludes = ['autom4te.cache']
+
+tests = sorted([t for t in os.listdir(testdir)
+ if os.path.isdir(os.path.join(testdir, t)) \
+ and t not in excludes \
+ and os.path.exists(os.path.join(testdir, t, 'Makefile.am'))])
+
+configure = ['AC_CONFIG_FILES([Makefile'] + ['%s/Makefile' % (t) for t in tests] + ['])']
+makefile = ['_SUBDIRS ='] + ['_SUBDIRS += %s' % (t) for t in tests]
+
+print(os.linesep.join(configure))
+print()
+print(os.linesep.join(makefile))
+
+sys.exit(0)
More information about the vc
mailing list