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.
This commit is contained in:
Chris Johns
2017-04-04 08:11:24 +10:00
parent d2a45a58aa
commit 258bda306b
30 changed files with 755 additions and 372 deletions

View File

@@ -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"

View File

@@ -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

View File

@@ -1,9 +1,9 @@
ACLOCAL_AMFLAGS = -I ../aclocal ACLOCAL_AMFLAGS = -I ../aclocal
SUBDIRS = _SUBDIRS =
SUBDIRS += linpack _SUBDIRS += dhrystone
SUBDIRS += whetstone _SUBDIRS += linpack
SUBDIRS += dhrystone _SUBDIRS += whetstone
include $(top_srcdir)/../automake/subdirs.am include $(top_srcdir)/../automake/subdirs.am
include $(top_srcdir)/../automake/local.am include $(top_srcdir)/../automake/local.am

View File

@@ -22,8 +22,8 @@ RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP)
# Explicitly list all Makefiles here # Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile AC_CONFIG_FILES([Makefile
dhrystone/Makefile
linpack/Makefile linpack/Makefile
whetstone/Makefile whetstone/Makefile
dhrystone/Makefile
]) ])
AC_OUTPUT AC_OUTPUT

View File

@@ -1,16 +1,21 @@
ACLOCAL_AMFLAGS = -I ../aclocal ACLOCAL_AMFLAGS = -I ../aclocal
_SUBDIRS = _SUBDIRS =
_SUBDIRS += fsjffs2gc01 _SUBDIRS += fsbdpart01
_SUBDIRS += fsimfsconfig03 _SUBDIRS += fsdosfsformat01
_SUBDIRS += fsimfsconfig02
_SUBDIRS += fsimfsconfig01
_SUBDIRS += fsdosfsname01 _SUBDIRS += fsdosfsname01
_SUBDIRS += fsdosfsname02 _SUBDIRS += fsdosfsname02
_SUBDIRS += fsdosfswrite01
_SUBDIRS += fsdosfsformat01
_SUBDIRS += fsfseeko01
_SUBDIRS += fsdosfssync01 _SUBDIRS += fsdosfssync01
_SUBDIRS += fsdosfswrite01
_SUBDIRS += fsfseeko01
_SUBDIRS += fsimfsconfig01
_SUBDIRS += fsimfsconfig02
_SUBDIRS += fsimfsconfig03
_SUBDIRS += fsimfsgeneric01
_SUBDIRS += fsjffs2gc01
_SUBDIRS += fsnofs01
_SUBDIRS += fsrfsbitmap01
_SUBDIRS += fsrofs01
_SUBDIRS += imfs_fserror _SUBDIRS += imfs_fserror
_SUBDIRS += imfs_fslink _SUBDIRS += imfs_fslink
_SUBDIRS += imfs_fspatheval _SUBDIRS += imfs_fspatheval
@@ -30,19 +35,20 @@ _SUBDIRS += jffs2_fstime
_SUBDIRS += mdosfs_fserror _SUBDIRS += mdosfs_fserror
_SUBDIRS += mdosfs_fspatheval _SUBDIRS += mdosfs_fspatheval
_SUBDIRS += mdosfs_fsrdwr _SUBDIRS += mdosfs_fsrdwr
_SUBDIRS += mdosfs_fsstatvfs
_SUBDIRS += mdosfs_fsscandir01 _SUBDIRS += mdosfs_fsscandir01
_SUBDIRS += mdosfs_fsstatvfs
_SUBDIRS += mdosfs_fstime _SUBDIRS += mdosfs_fstime
_SUBDIRS += mimfs_fserror _SUBDIRS += mimfs_fserror
_SUBDIRS += mimfs_fslink _SUBDIRS += mimfs_fslink
_SUBDIRS += mimfs_fspatheval _SUBDIRS += mimfs_fspatheval
_SUBDIRS += mimfs_fspermission _SUBDIRS += mimfs_fspermission
_SUBDIRS += mimfs_fsrdwr _SUBDIRS += mimfs_fsrdwr
_SUBDIRS += mimfs_fsrename
_SUBDIRS += mimfs_fsscandir01 _SUBDIRS += mimfs_fsscandir01
_SUBDIRS += mimfs_fssymlink _SUBDIRS += mimfs_fssymlink
_SUBDIRS += mimfs_fstime _SUBDIRS += mimfs_fstime
_SUBDIRS += mimfs_fsrename
_SUBDIRS += mrfs_fserror _SUBDIRS += mrfs_fserror
_SUBDIRS += mrfs_fsfpathconf
_SUBDIRS += mrfs_fslink _SUBDIRS += mrfs_fslink
_SUBDIRS += mrfs_fspatheval _SUBDIRS += mrfs_fspatheval
_SUBDIRS += mrfs_fspermission _SUBDIRS += mrfs_fspermission
@@ -50,11 +56,6 @@ _SUBDIRS += mrfs_fsrdwr
_SUBDIRS += mrfs_fsscandir01 _SUBDIRS += mrfs_fsscandir01
_SUBDIRS += mrfs_fssymlink _SUBDIRS += mrfs_fssymlink
_SUBDIRS += mrfs_fstime _SUBDIRS += mrfs_fstime
_SUBDIRS += mrfs_fsfpathconf
_SUBDIRS += fsrfsbitmap01
_SUBDIRS += fsnofs01
_SUBDIRS += fsimfsgeneric01
_SUBDIRS += fsbdpart01
EXTRA_DIST = EXTRA_DIST =
EXTRA_DIST += support/ramdisk_support.c 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_support.h
EXTRA_DIST += support/fstest.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 include $(top_srcdir)/../automake/local.am

