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