View File

@@ -77,16 +77,21 @@ AC_CHECK_SIZEOF([blkcnt_t])
# Explicitly list all Makefiles here # Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile AC_CONFIG_FILES([Makefile
fsjffs2gc01/Makefile fsbdpart01/Makefile
fsimfsconfig03/Makefile fsdosfsformat01/Makefile
fsimfsconfig02/Makefile
fsimfsconfig01/Makefile
fsdosfsname01/Makefile fsdosfsname01/Makefile
fsdosfsname02/Makefile fsdosfsname02/Makefile
fsdosfswrite01/Makefile
fsdosfsformat01/Makefile
fsfseeko01/Makefile
fsdosfssync01/Makefile fsdosfssync01/Makefile
fsdosfswrite01/Makefile
fsfseeko01/Makefile
fsimfsconfig01/Makefile
fsimfsconfig02/Makefile
fsimfsconfig03/Makefile
fsimfsgeneric01/Makefile
fsjffs2gc01/Makefile
fsnofs01/Makefile
fsrfsbitmap01/Makefile
fsrofs01/Makefile
imfs_fserror/Makefile imfs_fserror/Makefile
imfs_fslink/Makefile imfs_fslink/Makefile
imfs_fspatheval/Makefile imfs_fspatheval/Makefile
@@ -114,11 +119,12 @@ mimfs_fslink/Makefile
mimfs_fspatheval/Makefile mimfs_fspatheval/Makefile
mimfs_fspermission/Makefile mimfs_fspermission/Makefile
mimfs_fsrdwr/Makefile mimfs_fsrdwr/Makefile
mimfs_fsrename/Makefile
mimfs_fsscandir01/Makefile mimfs_fsscandir01/Makefile
mimfs_fssymlink/Makefile mimfs_fssymlink/Makefile
mimfs_fstime/Makefile mimfs_fstime/Makefile
mimfs_fsrename/Makefile
mrfs_fserror/Makefile mrfs_fserror/Makefile
mrfs_fsfpathconf/Makefile
mrfs_fslink/Makefile mrfs_fslink/Makefile
mrfs_fspatheval/Makefile mrfs_fspatheval/Makefile
mrfs_fspermission/Makefile mrfs_fspermission/Makefile
@@ -126,11 +132,5 @@ mrfs_fsrdwr/Makefile
mrfs_fsscandir01/Makefile mrfs_fsscandir01/Makefile
mrfs_fssymlink/Makefile mrfs_fssymlink/Makefile
mrfs_fstime/Makefile mrfs_fstime/Makefile
mrfs_fsfpathconf/Makefile
fsrfsbitmap01/Makefile
fsnofs01/Makefile
fsimfsgeneric01/Makefile
fsbdpart01/Makefile
]) ])
AC_OUTPUT AC_OUTPUT

View File

@@ -153,12 +153,12 @@ static void test_rofs(void)
static void Init(rtems_task_argument arg) static void Init(rtems_task_argument arg)
{ {
TEST_BEGIN(): TEST_BEGIN();
test_create_file_system(); test_create_file_system();
test_rofs(); test_rofs();
TEST_END(): TEST_END();
rtems_test_exit(0); rtems_test_exit(0);
} }

View File

@@ -1,42 +1,85 @@
ACLOCAL_AMFLAGS = -I ../aclocal ACLOCAL_AMFLAGS = -I ../aclocal
_SUBDIRS = POSIX _SUBDIRS =
_SUBDIRS += termios09 _SUBDIRS += POSIX
_SUBDIRS += libfdt01 _SUBDIRS += block01
_SUBDIRS += defaultconfig01 _SUBDIRS += block02
_SUBDIRS += pwdgrp02 _SUBDIRS += block03
_SUBDIRS += shell01 _SUBDIRS += block04
_SUBDIRS += pwdgrp01 _SUBDIRS += block05
_SUBDIRS += crypt01 _SUBDIRS += block06
_SUBDIRS += sha _SUBDIRS += block07
_SUBDIRS += i2c01 _SUBDIRS += block08
_SUBDIRS += spi01 _SUBDIRS += block09
_SUBDIRS += newlib01 _SUBDIRS += block10
_SUBDIRS += block17 _SUBDIRS += block11
_SUBDIRS += exit02 _SUBDIRS += block12
_SUBDIRS += exit01
_SUBDIRS += utf8proc01
_SUBDIRS += md501
_SUBDIRS += sparsedisk01
_SUBDIRS += block16
_SUBDIRS += block15
_SUBDIRS += block14
_SUBDIRS += block13 _SUBDIRS += block13
_SUBDIRS += rbheap01 _SUBDIRS += block14
_SUBDIRS += flashdisk01 _SUBDIRS += block15
_SUBDIRS += block16
_SUBDIRS += block17
_SUBDIRS += bspcmdline01
_SUBDIRS += capture01 _SUBDIRS += capture01
_SUBDIRS += complex
_SUBDIRS += bspcmdline01 cpuuse devfs01 devfs02 devfs03 devfs04 \ _SUBDIRS += cpuuse
deviceio01 devnullfatal01 dumpbuf01 gxx01 top\ _SUBDIRS += crypt01
malloctest malloc02 malloc03 malloc04 heapwalk \ _SUBDIRS += defaultconfig01
putenvtest monitor monitor02 rtmonuse stackchk stackchk01 \ _SUBDIRS += devfs01
termios termios01 termios02 termios03 termios04 termios05 \ _SUBDIRS += devfs02
termios06 termios07 termios08 \ _SUBDIRS += devfs03
tztest block01 block02 block03 block04 block05 block06 block07 \ _SUBDIRS += devfs04
block08 block09 block10 block11 block12 stringto01 \ _SUBDIRS += deviceio01
tar01 tar02 tar03 \ _SUBDIRS += devnullfatal01
math mathf mathl complex \ _SUBDIRS += dumpbuf01
mouse01 uid01 _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 += pwdgrp02
_SUBDIRS += rbheap01
_SUBDIRS += rtmonuse
_SUBDIRS += sha
_SUBDIRS += shell01
_SUBDIRS += sparsedisk01
_SUBDIRS += spi01
_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
if NETTESTS if NETTESTS
if HAS_POSIX if HAS_POSIX
@@ -47,6 +90,10 @@ _SUBDIRS += networking01
_SUBDIRS += syscall01 _SUBDIRS += syscall01
endif 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 if DLTESTS
_SUBDIRS += dl01 dl02 dl03 _SUBDIRS += dl01 dl02 dl03
if HAS_CXX if HAS_CXX
@@ -58,5 +105,5 @@ if DEBUGGERTESTS
_SUBDIRS += debugger01 _SUBDIRS += debugger01
endif endif
include $(top_srcdir)/../automake/test-subdirs.am include $(top_srcdir)/../automake/subdirs.am
include $(top_srcdir)/../automake/local.am include $(top_srcdir)/../automake/local.am

View File

@@ -93,31 +93,7 @@ AM_CONDITIONAL(DEBUGGERTESTS,[test x"$TEST_LIBDEBUGGER" = x"yes"])
# Explicitly list all Makefiles here # Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile AC_CONFIG_FILES([Makefile
networking01/Makefile POSIX/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
block01/Makefile block01/Makefile
block02/Makefile block02/Makefile
block03/Makefile block03/Makefile
@@ -130,8 +106,18 @@ block09/Makefile
block10/Makefile block10/Makefile
block11/Makefile block11/Makefile
block12/Makefile block12/Makefile
block13/Makefile
block14/Makefile
block15/Makefile
block16/Makefile
block17/Makefile
bspcmdline01/Makefile bspcmdline01/Makefile
capture01/Makefile
complex/Makefile
cpuuse/Makefile cpuuse/Makefile
crypt01/Makefile
debugger01/Makefile
defaultconfig01/Makefile
devfs01/Makefile devfs01/Makefile
devfs02/Makefile devfs02/Makefile
devfs03/Makefile devfs03/Makefile
@@ -144,22 +130,41 @@ dl03/Makefile
dl04/Makefile dl04/Makefile
dl05/Makefile dl05/Makefile
dumpbuf01/Makefile dumpbuf01/Makefile
exit01/Makefile
exit02/Makefile
flashdisk01/Makefile
ftp01/Makefile ftp01/Makefile
gxx01/Makefile gxx01/Makefile
heapwalk/Makefile heapwalk/Makefile
malloctest/Makefile i2c01/Makefile
libfdt01/Makefile
malloc02/Makefile malloc02/Makefile
malloc03/Makefile malloc03/Makefile
malloc04/Makefile malloc04/Makefile
malloctest/Makefile
math/Makefile
mathf/Makefile
mathl/Makefile
md501/Makefile
mghttpd01/Makefile
monitor/Makefile monitor/Makefile
monitor02/Makefile monitor02/Makefile
mouse01/Makefile mouse01/Makefile
uid01/Makefile networking01/Makefile
newlib01/Makefile
putenvtest/Makefile putenvtest/Makefile
pwdgrp01/Makefile
pwdgrp02/Makefile
rbheap01/Makefile
rtmonuse/Makefile rtmonuse/Makefile
sha/Makefile
shell01/Makefile
sparsedisk01/Makefile
spi01/Makefile
stackchk/Makefile stackchk/Makefile
stackchk01/Makefile stackchk01/Makefile
stringto01/Makefile stringto01/Makefile
syscall01/Makefile
tar01/Makefile tar01/Makefile
tar02/Makefile tar02/Makefile
tar03/Makefile tar03/Makefile
@@ -175,12 +180,7 @@ termios08/Makefile
termios09/Makefile termios09/Makefile
top/Makefile top/Makefile
tztest/Makefile tztest/Makefile
capture01/Makefile uid01/Makefile
POSIX/Makefile utf8proc01/Makefile
math/Makefile
mathf/Makefile
mathl/Makefile
complex/Makefile
debugger01/Makefile
]) ])
AC_OUTPUT AC_OUTPUT

View File

@@ -29,14 +29,9 @@ dl-tar.h: dl.tar
$(BIN2C) -H $< $@ $(BIN2C) -H $< $@
CLEANFILES += dl-tar.h CLEANFILES += dl-tar.h
dl01.pre$(EXEEXT): $(dl01_OBJECTS) $(dl01_DEPENDENCIES) dl01.pre: $(dl01_OBJECTS) $(dl01_DEPENDENCIES)
@rm -f dl01.pre$(EXEEXT) @rm -f dl01.pre
$(make-exe) $(LINK_APP)
rm -f dl01.pre.ralf
dl01.pre: dl01.pre$(EXEEXT)
mv $< $@
CLEANFILES += dl01.pre
dl-sym.o: dl01.pre dl-sym.o: dl01.pre
rtems-syms -e -c "$(CFLAGS)" -o $@ $< rtems-syms -e -c "$(CFLAGS)" -o $@ $<

View File

@@ -31,14 +31,9 @@ dl-tar.h: dl.tar
$(BIN2C) -H $< $@ $(BIN2C) -H $< $@
CLEANFILES += dl-tar.h CLEANFILES += dl-tar.h
dl02.pre$(EXEEXT): $(dl02_OBJECTS) $(dl02_DEPENDENCIES) dl02.pre: $(dl02_OBJECTS) $(dl02_DEPENDENCIES)
@rm -f dl02.pre$(EXEEXT) @rm -f dl02.pre
$(make-exe) $(LINK_APP)
rm -f dl02.pre.ralf
dl02.pre: dl02.pre$(EXEEXT)
mv $< $@
CLEANFILES += dl02.pre
dl-sym.o: dl02.pre dl-sym.o: dl02.pre
rtems-syms -e -c "$(CFLAGS)" -o $@ $< rtems-syms -e -c "$(CFLAGS)" -o $@ $<

View File

@@ -30,14 +30,9 @@ dl-tar.h: dl.tar
$(BIN2C) -H $< $@ $(BIN2C) -H $< $@
CLEANFILES += dl-tar.h CLEANFILES += dl-tar.h
dl04.pre$(EXEEXT): $(dl04_OBJECTS) $(dl04_DEPENDENCIES) dl04.pre: $(dl04_OBJECTS) $(dl04_DEPENDENCIES)
@rm -f dl04.pre$(EXEEXT) @rm -f dl04.pre
$(make-exe) $(LINK_APP)
rm -f dl04.pre.ralf
dl04.pre: dl04.pre$(EXEEXT)
mv $< $@
CLEANFILES += dl04.pre
dl-sym.o: dl04.pre dl-sym.o: dl04.pre
rtems-syms -e -c "$(CFLAGS)" -o $@ $< rtems-syms -e -c "$(CFLAGS)" -o $@ $<

View File

@@ -29,15 +29,10 @@ dl-tar.h: dl.tar
$(BIN2C) -H $< $@ $(BIN2C) -H $< $@
CLEANFILES += dl-tar.h CLEANFILES += dl-tar.h
dl05.pre$(EXEEXT): $(dl05_OBJECTS) $(dl05_DEPENDENCIES) dl05.pre: $(dl05_OBJECTS) $(dl05_DEPENDENCIES)
@rm -f dl05.pre$(EXEEXT) @rm -f dl05.pre
$(LINK.cc) $(CPU_CFLAGS) $(AM_CFLAGS) $(AM_LDFLAGS) \ $(LINK.cc) $(CPU_CFLAGS) $(AM_CFLAGS) $(AM_LDFLAGS) \
-o $(basename $@)$(EXEEXT) $(LINK_OBJS) $(LINK_LIBS) -o $@ $(LINK_OBJS) $(LINK_LIBS)
rm -f dl05.pre.ralf
dl05.pre: dl05.pre$(EXEEXT)
mv $< $@
CLEANFILES += dl05.pre
dl-sym.o: dl05.pre dl-sym.o: dl05.pre
rtems-syms -e -c "$(CFLAGS)" -o $@ $< rtems-syms -e -c "$(CFLAGS)" -o $@ $<

View File

@@ -1,7 +1,19 @@
ACLOCAL_AMFLAGS = -I ../aclocal ACLOCAL_AMFLAGS = -I ../aclocal
_SUBDIRS = mp01 mp03 mp04 mp05 mp06 mp07 mp08 mp09 mp10 mp11 mp12 mp13 \ _SUBDIRS =
mp14 _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 include $(top_srcdir)/../automake/local.am

View File

@@ -1,48 +1,131 @@
ACLOCAL_AMFLAGS = -I ../aclocal ACLOCAL_AMFLAGS = -I ../aclocal
_SUBDIRS = psxclock ## Some of the tests need other POSIX features to work while some do not.
_SUBDIRS += psxthreadname01
_SUBDIRS =
if HAS_POSIX if HAS_POSIX
_SUBDIRS += psxhdrs psx01 psx02 psx03 psx04 psx05 psx06 psx07 psx08 psx09 \ _SUBDIRS += psx01
psx10 psx11 psx12 psx13 psx14 psx15 psx16 \ _SUBDIRS += psx02
psxaio01 psxaio02 psxaio03 \ _SUBDIRS += psx03
psxalarm01 psxautoinit01 psxautoinit02 psxbarrier01 \ _SUBDIRS += psx04
psxcancel psxcancel01 psxclassic01 psxcleanup psxcleanup01 \ _SUBDIRS += psx05
psxconcurrency01 psxcond01 psxcond02 psxconfig01 psxenosys \ _SUBDIRS += psx06
psxitimer psxmsgq01 psxmsgq02 psxmsgq03 psxmsgq04 \ _SUBDIRS += psx07
psxmutexattr01 psxobj01 psxrwlock01 psxsem01 psxshm01 psxshm02 \ _SUBDIRS += psx08
psxsignal01 psxsignal02 psxsignal03 psxsignal04 psxsignal05 psxsignal06 \ _SUBDIRS += psx09
psxspin01 psxstrsignal01 psxsysconf \ _SUBDIRS += psx10
psxtime psxtimer01 psxtimer02 psxualarm psxusleep psxfatal01 psxfatal02 \ _SUBDIRS += psx11
psxintrcritical01 psxstack01 psxstack02 \ _SUBDIRS += psx12
psxeintr_join psxgetattrnp01 psxclock01 _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 _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 if HAS_CPLUSPLUS
_SUBDIRS += psxglobalcon01 _SUBDIRS += psxglobalcon01
_SUBDIRS += psxglobalcon02 _SUBDIRS += psxglobalcon02
endif endif
_SUBDIRS += psxhdrs
_SUBDIRS += psxintrcritical01
_SUBDIRS += psxitimer
endif endif
_SUBDIRS += psxkey01
## File IO tests _SUBDIRS += psxkey02
_SUBDIRS += psxfile01 psxfile02 psxfilelock01 psxgetrusage01 psxid01 \ _SUBDIRS += psxkey03
psximfs01 psximfs02 psxreaddir psxstat psxmount psx13 psxchroot01 \ _SUBDIRS += psxkey04
psxpasswd01 psxpasswd02 psxpipe01 psxtimes01 psxfchx01 _SUBDIRS += psxkey05
_SUBDIRS += psxkey06
## 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
if HAS_POSIX if HAS_POSIX
_SUBDIRS += psxkey07 _SUBDIRS += psxkey07
endif endif
_SUBDIRS += psxkey08
## POSIX Once is always available _SUBDIRS += psxkey09
_SUBDIRS += psxkey10
if HAS_POSIX
_SUBDIRS += psxmsgq01
_SUBDIRS += psxmsgq02
_SUBDIRS += psxmsgq03
_SUBDIRS += psxmsgq04
_SUBDIRS += psxmutexattr01
_SUBDIRS += psxobj01
endif
_SUBDIRS += psxonce01 _SUBDIRS += psxonce01
_SUBDIRS += psxrdwrv _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
include $(top_srcdir)/../automake/test-subdirs.am
## 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/subdirs.am
include $(top_srcdir)/../automake/local.am include $(top_srcdir)/../automake/local.am

View File

@@ -184,8 +184,8 @@ psxonce01/Makefile
psxpasswd01/Makefile psxpasswd01/Makefile
psxpasswd02/Makefile psxpasswd02/Makefile
psxpipe01/Makefile psxpipe01/Makefile
psxreaddir/Makefile
psxrdwrv/Makefile psxrdwrv/Makefile
psxreaddir/Makefile
psxrwlock01/Makefile psxrwlock01/Makefile
psxsem01/Makefile psxsem01/Makefile
psxshm01/Makefile psxshm01/Makefile
@@ -202,11 +202,11 @@ psxstack02/Makefile
psxstat/Makefile psxstat/Makefile
psxstrsignal01/Makefile psxstrsignal01/Makefile
psxsysconf/Makefile psxsysconf/Makefile
psxthreadname01/Makefile
psxtime/Makefile psxtime/Makefile
psxtimer01/Makefile psxtimer01/Makefile
psxtimer02/Makefile psxtimer02/Makefile
psxtimes01/Makefile psxtimes01/Makefile
psxthreadname01/Makefile
psxualarm/Makefile psxualarm/Makefile
psxusleep/Makefile psxusleep/Makefile
]) ])

View File

@@ -1,60 +1,60 @@
ACLOCAL_AMFLAGS = -I ../aclocal ACLOCAL_AMFLAGS = -I ../aclocal
SUBDIRS = _SUBDIRS =
if HAS_POSIX if HAS_POSIX
SUBDIRS += psxtmbarrier01 _SUBDIRS += psxtmbarrier01
SUBDIRS += psxtmbarrier02 _SUBDIRS += psxtmbarrier02
SUBDIRS += psxtmbarrier03 _SUBDIRS += psxtmbarrier03
SUBDIRS += psxtmbarrier04 _SUBDIRS += psxtmbarrier04
SUBDIRS += psxtmclocknanosleep01 _SUBDIRS += psxtmclocknanosleep01
SUBDIRS += psxtmclocknanosleep02 _SUBDIRS += psxtmclocknanosleep02
SUBDIRS += psxtmclocknanosleep03 _SUBDIRS += psxtmclocknanosleep03
SUBDIRS += psxtmcond01 _SUBDIRS += psxtmcond01
SUBDIRS += psxtmcond02 _SUBDIRS += psxtmcond02
SUBDIRS += psxtmcond03 _SUBDIRS += psxtmcond03
SUBDIRS += psxtmcond04 _SUBDIRS += psxtmcond04
SUBDIRS += psxtmcond05 _SUBDIRS += psxtmcond05
SUBDIRS += psxtmcond06 _SUBDIRS += psxtmcond06
SUBDIRS += psxtmcond07 _SUBDIRS += psxtmcond07
SUBDIRS += psxtmcond08 _SUBDIRS += psxtmcond08
SUBDIRS += psxtmcond09 _SUBDIRS += psxtmcond09
SUBDIRS += psxtmcond10 _SUBDIRS += psxtmcond10
SUBDIRS += psxtmkey01 _SUBDIRS += psxtmkey01
SUBDIRS += psxtmkey02 _SUBDIRS += psxtmkey02
SUBDIRS += psxtmmq01 _SUBDIRS += psxtmmq01
SUBDIRS += psxtmmutex01 _SUBDIRS += psxtmmutex01
SUBDIRS += psxtmmutex02 _SUBDIRS += psxtmmutex02
SUBDIRS += psxtmmutex03 _SUBDIRS += psxtmmutex03
SUBDIRS += psxtmmutex04 _SUBDIRS += psxtmmutex04
SUBDIRS += psxtmmutex05 _SUBDIRS += psxtmmutex05
SUBDIRS += psxtmmutex06 _SUBDIRS += psxtmmutex06
SUBDIRS += psxtmmutex07 _SUBDIRS += psxtmmutex07
SUBDIRS += psxtmnanosleep01 _SUBDIRS += psxtmnanosleep01
SUBDIRS += psxtmnanosleep02 _SUBDIRS += psxtmnanosleep02
SUBDIRS += psxtmrwlock01 _SUBDIRS += psxtmrwlock01
SUBDIRS += psxtmrwlock02 _SUBDIRS += psxtmrwlock02
SUBDIRS += psxtmrwlock03 _SUBDIRS += psxtmrwlock03
SUBDIRS += psxtmrwlock04 _SUBDIRS += psxtmrwlock04
SUBDIRS += psxtmrwlock05 _SUBDIRS += psxtmrwlock05
SUBDIRS += psxtmrwlock06 _SUBDIRS += psxtmrwlock06
SUBDIRS += psxtmrwlock07 _SUBDIRS += psxtmrwlock07
SUBDIRS += psxtmsem01 _SUBDIRS += psxtmsem01
SUBDIRS += psxtmsem02 _SUBDIRS += psxtmsem02
SUBDIRS += psxtmsem03 _SUBDIRS += psxtmsem03
SUBDIRS += psxtmsem04 _SUBDIRS += psxtmsem04
SUBDIRS += psxtmsem05 _SUBDIRS += psxtmsem05
SUBDIRS += psxtmsleep01 _SUBDIRS += psxtmsleep01
SUBDIRS += psxtmsleep02 _SUBDIRS += psxtmsleep02
SUBDIRS += psxtmthread01 _SUBDIRS += psxtmthread01
SUBDIRS += psxtmthread02 _SUBDIRS += psxtmthread02
SUBDIRS += psxtmthread03 _SUBDIRS += psxtmthread03
SUBDIRS += psxtmthread04 _SUBDIRS += psxtmthread04
SUBDIRS += psxtmthread05 _SUBDIRS += psxtmthread05
SUBDIRS += psxtmthread06 _SUBDIRS += psxtmthread06
endif endif
DIST_SUBDIRS = $(SUBDIRS) DIST_SUBDIRS = $(_SUBDIRS)
include $(top_srcdir)/../automake/subdirs.am include $(top_srcdir)/../automake/subdirs.am
include $(top_srcdir)/../automake/local.am include $(top_srcdir)/../automake/local.am

View File

@@ -1,11 +1,12 @@
ACLOCAL_AMFLAGS = -I ../aclocal ACLOCAL_AMFLAGS = -I ../aclocal
SUBDIRS = rhtaskswitch _SUBDIRS =
SUBDIRS += rhtaskpreempt _SUBDIRS += rhdeadlockbrk
SUBDIRS += rhilatency _SUBDIRS += rhilatency
SUBDIRS += rhmlatency _SUBDIRS += rhmlatency
SUBDIRS += rhsemshuffle _SUBDIRS += rhsemshuffle
SUBDIRS += rhdeadlockbrk _SUBDIRS += rhtaskpreempt
_SUBDIRS += rhtaskswitch
include $(top_srcdir)/../automake/subdirs.am include $(top_srcdir)/../automake/subdirs.am
include $(top_srcdir)/../automake/local.am include $(top_srcdir)/../automake/local.am

View File

@@ -25,11 +25,11 @@ RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP)
# Explicitly list all Makefiles here # Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile AC_CONFIG_FILES([Makefile
rhtaskswitch/Makefile rhdeadlockbrk/Makefile
rhtaskpreempt/Makefile
rhilatency/Makefile rhilatency/Makefile
rhmlatency/Makefile rhmlatency/Makefile
rhsemshuffle/Makefile rhsemshuffle/Makefile
rhdeadlockbrk/Makefile rhtaskpreempt/Makefile
rhtaskswitch/Makefile
]) ])
AC_OUTPUT AC_OUTPUT

View File

@@ -1,18 +1,24 @@
ACLOCAL_AMFLAGS = -I ../aclocal 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 if MPTESTS
## base_mp is a sample multiprocessing test ## base_mp is a sample multiprocessing test
_SUBDIRS += base_mp _SUBDIRS += base_mp
endif endif
_SUBDIRS += paranoia
_SUBDIRS += nsecs
if CXXTESTS if CXXTESTS
_SUBDIRS += iostream cdtest _SUBDIRS += cdtest
_SUBDIRS += iostream
endif endif
if NETTESTS if NETTESTS
@@ -24,5 +30,5 @@ _SUBDIRS += pppd
endif endif
endif endif
include $(top_srcdir)/../automake/test-subdirs.am include $(top_srcdir)/../automake/subdirs.am
include $(top_srcdir)/../automake/local.am include $(top_srcdir)/../automake/local.am

View File

@@ -60,21 +60,21 @@ AC_CHECK_SIZEOF([time_t])
# Explicitly list all Makefiles here # Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile AC_CONFIG_FILES([Makefile
base_sp/Makefile
hello/Makefile
loopback/Makefile
minimum/Makefile
fileio/Makefile
nsecs/Makefile
paranoia/Makefile
ticker/Makefile
unlimited/Makefile
base_mp/Makefile base_mp/Makefile
base_mp/node1/Makefile base_mp/node1/Makefile
base_mp/node2/Makefile base_mp/node2/Makefile
iostream/Makefile base_sp/Makefile
cdtest/Makefile
pppd/Makefile
capture/Makefile capture/Makefile
cdtest/Makefile
fileio/Makefile
hello/Makefile
iostream/Makefile
loopback/Makefile
minimum/Makefile
nsecs/Makefile
paranoia/Makefile
pppd/Makefile
ticker/Makefile
unlimited/Makefile
]) ])
AC_OUTPUT AC_OUTPUT

View File

@@ -1,56 +1,56 @@
ACLOCAL_AMFLAGS = -I ../aclocal ACLOCAL_AMFLAGS = -I ../aclocal
SUBDIRS = _SUBDIRS =
if SMPTESTS if SMPTESTS
SUBDIRS += smp01 _SUBDIRS += smp01
SUBDIRS += smp02 _SUBDIRS += smp02
SUBDIRS += smp03 _SUBDIRS += smp03
SUBDIRS += smp05 _SUBDIRS += smp05
SUBDIRS += smp07 _SUBDIRS += smp07
SUBDIRS += smp08 _SUBDIRS += smp08
SUBDIRS += smp09 _SUBDIRS += smp09
SUBDIRS += smpaffinity01 _SUBDIRS += smpaffinity01
SUBDIRS += smpatomic01 _SUBDIRS += smpatomic01
SUBDIRS += smpcache01 _SUBDIRS += smpcache01
SUBDIRS += smpcapture01 _SUBDIRS += smpcapture01
SUBDIRS += smpcapture02 _SUBDIRS += smpcapture02
SUBDIRS += smpclock01 _SUBDIRS += smpclock01
SUBDIRS += smpfatal01 _SUBDIRS += smpfatal01
SUBDIRS += smpfatal02 _SUBDIRS += smpfatal02
SUBDIRS += smpfatal03 _SUBDIRS += smpfatal03
SUBDIRS += smpfatal04 _SUBDIRS += smpfatal04
SUBDIRS += smpfatal05 _SUBDIRS += smpfatal05
SUBDIRS += smpfatal06 _SUBDIRS += smpfatal06
SUBDIRS += smpfatal08 _SUBDIRS += smpfatal08
SUBDIRS += smpipi01 _SUBDIRS += smpipi01
SUBDIRS += smpload01 _SUBDIRS += smpload01
SUBDIRS += smplock01 _SUBDIRS += smplock01
SUBDIRS += smpmigration01 _SUBDIRS += smpmigration01
SUBDIRS += smpmigration02 _SUBDIRS += smpmigration02
SUBDIRS += smpmrsp01 _SUBDIRS += smpmrsp01
SUBDIRS += smpmutex01 _SUBDIRS += smpmutex01
SUBDIRS += smpmutex02 _SUBDIRS += smpmutex02
SUBDIRS += smpschedaffinity01 _SUBDIRS += smppsxaffinity01
SUBDIRS += smpschedaffinity02 _SUBDIRS += smppsxaffinity02
SUBDIRS += smpschedaffinity03 _SUBDIRS += smpschedaffinity03
SUBDIRS += smpschedaffinity04 _SUBDIRS += smpschedaffinity04
SUBDIRS += smpschedaffinity05 _SUBDIRS += smpschedaffinity05
SUBDIRS += smpscheduler01 _SUBDIRS += smpschedsem01
SUBDIRS += smpscheduler02 _SUBDIRS += smpscheduler01
SUBDIRS += smpscheduler03 _SUBDIRS += smpscheduler02
SUBDIRS += smpscheduler04 _SUBDIRS += smpscheduler03
SUBDIRS += smpschedsem01 _SUBDIRS += smpscheduler04
SUBDIRS += smpsignal01 _SUBDIRS += smpsignal01
SUBDIRS += smpstrongapa01 _SUBDIRS += smpstrongapa01
SUBDIRS += smpswitchextension01 _SUBDIRS += smpswitchextension01
SUBDIRS += smpthreadlife01 _SUBDIRS += smpthreadlife01
SUBDIRS += smpunsupported01 _SUBDIRS += smpunsupported01
SUBDIRS += smpwakeafter01 _SUBDIRS += smpwakeafter01
if HAS_POSIX if HAS_POSIX
SUBDIRS += smppsxaffinity01 _SUBDIRS += smppsxaffinity01
SUBDIRS += smppsxaffinity02 _SUBDIRS += smppsxaffinity02
SUBDIRS += smppsxmutex01 _SUBDIRS += smppsxmutex01
SUBDIRS += smppsxsignal01 _SUBDIRS += smppsxsignal01
endif endif
endif endif

View File

@@ -53,9 +53,6 @@ AC_CHECK_DECLS([pthread_getattr_np],[],[],[[
# Explicitly list all Makefiles here # Explicitly list all Makefiles here
AC_CONFIG_FILES([Makefile AC_CONFIG_FILES([Makefile
smpmutex02/Makefile
smppsxmutex01/Makefile
smpstrongapa01/Makefile
smp01/Makefile smp01/Makefile
smp02/Makefile smp02/Makefile
smp03/Makefile smp03/Makefile
@@ -83,20 +80,23 @@ smpmigration01/Makefile
smpmigration02/Makefile smpmigration02/Makefile
smpmrsp01/Makefile smpmrsp01/Makefile
smpmutex01/Makefile smpmutex01/Makefile
smpmutex02/Makefile
smppsxaffinity01/Makefile smppsxaffinity01/Makefile
smppsxaffinity02/Makefile smppsxaffinity02/Makefile
smppsxmutex01/Makefile
smppsxsignal01/Makefile smppsxsignal01/Makefile
smpschedaffinity01/Makefile smpschedaffinity01/Makefile
smpschedaffinity02/Makefile smpschedaffinity02/Makefile
smpschedaffinity03/Makefile smpschedaffinity03/Makefile
smpschedaffinity04/Makefile smpschedaffinity04/Makefile
smpschedaffinity05/Makefile smpschedaffinity05/Makefile
smpschedsem01/Makefile
smpscheduler01/Makefile smpscheduler01/Makefile
smpscheduler02/Makefile smpscheduler02/Makefile
smpscheduler03/Makefile smpscheduler03/Makefile
smpscheduler04/Makefile smpscheduler04/Makefile
smpschedsem01/Makefile
smpsignal01/Makefile smpsignal01/Makefile
smpstrongapa01/Makefile
smpswitchextension01/Makefile smpswitchextension01/Makefile
smpthreadlife01/Makefile smpthreadlife01/Makefile
smpunsupported01/Makefile smpunsupported01/Makefile

View File

@@ -80,5 +80,5 @@ _SUBDIRS += sptimerserver01
_SUBDIRS += spclock_err02 _SUBDIRS += spclock_err02
_SUBDIRS += spcpuset01 _SUBDIRS += spcpuset01
include $(top_srcdir)/../automake/test-subdirs.am include $(top_srcdir)/../automake/subdirs.am
include $(top_srcdir)/../automake/local.am include $(top_srcdir)/../automake/local.am

View File

@@ -23,15 +23,23 @@ extern "C" {
/* /*
* Test states. No state string is an expected pass. * Test states. No state string is an expected pass.
*/ */
#if TEST_STATE_EXPECTED_FAIL && \ #if (TEST_STATE_EXPECTED_FAIL && TEST_STATE_USER_INPUT) || \
TEST_INDETERMINATE_FAIL (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 #error Test states must be unique
#endif #endif
#if TEST_STATE_EXPECTED_FAIL #if TEST_STATE_EXPECTED_FAIL
#define TEST_STATE_STRING "*** TEST STATE: EXPECTED-FAIL\n" #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" #define TEST_STATE_STRING "*** TEST STATE: INDETERMINATE\n"
#elif TEST_STATE_BENCHMARK
#define TEST_STATE_STRING "*** TEST STATE: BENCHMARK\n"
#endif #endif
/* /*

28
testsuites/testdata/rtems.tcfg vendored Normal file
View File

@@ -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

View File

@@ -7,5 +7,5 @@ _SUBDIRS += tmtimer01
_SUBDIRS += tmcontext01 _SUBDIRS += tmcontext01
_SUBDIRS += tmfine01 _SUBDIRS += tmfine01
include $(top_srcdir)/../automake/test-subdirs.am include $(top_srcdir)/../automake/subdirs.am
include $(top_srcdir)/../automake/local.am include $(top_srcdir)/../automake/local.am

View File

@@ -52,18 +52,30 @@ case ${mode} in
;; ;;
esac 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 there is no testdata all tests are valid and must pass.
# #
if test -f $testdata; then if [ ! -z "$testdata" ]; then
excluded_tests="" excluded_tests=""
expected_fails="" expected_fails=""
user_inputs=""
indeterminates="" indeterminates=""
benchmarks=""
while [ ! -z "$testdata" ]; while [ ! -z "$testdata" ];
do do
for td in $testdata; for td in $testdata;
do do
if [ ! -f $td ]; then
continue
fi
ntd="" ntd=""
exec 3<& 0 exec 3<& 0
exec 0<$td exec 0<$td
@@ -87,10 +99,18 @@ if test -f $testdata; then
line=$(echo $line | sed -e 's/expected-fail://g;s/[[:blank:]]//g') line=$(echo $line | sed -e 's/expected-fail://g;s/[[:blank:]]//g')
expected_fails="${expected_fails} $line" 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) indeterminate)
line=$(echo $line | sed -e 's/indeterminate://g;s/[[:blank:]]//g') line=$(echo $line | sed -e 's/indeterminate://g;s/[[:blank:]]//g')
indeterminates="${indeterminates} $line" 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 "error: invalid test state: $state in $td" 1>&2
echo "INVALID-TEST-DATA" echo "INVALID-TEST-DATA"
@@ -119,6 +139,14 @@ if test -f $testdata; then
fi fi
;; ;;
flags) flags)
allow="yes"
for et in ${excluded_tests};
do
if test ${t} = ${et}; then
allow="no"
fi
done
if test ${allow} = yes; then
allow="no" allow="no"
for et in ${expected_fails}; for et in ${expected_fails};
do do
@@ -130,6 +158,16 @@ if test -f $testdata; then
output="-DTEST_STATE_EXPECTED_FAIL=1" output="-DTEST_STATE_EXPECTED_FAIL=1"
fi fi
allow="no" 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}; for it in ${indeterminates};
do do
if test ${t} = ${it}; then if test ${t} = ${it}; then
@@ -139,6 +177,17 @@ if test -f $testdata; then
if test ${allow} = yes; then if test ${allow} = yes; then
output="${output} -DTEST_STATE_INDETERMINATE=1" output="${output} -DTEST_STATE_INDETERMINATE=1"
fi 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 echo "error: invalid mode" 1>&2

116
tools/build/rtems-test-check-py Executable file
View File

@@ -0,0 +1,116 @@
#! /usr/bin/env python
#
# Copyright 2017 Chris Johns <chrisj@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)

View File

@@ -0,0 +1,49 @@
#! /usr/bin/env python
#
# Copyright 2017 Chris Johns <chrisj@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)