mirror of
https://gitlab.rtems.org/rtems/rtos/rtems.git
synced 2026-08-24 17:12:35 +08:00
Remove (Abandoned)
This commit is contained in:
@@ -1,14 +0,0 @@
|
||||
aclocal.m4
|
||||
autom4te*.cache
|
||||
config.cache
|
||||
config.guess
|
||||
config.log
|
||||
config.status
|
||||
config.sub
|
||||
configure
|
||||
depcomp
|
||||
install-sh
|
||||
Makefile
|
||||
Makefile.in
|
||||
missing
|
||||
mkinstalldirs
|
||||
@@ -1,437 +0,0 @@
|
||||
2009-12-08 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* itronmbf01/init.c, itronsem01/init.c, itronsem01/system.h,
|
||||
itrontask02/dormant.c, itrontask02/init.c, itrontask03/init.c,
|
||||
itrontask03/preempt.c: Use rtems_test_assert() consistently instead
|
||||
of system assert(). rtems_test_assert() is designed to integrate into
|
||||
the RTEMS test suite infrastructure.
|
||||
|
||||
2009-10-30 Ralf Corsépius <ralf.corsepius@rtems.org>
|
||||
|
||||
* itrontime01/init.c: Use %ld to print "time"s.
|
||||
|
||||
2009-10-30 Ralf Corsépius <ralf.corsepius@rtems.org>
|
||||
|
||||
* itrontime01/init.c: Use "long"s for "time"s (16bit compliance).
|
||||
* itrontask04/task3.c: Add missing prototypes.
|
||||
* itrontask02/system.h, itrontask03/system.h, itrontask04/system.h:
|
||||
Add missing prototypes.
|
||||
* itrontask02/dormant.c: Add missing prototypes.
|
||||
* itrontask01/task1.c: Add missing prototypes.
|
||||
* itrontask01/system.h: Add missing prototypes.
|
||||
* itronsem01/init.c: Use PRId32 to print INT's.
|
||||
* itronmbf01/init.c: Add missing prototypes.
|
||||
|
||||
2009-10-20 Ralf Corsépius <ralf.corsepius@rtems.org>
|
||||
|
||||
* configure.ac: Don't add -ansi -fasm to CFLAGS.
|
||||
|
||||
2009-08-12 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* itrontask01/task1.c, itrontask02/dormant.c, itrontask03/task1.c,
|
||||
itrontask03/task2.c, itrontask03/task3.c, itrontask04/task3.c:
|
||||
Eliminate test routines TICKS_PER_SECOND and get_ticks_per_second()
|
||||
in favor of new rtems_clock_get_ticks_per_second().
|
||||
|
||||
2009-08-10 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* itrontask01/task1.c: Convert calls to legacy routine rtems_clock_get(
|
||||
RTEMS_CLOCK_GET_TOD, ..) to rtems_clock_get_tod(..).
|
||||
|
||||
2009-04-03 Ralf Corsépius <ralf.corsepius@rtems.org>
|
||||
|
||||
* itronhello/Makefile.am, itronmbf01/Makefile.am,
|
||||
itronmbox01/Makefile.am, itronsem01/Makefile.am,
|
||||
itrontask01/Makefile.am, itrontask02/Makefile.am,
|
||||
itrontask03/Makefile.am, itrontask04/Makefile.am,
|
||||
itrontime01/Makefile.am:
|
||||
Eliminate _exe_/.exe.
|
||||
|
||||
2008-12-14 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* itrontask04/init.c: Run all tests successfully with maxixum number of
|
||||
priorities as 16 instead of 256. This was done by temporarily
|
||||
modifying the score priority.h maximum. This allowed testing of all
|
||||
API code to ensure that it worked properly with a reduced number of
|
||||
priorities. Most modifications were to switch from hard-coded maximum
|
||||
to using the API provided methods to determine maximum number of
|
||||
priority levels.
|
||||
|
||||
2008-05-21 Joel Sherrill <joel.sherrill@oarcorp.com>
|
||||
|
||||
* itronhello/system.h, itronmbox01/system.h, itrontask02/system.h,
|
||||
itrontime01/system.h: Add use of
|
||||
CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER.
|
||||
|
||||
2008-01-31 Joel Sherrill <joel.sherrill@OARcorp.com>
|
||||
|
||||
* itronhello/init.c, itronmbf01/init.c, itronmbox01/init.c,
|
||||
itronsem01/init.c, itrontask01/init.c, itrontask02/init.c,
|
||||
itrontask03/init.c, itrontask04/init.c, itrontime01/init.c: Change
|
||||
TEST_INIT to CONFIGURE_INIT. Make tmacros.h available to all POSIX
|
||||
tests. Add a clock_settime case for < 1988.
|
||||
|
||||
2007-05-11 Joel Sherrill <joel.sherrill@OARcorp.com>
|
||||
|
||||
* itronmbf01/init.c, itronmbf01/itronmbf01.scn, itrontask02/init.c,
|
||||
itrontask03/itrontask03.scn, itrontask03/task1.c,
|
||||
itrontask04/itrontask04.scn, itrontask04/task3.c: Add optional
|
||||
managers to Makefiles. Clean up test cases so last output line
|
||||
follows END OF pattern. Make sure test case all run. All tests
|
||||
appeared ok on sis.
|
||||
|
||||
2007-02-06 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* itronmbf01/init.c: Address size_t/uint32_t typing issues in message
|
||||
queue tests.
|
||||
|
||||
2006-12-02 Ralf Corsépius <ralf.corsepius@rtems.org>
|
||||
|
||||
* configure.ac: New BUG-REPORT address.
|
||||
|
||||
2006-11-17 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* itrontask04/init.c, itrontask04/itrontask04.scn: Cannot print with
|
||||
dispatching disabled so fix test not to print while dispatching is
|
||||
disabled.
|
||||
|
||||
2006-10-17 Ralf Corsépius <ralf.corsepius@rtems.org>
|
||||
|
||||
* configure.ac: Require autoconf-2.60. Require automake-1.10.
|
||||
|
||||
2006-07-11 Ralf Corsépius <ralf.corsepius@rtems.org>
|
||||
|
||||
* itronhello/Makefile.am, itronmbf01/Makefile.am,
|
||||
itronmbox01/Makefile.am, itronsem01/Makefile.am,
|
||||
itrontask01/Makefile.am, itrontask02/Makefile.am,
|
||||
itrontask03/Makefile.am, itrontask04/Makefile.am,
|
||||
itrontime01/Makefile.am: Eliminate scndir, docdir. Use
|
||||
rtems_testsdir instead.
|
||||
|
||||
2005-11-22 Ralf Corsepius <ralf.corsepius@rtems.org>
|
||||
|
||||
* configure.ac: Remove RTEMS_ENABLE_BARE,
|
||||
BARE_CPU_CFLAGS, BARE_CPU_MODEL.
|
||||
|
||||
2005-11-13 Ralf Corsepius <ralf.corsepius@rtems.org>
|
||||
|
||||
* itronhello/Makefile.am, itronmbf01/Makefile.am,
|
||||
itronmbox01/Makefile.am, itronsem01/Makefile.am,
|
||||
itrontask01/Makefile.am, itrontask02/Makefile.am,
|
||||
itrontask03/Makefile.am, itrontask04/Makefile.am,
|
||||
itrontime01/Makefile.am:
|
||||
Convert to using *_PROGRAMS.
|
||||
|
||||
2005-11-11 Ralf Corsepius <ralf.corsepius@rtems.org>
|
||||
|
||||
* itronhello/Makefile.am, itronmbf01/Makefile.am,
|
||||
itronmbox01/Makefile.am, itronsem01/Makefile.am,
|
||||
itrontask01/Makefile.am, itrontask02/Makefile.am,
|
||||
itrontask03/Makefile.am, itrontask04/Makefile.am,
|
||||
itrontime01/Makefile.am: Rework.
|
||||
|
||||
2005-11-11 Ralf Corsepius <ralf.corsepius@rtems.org>
|
||||
|
||||
* itronhello/Makefile.am, itronmbf01/Makefile.am,
|
||||
itronmbox01/Makefile.am, itronsem01/Makefile.am,
|
||||
itrontask01/Makefile.am, itrontask02/Makefile.am,
|
||||
itrontask03/Makefile.am, itrontask04/Makefile.am,
|
||||
itrontime01/Makefile.am: Expand itrontests.am.
|
||||
* itrontests.am: Remove.
|
||||
|
||||
2005-11-09 Ralf Corsepius <ralf.corsepius@rtems.org>
|
||||
|
||||
* itronhello/Makefile.am, itronmbf01/Makefile.am,
|
||||
itronmbox01/Makefile.am, itronsem01/Makefile.am,
|
||||
itrontask01/Makefile.am, itrontask02/Makefile.am,
|
||||
itrontask03/Makefile.am, itrontask04/Makefile.am,
|
||||
itrontime01/Makefile.am:
|
||||
AM_CPPFLAGS += -I..../support/include.
|
||||
|
||||
2005-11-09 Ralf Corsepius <ralf.corsepius@rtems.org>
|
||||
|
||||
* itrontests.am: Set project_bspdir=$(PROJECT_ROOT)
|
||||
|
||||
2005-11-07 Ralf Corsepius <ralf.corsepius@rtems.org>
|
||||
|
||||
* itrontests.am: Remove LIB_VARIANT.
|
||||
|
||||
2005-11-07 Ralf Corsepius <ralf.corsepius@rtems.org>
|
||||
|
||||
* itronhello/Makefile.am, itronmbf01/Makefile.am,
|
||||
itronmbox01/Makefile.am, itronsem01/Makefile.am,
|
||||
itrontask01/Makefile.am, itrontask02/Makefile.am,
|
||||
itrontask03/Makefile.am, itrontask04/Makefile.am,
|
||||
itrontime01/Makefile.am: Remove SRC, PRINT_SRC.
|
||||
|
||||
2005-11-07 Ralf Corsepius <ralf.corsepius@rtems.org>
|
||||
|
||||
* Makefile.am: Cleanup.
|
||||
|
||||
2005-11-07 Ralf Corsepius <ralf.corsepius@rtems.org>
|
||||
|
||||
* itrontests.am: Add $(PGM): ${ARCH}/$(dirstamp).
|
||||
* itronhello/Makefile.am, itronmbf01/Makefile.am,
|
||||
itronmbox01/Makefile.am, itronsem01/Makefile.am,
|
||||
itrontask01/Makefile.am, itrontask02/Makefile.am,
|
||||
itrontask03/Makefile.am, itrontask04/Makefile.am,
|
||||
itrontime01/Makefile.am:
|
||||
Partial conversion to automake.
|
||||
|
||||
2004-11-22 Ralf Corsepius <ralf.corsepius@rtems.org>
|
||||
|
||||
PR 721/tests
|
||||
* itronsem01/init.c: Fix bogus assert.
|
||||
|
||||
2004-09-24 Ralf Corsepius <ralf.corsepius@rtems.org>
|
||||
|
||||
* configure.ac: Require automake > 1.9.
|
||||
|
||||
2004-04-01 Ralf Corsepius <ralf.corsepius@rtems.org>
|
||||
|
||||
* itronhello/system.h: Include <rtems/confdefs.h> instead of <confdefs.h>.
|
||||
* itronmbf01/system.h: Include <rtems/confdefs.h> instead of <confdefs.h>.
|
||||
* itronmbox01/system.h: Include <rtems/confdefs.h> instead of <confdefs.h>.
|
||||
* itronsem01/system.h: Include <rtems/confdefs.h> instead of <confdefs.h>.
|
||||
* itrontask01/system.h: Include <rtems/confdefs.h> instead of <confdefs.h>.
|
||||
* itrontask02/system.h: Include <rtems/confdefs.h> instead of <confdefs.h>.
|
||||
* itrontask03/system.h: Include <rtems/confdefs.h> instead of <confdefs.h>.
|
||||
* itrontask04/system.h: Include <rtems/confdefs.h> instead of <confdefs.h>.
|
||||
* itrontime01/system.h: Include <rtems/confdefs.h> instead of <confdefs.h>.
|
||||
|
||||
2004-04-01 Ralf Corsepius <ralf.corsepius@rtems.org>
|
||||
|
||||
* itronhello/system.h: Include <rtems/itron.h> instead of <itron.h>.
|
||||
* itronmbf01/system.h: Include <rtems/itron.h> instead of <itron.h>.
|
||||
* itronmbox01/system.h: Include <rtems/itron.h> instead of <itron.h>.
|
||||
* itronsem01/system.h: Include <rtems/itron.h> instead of <itron.h>.
|
||||
* itrontask01/system.h: Include <rtems/itron.h> instead of <itron.h>.
|
||||
* itrontask02/system.h: Include <rtems/itron.h> instead of <itron.h>.
|
||||
* itrontask03/system.h: Include <rtems/itron.h> instead of <itron.h>.
|
||||
* itrontask04/system.h: Include <rtems/itron.h> instead of <itron.h>.
|
||||
* itrontime01/system.h: Include <rtems/itron.h> instead of <itron.h>.
|
||||
|
||||
2004-03-25 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* configure.ac: Add 2nd arg to RTEMS_TOP.
|
||||
|
||||
2004-01-14 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* itronhello/Makefile.am: Re-add dirstamps to PRE/TMPINSTALL_FILES.
|
||||
Add PRE/TMPINSTALL_FILES to CLEANFILES.
|
||||
* itronmbf01/Makefile.am: Ditto.
|
||||
* itronmbox01/Makefile.am: Ditto.
|
||||
* itronsem01/Makefile.am: Ditto.
|
||||
* itrontask01/Makefile.am: Ditto.
|
||||
* itrontask02/Makefile.am: Ditto.
|
||||
* itrontask03/Makefile.am: Ditto.
|
||||
* itrontask04/Makefile.am: Ditto.
|
||||
* itrontime01/Makefile.am: Ditto.
|
||||
|
||||
2003-12-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* itrontests.am: Add dirstamp support.
|
||||
|
||||
2003-12-17 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* itrontests.am: Use $(mkdir_p) instead of $(mkinstalldirs).
|
||||
|
||||
2003-12-12 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* configure.ac: Require automake >= 1.8, autoconf >= 2.59.
|
||||
|
||||
2003-12-01 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* itronhello/Makefile.am: Remove all-local: $(ARCH).
|
||||
* itronmbf01/Makefile.am: Remove all-local: $(ARCH).
|
||||
* itronmbox01/Makefile.am: Remove all-local: $(ARCH).
|
||||
* itronsem01/Makefile.am: Remove all-local: $(ARCH).
|
||||
* itrontask01/Makefile.am: Remove all-local: $(ARCH).
|
||||
* itrontask02/Makefile.am: Remove all-local: $(ARCH).
|
||||
* itrontask03/Makefile.am: Remove all-local: $(ARCH).
|
||||
* itrontask04/Makefile.am: Remove all-local: $(ARCH).
|
||||
* itrontime01/Makefile.am: Remove all-local: $(ARCH).
|
||||
|
||||
2003-11-10 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* configure.ac: Reflect having moved to testsuites/.
|
||||
|
||||
2003-10-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* configure.ac: Remove RTEMS_CANONICAL_HOST.
|
||||
|
||||
2003-10-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* configure.ac:Remove RTEMS_CHECK_CPU.
|
||||
|
||||
2003-09-04 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* itronhello/init.c, itronhello/itronhello.doc, itronhello/system.h,
|
||||
itronmbf01/init.c, itronmbf01/itronmbf01.doc, itronmbf01/system.h,
|
||||
itronmbox01/init.c, itronmbox01/system.h, itronsem01/init.c,
|
||||
itronsem01/itronsem01.doc, itronsem01/system.h, itrontask01/init.c,
|
||||
itrontask01/itrontask01.doc, itrontask01/system.h,
|
||||
itrontask01/task1.c, itrontask02/dormant.c, itrontask02/init.c,
|
||||
itrontask02/itrontask02.doc, itrontask02/system.h,
|
||||
itrontask03/init.c, itrontask03/itrontask03.doc,
|
||||
itrontask03/preempt.c, itrontask03/system.h, itrontask03/task1.c,
|
||||
itrontask03/task2.c, itrontask03/task3.c, itrontask04/init.c,
|
||||
itrontask04/itrontask04.doc, itrontask04/system.h,
|
||||
itrontask04/task1.c, itrontask04/task2.c, itrontask04/task3.c,
|
||||
itrontime01/init.c, itrontime01/system.h: URL for license changed.
|
||||
|
||||
2003-08-18 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* Makefile.am: Reflect having moved aclocal/.
|
||||
|
||||
2003-08-16 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* Makefile.am: Reflect having moved automake/.
|
||||
* itronhello/Makefile.am: Reflect having moved automake/.
|
||||
* itronmbf01/Makefile.am: Reflect having moved automake/.
|
||||
* itronmbox01/Makefile.am: Reflect having moved automake/.
|
||||
* itronsem01/Makefile.am: Reflect having moved automake/.
|
||||
* itrontask01/Makefile.am: Reflect having moved automake/.
|
||||
* itrontask02/Makefile.am: Reflect having moved automake/.
|
||||
* itrontask03/Makefile.am: Reflect having moved automake/.
|
||||
* itrontask04/Makefile.am: Reflect having moved automake/.
|
||||
* itrontime01/Makefile.am: Reflect having moved automake/.
|
||||
|
||||
2003-08-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* configure.ac: Use rtems-bugs@rtems.com as bug report email address.
|
||||
|
||||
2003-05-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* configure.ac: Remove CC_CFLAGS_DEBUG_V.
|
||||
CC_CFLAGS_DEFAULT (obsolete).
|
||||
|
||||
2003-05-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* configure.ac: Remove CC_CFLAGS_PROFILE_V.
|
||||
Remove CC_LDFLAGS_PROFILE_V.
|
||||
|
||||
2003-03-06 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* configure.ac: Remove AC_CONFIG_AUX_DIR.
|
||||
|
||||
2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* configure.ac: AM_INIT_AUTOMAKE([1.7.2]).
|
||||
|
||||
2003-02-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* configure.ac: AC_PREREQ(2.57).
|
||||
|
||||
2002-10-21 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* .cvsignore: Reformat.
|
||||
Add autom4te*cache.
|
||||
Remove autom4te.cache.
|
||||
|
||||
2002-08-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* itronhello/Makefile.am: Use .$(OBJEXT) instead of .o.
|
||||
* itronmbf01/Makefile.am: Use .$(OBJEXT) instead of .o.
|
||||
* itronmbox01/Makefile.am: Use .$(OBJEXT) instead of .o.
|
||||
* itronsem01/Makefile.am: Use .$(OBJEXT) instead of .o.
|
||||
* itrontask01/Makefile.am: Use .$(OBJEXT) instead of .o.
|
||||
* itrontask02/Makefile.am: Use .$(OBJEXT) instead of .o.
|
||||
* itrontask03/Makefile.am: Use .$(OBJEXT) instead of .o.
|
||||
* itrontask04/Makefile.am: Use .$(OBJEXT) instead of .o.
|
||||
* itrontime01/Makefile.am: Use .$(OBJEXT) instead of .o.
|
||||
|
||||
2002-08-01 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* Per PR47 add support for buffered test output. This involved
|
||||
adding defines to redirect output to a buffer and dump it when
|
||||
full, at "test pause", and at exit. To avoid problems when redefining
|
||||
exit(), all tests were modified to call rtems_test_exit().
|
||||
Some tests, notable psxtests, had to be modified to include
|
||||
the standard test macro .h file (pmacros.h or tmacros.h) to
|
||||
enable this support.
|
||||
* itronhello/init.c, itronmbf01/init.c, itronmbox01/init.c,
|
||||
itronsem01/init.c, itrontask01/task1.c, itrontask02/init.c,
|
||||
itrontask03/task1.c, itrontask04/task3.c, itrontime01/init.c: Modified.
|
||||
|
||||
2002-04-14 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* configure.ac: Remove ENABLE_GCC28.
|
||||
|
||||
2002-03-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* configure.ac:
|
||||
AC_INIT(package,_RTEMS_VERSION,_RTEMS_BUGS).
|
||||
AM_INIT_AUTOMAKE([no-define foreign 1.6]).
|
||||
* itronhello/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
||||
* Makefile.am: Remove AUTOMAKE_OPTIONS.
|
||||
* itronmbf01/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
||||
* itronmbox01/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
||||
* itronsem01/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
||||
* itrontask01/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
||||
* itrontask02/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
||||
* itrontask03/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
||||
* itrontask04/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
||||
* itrontime01/Makefile.am: Remove AUTOMAKE_OPTIONS.
|
||||
|
||||
2001-10-11 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* .cvsignore: Add autom4te.cache for autoconf > 2.52.
|
||||
* configure.in: Remove.
|
||||
* configure.ac: New file, generated from configure.in by autoupdate.
|
||||
|
||||
2001-09-22 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* itrontests.am: Use TMPINSTALL_FILES = to make automake-1.5 happy.
|
||||
|
||||
2001-09-19 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* itrontask03/Makefile.am: include leaf.am instead of leaf.cfg.
|
||||
* itrontask04/Makefile.am: include leaf.am instead of leaf.cfg.
|
||||
* itronmbf01/Makefile.am: include leaf.am instead of leaf.cfg.
|
||||
* itronsem01/Makefile.am: include leaf.am instead of leaf.cfg.
|
||||
* itronhello/Makefile.am: include leaf.am instead of leaf.cfg.
|
||||
* itrontime01/Makefile.am: include leaf.am instead of leaf.cfg.
|
||||
* itrontask01/Makefile.am: include leaf.am instead of leaf.cfg.
|
||||
* itrontask02/Makefile.am: include leaf.am instead of leaf.cfg.
|
||||
* itronmbox01/Makefile.am: include leaf.am instead of leaf.cfg.
|
||||
|
||||
2001-05-10 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* configure.in: Use RTEMS_PROG_CC_FOR_TARGET([-ansi -fasm]).
|
||||
|
||||
2001-04-20 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* itronmbf01/itronmbf01.scn, itronmbox01/init.c,
|
||||
itronsem01/itronsem01.scn, itrontime01/init.c: Various
|
||||
adjustments so test output matches screens more reliably.
|
||||
|
||||
2000-11-20 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* itrontask01/system.h: Configure enough stack memory.
|
||||
|
||||
2000-11-09 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* Makefile.am: Use ... instead of RTEMS_TOPdir in ACLOCAL_AMFLAGS.
|
||||
|
||||
2000-11-02 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* Makefile.am: Switch to ACLOCAL_AMFLAGS = -I $(RTEMS_TOPdir)/aclocal.
|
||||
|
||||
2000-10-27 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* Makefile.am: ACLOCAL_AMFLAGS= -I $(RTEMS_TOPdir)/macros.
|
||||
Switch to GNU canonicalization.
|
||||
* itrontests.am: Remove DEFS.
|
||||
|
||||
2000-09-04 Ralf Corsepius <corsepiu@faw.uni-ulm.de>
|
||||
|
||||
* itronhello/Makefile.am, itronmbf01/Makefile.am,
|
||||
itronmbox01/Makefile.am, itronsem01/Makefile.am,
|
||||
itrontask01/Makefile.am, itrontask02/Makefile.am,
|
||||
itrontask03/Makefile.am, itrontask04/Makefile.am,
|
||||
itrontime01/Makefile.am: Include compile.am
|
||||
|
||||
2000-08-10 Joel Sherrill <joel@OARcorp.com>
|
||||
|
||||
* ChangeLog: New file.
|
||||
@@ -1,11 +0,0 @@
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
|
||||
ACLOCAL_AMFLAGS = -I ../aclocal
|
||||
|
||||
SUBDIRS = itronhello itrontask01 itrontask02 itrontask03 itrontask04 \
|
||||
itronmbf01 itronmbox01 itronsem01 itrontime01
|
||||
|
||||
include $(top_srcdir)/../automake/subdirs.am
|
||||
include $(top_srcdir)/../automake/local.am
|
||||
@@ -1,6 +0,0 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
|
||||
This directory contains the functionality tests for the ITRON 3.0 API
|
||||
implementation.
|
||||
@@ -1,39 +0,0 @@
|
||||
## Process this file with autoconf to produce a configure script.
|
||||
##
|
||||
## $Id$
|
||||
|
||||
AC_PREREQ(2.60)
|
||||
AC_INIT([rtems-c-src-tests-itrontests],[_RTEMS_VERSION],[http://www.rtems.org/bugzilla])
|
||||
AC_CONFIG_SRCDIR([itronhello])
|
||||
RTEMS_TOP([../..],[..])
|
||||
|
||||
RTEMS_CANONICAL_TARGET_CPU
|
||||
|
||||
AM_INIT_AUTOMAKE([no-define foreign 1.10])
|
||||
AM_MAINTAINER_MODE
|
||||
|
||||
|
||||
RTEMS_ENV_RTEMSBSP
|
||||
|
||||
RTEMS_PROJECT_ROOT
|
||||
|
||||
RTEMS_PROG_CC_FOR_TARGET
|
||||
|
||||
RTEMS_CANONICALIZE_TOOLS
|
||||
|
||||
RTEMS_CHECK_CUSTOM_BSP(RTEMS_BSP)
|
||||
|
||||
|
||||
# Explicitly list all Makefiles here
|
||||
AC_CONFIG_FILES([Makefile
|
||||
itronhello/Makefile
|
||||
itronmbf01/Makefile
|
||||
itronmbox01/Makefile
|
||||
itronsem01/Makefile
|
||||
itrontask01/Makefile
|
||||
itrontask02/Makefile
|
||||
itrontask03/Makefile
|
||||
itrontask04/Makefile
|
||||
itrontime01/Makefile
|
||||
])
|
||||
AC_OUTPUT
|
||||
@@ -1,2 +0,0 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
@@ -1,28 +0,0 @@
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
|
||||
MANAGERS = all
|
||||
|
||||
rtems_tests_PROGRAMS = itronhello
|
||||
itronhello_SOURCES = init.c system.h
|
||||
|
||||
dist_rtems_tests_DATA = itronhello.scn
|
||||
dist_rtems_tests_DATA += itronhello.doc
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
||||
include $(top_srcdir)/../automake/compile.am
|
||||
include $(top_srcdir)/../automake/leaf.am
|
||||
|
||||
itronhello_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel)
|
||||
|
||||
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
|
||||
|
||||
LINK_OBJS = $(itronhello_OBJECTS) $(itronhello_LDADD)
|
||||
LINK_LIBS = $(itronhello_LDLIBS)
|
||||
|
||||
itronhello$(EXEEXT): $(itronhello_OBJECTS) $(itronhello_DEPENDENCIES)
|
||||
@rm -f itronhello$(EXEEXT)
|
||||
$(make-exe)
|
||||
|
||||
include $(top_srcdir)/../automake/local.am
|
||||
@@ -1,33 +0,0 @@
|
||||
/* Init
|
||||
*
|
||||
* This routine is the initialization task for this test program.
|
||||
* It is called from init_exec and has the responsibility for creating
|
||||
* and starting the tasks that make up the test. If the time of day
|
||||
* clock is required for the test, it should also be set to a known
|
||||
* value by this function.
|
||||
*
|
||||
* Input parameters: NONE
|
||||
*
|
||||
* Output parameters: NONE
|
||||
*
|
||||
* COPYRIGHT (c) 1989-1999.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#define CONFIGURE_INIT
|
||||
#include "system.h"
|
||||
#include <stdio.h>
|
||||
|
||||
void ITRON_Init( void )
|
||||
{
|
||||
printf( "\n\n*** ITRON HELLO WORLD TEST ***\n" );
|
||||
printf( "Hello World\n" );
|
||||
printf( "*** END OF ITRON HELLO WORLD TEST ***\n" );
|
||||
rtems_test_exit( 0 );
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# COPYRIGHT (c) 1989-1999.
|
||||
# On-Line Applications Research Corporation (OAR).
|
||||
#
|
||||
# The license and distribution terms for this file may be
|
||||
# found in the file LICENSE in this distribution or at
|
||||
# http://www.rtems.com/license/LICENSE.
|
||||
#
|
||||
|
||||
This file describes the directives and concepts tested by this test set.
|
||||
|
||||
test set name: itronhello
|
||||
|
||||
directives:
|
||||
cre_tsk, sta_tsk
|
||||
|
||||
concepts:
|
||||
|
||||
a. Verifies the initial itron task can be created and started.
|
||||
|
||||
|
||||
@@ -1,3 +0,0 @@
|
||||
*** ITRON HELLO WORLD TEST ***
|
||||
Hello World
|
||||
*** END OF ITRON HELLO WORLD TEST ***
|
||||
@@ -1,41 +0,0 @@
|
||||
/* system.h
|
||||
*
|
||||
* This include file contains information that is included in every
|
||||
* function in the test set.
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2008.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#include <tmacros.h>
|
||||
#include <rtems/itron.h>
|
||||
|
||||
/* functions */
|
||||
|
||||
void ITRON_Init( void );
|
||||
|
||||
/* configuration information */
|
||||
|
||||
/* NOTICE: the clock driver is explicitly disabled */
|
||||
#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_ITRON_TASKS 1
|
||||
|
||||
#define CONFIGURE_ITRON_INIT_TASK_TABLE
|
||||
|
||||
#define CONFIGURE_USE_MINIIMFS_AS_BASE_FILESYSTEM
|
||||
|
||||
#include <rtems/confdefs.h>
|
||||
|
||||
/* global variables */
|
||||
|
||||
TEST_EXTERN rtems_id Global_variable; /* example global variable */
|
||||
|
||||
/* end of include file */
|
||||
@@ -1,2 +0,0 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
@@ -1,28 +0,0 @@
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
|
||||
MANAGERS = all
|
||||
|
||||
rtems_tests_PROGRAMS = itronmbf01
|
||||
itronmbf01_SOURCES = init.c system.h
|
||||
|
||||
dist_rtems_tests_DATA = itronmbf01.scn
|
||||
dist_rtems_tests_DATA += itronmbf01.doc
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
||||
include $(top_srcdir)/../automake/compile.am
|
||||
include $(top_srcdir)/../automake/leaf.am
|
||||
|
||||
itronmbf01_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel)
|
||||
|
||||
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
|
||||
|
||||
LINK_OBJS = $(itronmbf01_OBJECTS) $(itronmbf01_LDADD)
|
||||
LINK_LIBS = $(itronmbf01_LDLIBS)
|
||||
|
||||
itronmbf01$(EXEEXT): $(itronmbf01_OBJECTS) $(itronmbf01_DEPENDENCIES)
|
||||
@rm -f itronmbf01$(EXEEXT)
|
||||
$(make-exe)
|
||||
|
||||
include $(top_srcdir)/../automake/local.am
|
||||
@@ -1,364 +0,0 @@
|
||||
/* Init
|
||||
*
|
||||
* This routine is the initialization task for this test program.
|
||||
* It is called from init_exec and has the responsibility for creating
|
||||
* and starting the tasks that make up the test. If the time of day
|
||||
* clock is required for the test, it should also be set to a known
|
||||
* value by this function.
|
||||
*
|
||||
* Input parameters: NONE
|
||||
*
|
||||
* Output parameters: NONE
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2009.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#define CONFIGURE_INIT
|
||||
#include "system.h"
|
||||
#include <stdio.h>
|
||||
|
||||
/*
|
||||
* The following is hopefully temporary.
|
||||
*/
|
||||
|
||||
#include <time.h>
|
||||
|
||||
#define put_time(_s) \
|
||||
do { \
|
||||
time_t a_time_t; \
|
||||
a_time_t = time( 0 ); \
|
||||
printf( "%s%s", _s, ctime( &a_time_t ) ); \
|
||||
} while(0)
|
||||
|
||||
|
||||
|
||||
void TestCre(void);
|
||||
void TestDel(void);
|
||||
void TestPsnd(void);
|
||||
void TestRef(void);
|
||||
void TestTrcv(void);
|
||||
void TestRcv(void);
|
||||
void TestPrcv(void);
|
||||
|
||||
void ITRON_Init( void )
|
||||
{
|
||||
printf( "\n\n*** ITRONMBF01 -- ITRON MESSAGE BUFFER TEST ***\n" );
|
||||
|
||||
TestCre();
|
||||
TestDel();
|
||||
TestPsnd();
|
||||
TestRef();
|
||||
TestRcv();
|
||||
TestRef();
|
||||
TestPrcv();
|
||||
TestTrcv();
|
||||
|
||||
printf("\n\n*** END OF ITRONMBF01 --- ITRON MESSAGE BUFFER TEST ***\n");
|
||||
rtems_test_exit(0);
|
||||
}
|
||||
|
||||
void TestCre(void)
|
||||
{
|
||||
ER status;
|
||||
T_CMBF pk_cmbf;
|
||||
|
||||
/*
|
||||
* Exercise cre_mbf - this code seems to exercise every path.
|
||||
*/
|
||||
|
||||
puts( "Init - cre_mbf - NULL pk_cmbf returns E_PAR" );
|
||||
status = cre_mbf( 1, NULL );
|
||||
rtems_test_assert( status == E_PAR );
|
||||
|
||||
puts( "Init - cre_mbf - negative values for bufsz returns E_PAR" );
|
||||
pk_cmbf.bufsz = -1;
|
||||
pk_cmbf.maxmsz = 100;
|
||||
pk_cmbf.mbfatr = 0;
|
||||
pk_cmbf.exinf = NULL;
|
||||
status = cre_mbf( 1, &pk_cmbf );
|
||||
rtems_test_assert( status == E_PAR );
|
||||
|
||||
puts( "Init - cre_mbf - negative values for maxmsz returns E_PAR" );
|
||||
pk_cmbf.bufsz = 100;
|
||||
pk_cmbf.maxmsz = -1;
|
||||
status = cre_mbf( 1, &pk_cmbf );
|
||||
rtems_test_assert( status == E_PAR );
|
||||
|
||||
puts( "Init - cre_mbf - bufsz < maxmsz returns E_PAR" );
|
||||
pk_cmbf.bufsz = 100;
|
||||
pk_cmbf.maxmsz = 101;
|
||||
status = cre_mbf( 1, &pk_cmbf );
|
||||
rtems_test_assert( status == E_PAR );
|
||||
|
||||
/*
|
||||
* Now run through all the bad ID errors
|
||||
*/
|
||||
|
||||
pk_cmbf.bufsz = 200;
|
||||
pk_cmbf.maxmsz = 30;
|
||||
puts( "Init - cre_mbf - bad id (less than -4) - E_OACV" );
|
||||
status = cre_mbf( -5, &pk_cmbf );
|
||||
rtems_test_assert( status == E_OACV );
|
||||
|
||||
puts( "Init - cre_mbf - bad id (between 0 and -4) - E_ID" );
|
||||
status = cre_mbf( -4, &pk_cmbf );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - cre_mbf - bad id (0) - E_ID" );
|
||||
status = cre_mbf( 0, &pk_cmbf );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - cre_mbf - bad id (too great) - E_ID" );
|
||||
status = cre_mbf( CONFIGURE_MAXIMUM_ITRON_MESSAGE_BUFFERS + 1, &pk_cmbf );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - cre_mbf - create mbf 1 TA_TFIFO - E_OK" );
|
||||
pk_cmbf.bufsz = 600;
|
||||
pk_cmbf.maxmsz = 200;
|
||||
pk_cmbf.mbfatr = TA_TFIFO;
|
||||
status = cre_mbf( 1, &pk_cmbf );
|
||||
rtems_test_assert( status == E_OK );
|
||||
|
||||
puts( "Init - cre_mbf - create mbf 1 again - E_OBJ" );
|
||||
status = cre_mbf( 1, &pk_cmbf );
|
||||
rtems_test_assert( status == E_OBJ );
|
||||
|
||||
puts( "Init - cre_mbf - create mbf 2 TA_TPRI - E_OK" );
|
||||
pk_cmbf.bufsz = 600;
|
||||
pk_cmbf.maxmsz = 200;
|
||||
pk_cmbf.mbfatr = TA_TPRI;
|
||||
status = cre_mbf( 2, &pk_cmbf );
|
||||
rtems_test_assert( status == E_OK );
|
||||
}
|
||||
|
||||
void TestDel(void)
|
||||
{
|
||||
ER status;
|
||||
|
||||
/*
|
||||
* Generate all the bad id errors for del_mbf
|
||||
*/
|
||||
|
||||
puts( "Init - del_mbf - bad id (less than -4) - E_OACV" );
|
||||
status = del_mbf( -5 );
|
||||
rtems_test_assert( status == E_OACV );
|
||||
|
||||
puts( "Init - del_mbf - bad id (between 0 and -4) - E_ID" );
|
||||
status = del_mbf( -4 );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - del_mbf - bad id (0) - E_ID" );
|
||||
status = del_mbf( 0 );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - del_mbf - bad id (too great) - E_ID" );
|
||||
status = del_mbf( CONFIGURE_MAXIMUM_ITRON_MESSAGE_BUFFERS + 1 );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
|
||||
puts("Init - del_mbf - E_OK" );
|
||||
status = del_mbf(2);
|
||||
rtems_test_assert(status == E_OK);
|
||||
}
|
||||
|
||||
void TestPsnd(void)
|
||||
{
|
||||
ER status;
|
||||
char msg[100] = "This is test message 1";
|
||||
|
||||
/*
|
||||
* Generate all the bad id errors for psnd_mbf
|
||||
*/
|
||||
|
||||
puts( "Init - psnd_mbf - bad id (less than -4) - E_OACV" );
|
||||
status = psnd_mbf(-5, msg, sizeof(msg));
|
||||
rtems_test_assert( status == E_OACV );
|
||||
|
||||
puts( "Init - psnd_mbf - bad id (between 0 and -4) - E_ID" );
|
||||
status = psnd_mbf(-4, msg, sizeof(msg));
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - psnd_mbf - bad id (0) - E_ID" );
|
||||
status = psnd_mbf(0, msg, sizeof(msg));
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - psnd_mbf - bad id (too great) - E_ID" );
|
||||
status = psnd_mbf(CONFIGURE_MAXIMUM_ITRON_MESSAGE_BUFFERS + 1, msg,
|
||||
sizeof(msg));
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - psnd_mbf - msg == 0, E_PAR" );
|
||||
status = psnd_mbf(1, 0, sizeof(msg));
|
||||
rtems_test_assert( status == E_PAR );
|
||||
|
||||
puts( "Init - psnd_mbf - msgsz too big - E_PAR" );
|
||||
status = psnd_mbf(1, msg, 300);
|
||||
rtems_test_assert( status == E_PAR );
|
||||
|
||||
puts( "Init - psnd_mbf - msgsz <0 - E_PAR" );
|
||||
status = psnd_mbf(1, msg, -10);
|
||||
rtems_test_assert( status == E_PAR );
|
||||
|
||||
puts( "Init - psnd_mbf - E_OK" );
|
||||
status = psnd_mbf(1, msg, sizeof(msg));
|
||||
rtems_test_assert( status == E_OK );
|
||||
}
|
||||
|
||||
void TestRef(void)
|
||||
{
|
||||
ER status;
|
||||
T_RMBF pk_rmbf;
|
||||
|
||||
puts( "Init - ref_mbf - bad id (less than -4) - E_OACV" );
|
||||
status = ref_mbf(&pk_rmbf, -5);
|
||||
rtems_test_assert( status == E_OACV );
|
||||
|
||||
puts( "Init - ref_mbf - bad id (between 0 and -4) - E_ID" );
|
||||
status = ref_mbf(&pk_rmbf, -4);
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - ref_mbf - bad id (0) - E_ID" );
|
||||
status = ref_mbf(&pk_rmbf, 0);
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - ref_mbf - bad id (too great) - E_ID" );
|
||||
status = ref_mbf(&pk_rmbf,
|
||||
CONFIGURE_MAXIMUM_ITRON_MESSAGE_BUFFERS + 1);
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - ref_mbf - NULL pk_mbf returns E_PAR" );
|
||||
status = ref_mbf( NULL, 1 );
|
||||
rtems_test_assert( status == E_PAR );
|
||||
|
||||
puts( "Init - ref_mbf - mbf 1 - E_OK" );
|
||||
status = ref_mbf( &pk_rmbf, 1 );
|
||||
rtems_test_assert( status == E_OK );
|
||||
|
||||
printf( "Init - mbf 1 msgsz = %" PRId32 "\n", pk_rmbf.msgsz );
|
||||
printf( "Init - mbf 1 frbufsz = %" PRId32 "\n", pk_rmbf.frbufsz );
|
||||
printf( "Init - mbf 1 waiting tasks = %d\n", pk_rmbf.wtsk );
|
||||
printf( "Init - mbf 1 sending tasks = %d\n", pk_rmbf.stsk);
|
||||
}
|
||||
|
||||
void TestRcv(void)
|
||||
{
|
||||
ER status;
|
||||
char buffer[200];
|
||||
INT s;
|
||||
|
||||
puts( "Init - rcv_mbf - bad id (less than -4) - E_OACV" );
|
||||
status = rcv_mbf(buffer, &s, -5);
|
||||
rtems_test_assert( status == E_OACV );
|
||||
|
||||
puts( "Init - rcv_mbf - bad id (between 0 and -4) - E_ID" );
|
||||
status = rcv_mbf(buffer, &s, -4);
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - rcv_mbf - bad id (0) - E_ID" );
|
||||
status = rcv_mbf(buffer, &s, 0);
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - rcv_mbf - bad id (too great) - E_ID" );
|
||||
status = rcv_mbf(buffer, &s, CONFIGURE_MAXIMUM_ITRON_MESSAGE_BUFFERS + 1);
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - rcv_mbf - NULL msg returns E_PAR" );
|
||||
status = rcv_mbf(NULL, &s, 1);
|
||||
rtems_test_assert( status == E_PAR );
|
||||
|
||||
puts( "Init - rcv_mbf - NULL p_msgsz returns E_PAR" );
|
||||
status = rcv_mbf(buffer, 0, 1);
|
||||
rtems_test_assert( status == E_PAR );
|
||||
|
||||
puts("Init - rcv_mbf -- OK");
|
||||
status = rcv_mbf(buffer, &s, 1);
|
||||
rtems_test_assert(status == E_OK);
|
||||
printf("Message:[%s], length:%" PRId32 "\n", buffer, s);
|
||||
}
|
||||
|
||||
|
||||
void TestPrcv(void)
|
||||
{
|
||||
ER status;
|
||||
char buffer[200];
|
||||
INT s;
|
||||
|
||||
puts( "Init - prcv_mbf - bad id (less than -4) - E_OACV" );
|
||||
status = prcv_mbf(buffer, &s, -5);
|
||||
rtems_test_assert( status == E_OACV );
|
||||
|
||||
puts( "Init - prcv_mbf - bad id (between 0 and -4) - E_ID" );
|
||||
status = prcv_mbf(buffer, &s, -4);
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - prcv_mbf - bad id (0) - E_ID" );
|
||||
status = prcv_mbf(buffer, &s, 0);
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - prcv_mbf - bad id (too great) - E_ID" );
|
||||
status = prcv_mbf(buffer, &s, CONFIGURE_MAXIMUM_ITRON_MESSAGE_BUFFERS + 1);
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - prcv_mbf - NULL msg returns E_PAR" );
|
||||
status = prcv_mbf(NULL, &s, 1);
|
||||
rtems_test_assert( status == E_PAR );
|
||||
|
||||
puts( "Init - prcv_mbf - NULL p_msgsz returns E_PAR" );
|
||||
status = prcv_mbf(buffer, 0, 1);
|
||||
rtems_test_assert( status == E_PAR );
|
||||
|
||||
puts("Init - prcv_mbf -- E_TMOUT");
|
||||
status = prcv_mbf(buffer, &s, 1);
|
||||
rtems_test_assert(status == E_TMOUT);
|
||||
}
|
||||
|
||||
|
||||
void TestTrcv(void)
|
||||
{
|
||||
ER status;
|
||||
char buffer[200];
|
||||
INT s;
|
||||
|
||||
puts( "Init - trcv_mbf - bad id (less than -4) - E_OACV" );
|
||||
status = trcv_mbf(buffer, &s, -5, 5000);
|
||||
rtems_test_assert( status == E_OACV );
|
||||
|
||||
puts( "Init - trcv_mbf - bad id (between 0 and -4) - E_ID" );
|
||||
status = trcv_mbf(buffer, &s, -4, 5000);
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - trcv_mbf - bad id (0) - E_ID" );
|
||||
status = trcv_mbf(buffer, &s, 0, 5000);
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - trcv_mbf - bad id (too great) - E_ID" );
|
||||
status = trcv_mbf(buffer, &s,
|
||||
CONFIGURE_MAXIMUM_ITRON_MESSAGE_BUFFERS + 1,
|
||||
5000);
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - trcv_mbf - NULL msg returns E_PAR" );
|
||||
status = trcv_mbf(NULL, &s, 1, 5000);
|
||||
rtems_test_assert( status == E_PAR );
|
||||
|
||||
puts( "Init - trcv_mbf - NULL p_msgsz returns E_PAR" );
|
||||
status = trcv_mbf(buffer, 0, 1, 5000);
|
||||
rtems_test_assert( status == E_PAR );
|
||||
|
||||
puts( "Init - trcv_mbf - tmout <-2 returns E_PAR" );
|
||||
status = trcv_mbf(buffer, &s, 1, -2);
|
||||
rtems_test_assert( status == E_PAR );
|
||||
|
||||
puts("\nInit - trcv_mbf -- E_TMOUT");
|
||||
put_time( "Init - starting to block at ");
|
||||
status = trcv_mbf(buffer, &s, 1, 1000);
|
||||
rtems_test_assert(status == E_TMOUT);
|
||||
put_time( "Init - time out at ");
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# COPYRIGHT (c) 1989-1999.
|
||||
# On-Line Applications Research Corporation (OAR).
|
||||
#
|
||||
# The license and distribution terms for this file may be
|
||||
# found in the file LICENSE in this distribution or at
|
||||
# http://www.rtems.com/license/LICENSE.
|
||||
#
|
||||
|
||||
|
||||
@@ -1,71 +0,0 @@
|
||||
*** ITRONMBF01 -- ITRON MESSAGE BUFFER TEST ***
|
||||
Init - cre_mbf - NULL pk_cmbf returns E_PAR
|
||||
Init - cre_mbf - negative values for bufsz returns E_PAR
|
||||
Init - cre_mbf - negative values for maxmsz returns E_PAR
|
||||
Init - cre_mbf - bufsz < maxmsz returns E_PAR
|
||||
Init - cre_mbf - bad id (less than -4) - E_OACV
|
||||
Init - cre_mbf - bad id (between 0 and -4) - E_ID
|
||||
Init - cre_mbf - bad id (0) - E_ID
|
||||
Init - cre_mbf - bad id (too great) - E_ID
|
||||
Init - cre_mbf - create mbf 1 TA_TFIFO - E_OK
|
||||
Init - cre_mbf - create mbf 1 again - E_OBJ
|
||||
Init - cre_mbf - create mbf 2 TA_TPRI - E_OK
|
||||
Init - del_mbf - bad id (less than -4) - E_OACV
|
||||
Init - del_mbf - bad id (between 0 and -4) - E_ID
|
||||
Init - del_mbf - bad id (0) - E_ID
|
||||
Init - del_mbf - bad id (too great) - E_ID
|
||||
Init - del_mbf - E_OK
|
||||
Init - psnd_mbf - bad id (less than -4) - E_OACV
|
||||
Init - psnd_mbf - bad id (between 0 and -4) - E_ID
|
||||
Init - psnd_mbf - bad id (0) - E_ID
|
||||
Init - psnd_mbf - bad id (too great) - E_ID
|
||||
Init - psnd_mbf - msg == 0, E_PAR
|
||||
Init - psnd_mbf - msgsz too big - E_PAR
|
||||
Init - psnd_mbf - msgsz <0 - E_PAR
|
||||
Init - psnd_mbf - E_OK
|
||||
Init - ref_mbf - bad id (less than -4) - E_OACV
|
||||
Init - ref_mbf - bad id (between 0 and -4) - E_ID
|
||||
Init - ref_mbf - bad id (0) - E_ID
|
||||
Init - ref_mbf - bad id (too great) - E_ID
|
||||
Init - ref_mbf - NULL pk_mbf returns E_PAR
|
||||
Init - ref_mbf - mbf 1 - E_OK
|
||||
Init - mbf 1 msgsz = 100
|
||||
Init - mbf 1 frbufsz = 400
|
||||
Init - mbf 1 waiting tasks = 0
|
||||
Init - mbf 1 sending tasks = 0
|
||||
Init - rcv_mbf - bad id (less than -4) - E_OACV
|
||||
Init - rcv_mbf - bad id (between 0 and -4) - E_ID
|
||||
Init - rcv_mbf - bad id (0) - E_ID
|
||||
Init - rcv_mbf - bad id (too great) - E_ID
|
||||
Init - rcv_mbf - NULL msg returns E_PAR
|
||||
Init - rcv_mbf - NULL p_msgsz returns E_PAR
|
||||
Init - rcv_mbf -- OK
|
||||
Message:[This is test message 1], length:100
|
||||
Init - ref_mbf - bad id (less than -4) - E_OACV
|
||||
Init - ref_mbf - bad id (between 0 and -4) - E_ID
|
||||
Init - ref_mbf - bad id (0) - E_ID
|
||||
Init - ref_mbf - bad id (too great) - E_ID
|
||||
Init - ref_mbf - NULL pk_mbf returns E_PAR
|
||||
Init - ref_mbf - mbf 1 - E_OK
|
||||
Init - mbf 1 msgsz = 0
|
||||
Init - mbf 1 frbufsz = 600
|
||||
Init - mbf 1 waiting tasks = 0
|
||||
Init - mbf 1 sending tasks = 0
|
||||
Init - prcv_mbf - bad id (less than -4) - E_OACV
|
||||
Init - prcv_mbf - bad id (between 0 and -4) - E_ID
|
||||
Init - prcv_mbf - bad id (0) - E_ID
|
||||
Init - prcv_mbf - bad id (too great) - E_ID
|
||||
Init - prcv_mbf - NULL msg returns E_PAR
|
||||
Init - prcv_mbf - NULL p_msgsz returns E_PAR
|
||||
Init - prcv_mbf -- E_TMOUT
|
||||
Init - trcv_mbf - bad id (less than -4) - E_OACV
|
||||
Init - trcv_mbf - bad id (between 0 and -4) - E_ID
|
||||
Init - trcv_mbf - bad id (0) - E_ID
|
||||
Init - trcv_mbf - bad id (too great) - E_ID
|
||||
Init - trcv_mbf - NULL msg returns E_PAR
|
||||
Init - trcv_mbf - NULL p_msgsz returns E_PAR
|
||||
Init - trcv_mbf - tmout <-2 returns E_PAR
|
||||
Init - trcv_mbf -- E_TMOUT
|
||||
Init - starting to block at Fri Jan 1 00:00:00 1988
|
||||
Init - time out at Fri Jan 1 00:00:01 1988
|
||||
*** END OF ITRONMBF01 --- ITRON MESSAGE BUFFER TEST ***
|
||||
@@ -1,40 +0,0 @@
|
||||
/* system.h
|
||||
*
|
||||
* This include file contains information that is included in every
|
||||
* function in the test set.
|
||||
*
|
||||
* COPYRIGHT (c) 1989-1999.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#include <tmacros.h>
|
||||
#include <rtems/itron.h>
|
||||
|
||||
/* functions */
|
||||
|
||||
void ITRON_Init( void );
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_ITRON_TASKS 1
|
||||
#define CONFIGURE_MAXIMUM_ITRON_MESSAGE_BUFFERS 10
|
||||
|
||||
#define CONFIGURE_ITRON_INIT_TASK_TABLE
|
||||
#define CONFIGURE_ITRON_INIT_TASK_STACK_SIZE (4 * RTEMS_MINIMUM_STACK_SIZE)
|
||||
|
||||
#include <rtems/confdefs.h>
|
||||
|
||||
/* global variables */
|
||||
|
||||
TEST_EXTERN rtems_id Global_variable; /* example global variable */
|
||||
|
||||
/* end of include file */
|
||||
@@ -1,2 +0,0 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
@@ -1,28 +0,0 @@
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
|
||||
MANAGERS = all
|
||||
|
||||
rtems_tests_PROGRAMS = itronmbox01
|
||||
itronmbox01_SOURCES = init.c system.h
|
||||
|
||||
dist_rtems_tests_DATA = itronmbox01.scn
|
||||
dist_rtems_tests_DATA += itronmbox01.doc
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
||||
include $(top_srcdir)/../automake/compile.am
|
||||
include $(top_srcdir)/../automake/leaf.am
|
||||
|
||||
itronmbox01_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel)
|
||||
|
||||
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
|
||||
|
||||
LINK_OBJS = $(itronmbox01_OBJECTS) $(itronmbox01_LDADD)
|
||||
LINK_LIBS = $(itronmbox01_LDLIBS)
|
||||
|
||||
itronmbox01$(EXEEXT): $(itronmbox01_OBJECTS) $(itronmbox01_DEPENDENCIES)
|
||||
@rm -f itronmbox01$(EXEEXT)
|
||||
$(make-exe)
|
||||
|
||||
include $(top_srcdir)/../automake/local.am
|
||||
@@ -1,34 +0,0 @@
|
||||
/* Init
|
||||
*
|
||||
* This routine is the initialization task for this test program.
|
||||
* It is called from init_exec and has the responsibility for creating
|
||||
* and starting the tasks that make up the test. If the time of day
|
||||
* clock is required for the test, it should also be set to a known
|
||||
* value by this function.
|
||||
*
|
||||
* Input parameters: NONE
|
||||
*
|
||||
* Output parameters: NONE
|
||||
*
|
||||
* COPYRIGHT (c) 1989-1999.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#define CONFIGURE_INIT
|
||||
#include "system.h"
|
||||
#include <stdio.h>
|
||||
#include <time.h>
|
||||
|
||||
void ITRON_Init( void )
|
||||
{
|
||||
printf( "\n\n*** ITRON MBOX TEST 01 ***\n" );
|
||||
printf( "ITRON Mailboxes are implemented but there is currently no test.\n" );
|
||||
printf( "*** END OF ITRON MBOX TEST 01 ***\n" );
|
||||
rtems_test_exit( 0 );
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
*** ITRON MBOX TEST 01 ***
|
||||
ITRON Mailboxes are implemented but there is currently no test.
|
||||
*** END OF ITRON MBOX TEST 01 ***
|
||||
@@ -1,39 +0,0 @@
|
||||
/* system.h
|
||||
*
|
||||
* This include file contains information that is included in every
|
||||
* function in the test set.
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2008.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#include <tmacros.h>
|
||||
#include <rtems/itron.h>
|
||||
|
||||
/* functions */
|
||||
|
||||
void ITRON_Init( void );
|
||||
|
||||
/* configuration information */
|
||||
|
||||
/* NOTICE: the clock driver is explicitly disabled */
|
||||
#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_ITRON_TASKS 1
|
||||
|
||||
#define CONFIGURE_ITRON_INIT_TASK_TABLE
|
||||
|
||||
#include <rtems/confdefs.h>
|
||||
|
||||
/* global variables */
|
||||
|
||||
TEST_EXTERN rtems_id Global_variable; /* example global variable */
|
||||
|
||||
/* end of include file */
|
||||
@@ -1,2 +0,0 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
@@ -1,28 +0,0 @@
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
|
||||
MANAGERS = all
|
||||
|
||||
rtems_tests_PROGRAMS = itronsem01
|
||||
itronsem01_SOURCES = init.c system.h
|
||||
|
||||
dist_rtems_tests_DATA = itronsem01.scn
|
||||
dist_rtems_tests_DATA += itronsem01.doc
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
||||
include $(top_srcdir)/../automake/compile.am
|
||||
include $(top_srcdir)/../automake/leaf.am
|
||||
|
||||
itronsem01_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel)
|
||||
|
||||
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
|
||||
|
||||
LINK_OBJS = $(itronsem01_OBJECTS) $(itronsem01_LDADD)
|
||||
LINK_LIBS = $(itronsem01_LDLIBS)
|
||||
|
||||
itronsem01$(EXEEXT): $(itronsem01_OBJECTS) $(itronsem01_DEPENDENCIES)
|
||||
@rm -f itronsem01$(EXEEXT)
|
||||
$(make-exe)
|
||||
|
||||
include $(top_srcdir)/../automake/local.am
|
||||
@@ -1,332 +0,0 @@
|
||||
/* Init
|
||||
*
|
||||
* This routine is the initialization task for this test program.
|
||||
* It is called from init_exec and has the responsibility for creating
|
||||
* and starting the tasks that make up the test. If the time of day
|
||||
* clock is required for the test, it should also be set to a known
|
||||
* value by this function.
|
||||
*
|
||||
* Input parameters: NONE
|
||||
*
|
||||
* Output parameters: NONE
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2009.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#define CONFIGURE_INIT
|
||||
#include "system.h"
|
||||
#include <stdio.h>
|
||||
|
||||
/*
|
||||
* The following is hopefully temporary.
|
||||
*/
|
||||
|
||||
#include <time.h>
|
||||
|
||||
#define put_time(_s) \
|
||||
do { \
|
||||
time_t a_time_t; \
|
||||
a_time_t = time( 0 ); \
|
||||
printf( "%s%s", _s, ctime( &a_time_t ) ); \
|
||||
} while(0)
|
||||
|
||||
void ITRON_Init( void )
|
||||
{
|
||||
ER status;
|
||||
T_CSEM pk_csem;
|
||||
T_RSEM pk_rsem;
|
||||
|
||||
printf( "\n\n*** ITRONSEM01 -- ITRON SEMAPHORE TEST ***\n" );
|
||||
|
||||
/*
|
||||
* Exercise cre_sem - this code seems to exercise every path.
|
||||
*/
|
||||
|
||||
puts( "Init - cre_sem - NULL pk_sem returns E_PAR" );
|
||||
status = cre_sem( 1, NULL );
|
||||
rtems_test_assert( status == E_PAR );
|
||||
|
||||
puts( "Init - cre_sem - isemcnt > maxsem returns E_PAR" );
|
||||
pk_csem.sematr = 0;
|
||||
pk_csem.isemcnt = 3;
|
||||
pk_csem.maxsem = 2;
|
||||
status = cre_sem( 1, &pk_csem );
|
||||
rtems_test_assert( status == E_PAR );
|
||||
|
||||
puts( "Init - cre_sem - maxsem of 0 returns E_PAR" );
|
||||
pk_csem.isemcnt = 0;
|
||||
pk_csem.maxsem = 0;
|
||||
status = cre_sem( 1, &pk_csem );
|
||||
rtems_test_assert( status == E_PAR );
|
||||
|
||||
/*
|
||||
* Now run through all the bad ID errors
|
||||
*/
|
||||
|
||||
pk_csem.isemcnt = 2;
|
||||
pk_csem.maxsem = 3;
|
||||
puts( "Init - cre_sem - bad id (less than -4) - E_OACV" );
|
||||
status = cre_sem( -5, &pk_csem );
|
||||
rtems_test_assert( status == E_OACV );
|
||||
|
||||
puts( "Init - cre_sem - bad id (between 0 and -4) - E_ID" );
|
||||
status = cre_sem( -4, &pk_csem );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - cre_sem - bad id (0) - E_ID" );
|
||||
status = cre_sem( 0, &pk_csem );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - cre_sem - bad id (too great) - E_ID" );
|
||||
status = cre_sem( CONFIGURE_MAXIMUM_ITRON_SEMAPHORES + 1, &pk_csem );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - cre_sem - create semaphore 1 TA_TFIFO - E_OK" );
|
||||
pk_csem.isemcnt = 2;
|
||||
pk_csem.maxsem = 3;
|
||||
pk_csem.sematr = TA_TFIFO;
|
||||
status = cre_sem( 1, &pk_csem );
|
||||
rtems_test_assert( status == E_OK );
|
||||
|
||||
puts( "Init - cre_sem - create semaphore 1 again - E_OBJ" );
|
||||
status = cre_sem( 1, &pk_csem );
|
||||
rtems_test_assert( status == E_OBJ );
|
||||
|
||||
puts( "Init - cre_sem - create semaphore 2 TA_TPRI - E_OK" );
|
||||
pk_csem.isemcnt = 2;
|
||||
pk_csem.maxsem = 3;
|
||||
pk_csem.sematr = TA_TPRI;
|
||||
status = cre_sem( 2, &pk_csem );
|
||||
rtems_test_assert( status == E_OK );
|
||||
|
||||
/*
|
||||
* Generate all the bad id errors for del_sem
|
||||
*/
|
||||
|
||||
puts( "Init - del_sem - bad id (less than -4) - E_OACV" );
|
||||
status = del_sem( -5 );
|
||||
rtems_test_assert( status == E_OACV );
|
||||
|
||||
puts( "Init - del_sem - bad id (between 0 and -4) - E_ID" );
|
||||
status = del_sem( -4 );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - del_sem - bad id (0) - E_ID" );
|
||||
status = del_sem( 0 );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - del_sem - bad id (too great) - E_ID" );
|
||||
status = del_sem( CONFIGURE_MAXIMUM_ITRON_SEMAPHORES + 1 );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
/*
|
||||
* Generate all the bad id errors for sig_sem
|
||||
*/
|
||||
|
||||
puts( "Init - sig_sem - bad id (less than -4) - E_OACV" );
|
||||
status = sig_sem( -5 );
|
||||
rtems_test_assert( status == E_OACV );
|
||||
|
||||
puts( "Init - sig_sem - bad id (between 0 and -4) - E_ID" );
|
||||
status = sig_sem( -4 );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - sig_sem - bad id (0) - E_ID" );
|
||||
status = sig_sem( 0 );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - sig_sem - bad id (too great) - E_ID" );
|
||||
status = wai_sem( CONFIGURE_MAXIMUM_ITRON_SEMAPHORES + 1 );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
/*
|
||||
* Generate all the bad id errors for preq_sem
|
||||
*/
|
||||
|
||||
puts( "Init - preq_sem - bad id (less than -4) - E_OACV" );
|
||||
status = preq_sem( -5 );
|
||||
rtems_test_assert( status == E_OACV );
|
||||
|
||||
puts( "Init - preq_sem - bad id (between 0 and -4) - E_ID" );
|
||||
status = preq_sem( -4 );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - preq_sem - bad id (0) - E_ID" );
|
||||
status = preq_sem( 0 );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - preq_sem - bad id (too great) - E_ID" );
|
||||
status = preq_sem( CONFIGURE_MAXIMUM_ITRON_SEMAPHORES + 1 );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
/*
|
||||
* Generate all the bad id errors for wai_sem
|
||||
*/
|
||||
|
||||
puts( "Init - wai_sem - bad id (less than -4) - E_OACV" );
|
||||
status = wai_sem( -5 );
|
||||
rtems_test_assert( status == E_OACV );
|
||||
|
||||
puts( "Init - wai_sem - bad id (between 0 and -4) - E_ID" );
|
||||
status = wai_sem( -4 );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - wai_sem - bad id (0) - E_ID" );
|
||||
status = wai_sem( 0 );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - wai_sem - bad id (too great) - E_ID" );
|
||||
status = wai_sem( CONFIGURE_MAXIMUM_ITRON_SEMAPHORES + 1 );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
/*
|
||||
* Generate all the bad id errors for twai_sem
|
||||
*/
|
||||
|
||||
puts( "Init - twai_sem - bad id (less than -4) - E_OACV" );
|
||||
status = twai_sem( -5, 1000 );
|
||||
rtems_test_assert( status == E_OACV );
|
||||
|
||||
puts( "Init - twai_sem - bad id (between 0 and -4) - E_ID" );
|
||||
status = twai_sem( -4, 1000 );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - twai_sem - bad id (0) - E_ID" );
|
||||
status = twai_sem( 0, 1000 );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - twai_sem - bad id (too great) - E_ID" );
|
||||
status = twai_sem( CONFIGURE_MAXIMUM_ITRON_SEMAPHORES + 1, 1000 );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
/*
|
||||
* Generate all the bad id errors for ref_sem
|
||||
*/
|
||||
|
||||
puts( "Init - ref_sem - bad id (less than -4) - E_OACV" );
|
||||
status = ref_sem( -5, &pk_rsem );
|
||||
rtems_test_assert( status == E_OACV );
|
||||
|
||||
puts( "Init - ref_sem - bad id (between 0 and -4) - E_ID" );
|
||||
status = ref_sem( -4, &pk_rsem );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - ref_sem - bad id (0) - E_ID" );
|
||||
status = ref_sem( 0, &pk_rsem );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
puts( "Init - ref_sem - bad id (too great) - E_ID" );
|
||||
status = ref_sem( CONFIGURE_MAXIMUM_ITRON_SEMAPHORES + 1, &pk_rsem );
|
||||
rtems_test_assert( status == E_ID );
|
||||
|
||||
/*
|
||||
* Exercise preq_sem (and sig_sem a little)
|
||||
*/
|
||||
|
||||
|
||||
puts( "Init - preq_sem - semaphore 1 available (count --> 1) - E_OK" );
|
||||
status = preq_sem( 1 );
|
||||
rtems_test_assert( status == E_OK );
|
||||
|
||||
puts( "Init - preq_sem - semaphore 1 available (count --> 0) - E_OK" );
|
||||
status = preq_sem( 1 );
|
||||
rtems_test_assert( status == E_OK );
|
||||
|
||||
puts( "Init - preq_sem - semaphore 1 unavailable - E_TMOUT" );
|
||||
status = preq_sem( 1 );
|
||||
rtems_test_assert( status == E_TMOUT );
|
||||
|
||||
puts( "Init - sig_sem - semaphore 1 (count --> 1) - E_OK" );
|
||||
status = sig_sem( 1 );
|
||||
rtems_test_assert( status == E_OK );
|
||||
|
||||
puts("Init - twai_sem(TMO_POL) - semaphore 1 available (count --> 0) - E_OK");
|
||||
status = twai_sem( 1, TMO_POL );
|
||||
rtems_test_assert( status == E_OK );
|
||||
|
||||
puts( "Init - twai_sem(TMO_POL) - semaphore 1 available - E_TMOUT" );
|
||||
status = twai_sem( 1, TMO_POL );
|
||||
rtems_test_assert( status == E_TMOUT );
|
||||
|
||||
/*
|
||||
* Exercise twai_sem
|
||||
*/
|
||||
|
||||
puts( "Init - twai_sem - semaphore 1 unavailable - 1 second E_TMOUT" );
|
||||
put_time( "Init - starting to block at ");
|
||||
status = twai_sem( 1, 1000 );
|
||||
rtems_test_assert( status == E_TMOUT );
|
||||
put_time( "Init - timed out at ");
|
||||
puts( "Init - twai_sem - semaphore 1 unavailable - timeout completed" );
|
||||
|
||||
/*
|
||||
* Now let's test exceed the maximum count of semaphore 1
|
||||
*/
|
||||
|
||||
puts( "Init - sig_sem - semaphore 1 (count --> 1) - E_OK" );
|
||||
status = sig_sem( 1 );
|
||||
rtems_test_assert( status == E_OK );
|
||||
|
||||
puts( "Init - sig_sem - semaphore 1 (count --> 2) - E_OK" );
|
||||
status = sig_sem( 1 );
|
||||
rtems_test_assert( status == E_OK );
|
||||
|
||||
puts( "Init - sig_sem - semaphore 1 (count --> 3) - E_OK" );
|
||||
status = sig_sem( 1 );
|
||||
rtems_test_assert( status == E_OK );
|
||||
|
||||
puts( "Init - sig_sem - semaphore 1 (count > maximum) - E_QOVR" );
|
||||
status = sig_sem( 1 );
|
||||
rtems_test_assert( status == E_QOVR );
|
||||
|
||||
/*
|
||||
* Exercise ref_sem
|
||||
*/
|
||||
|
||||
puts( "Init - ref_sem - NULL pk_sem returns E_PAR" );
|
||||
status = ref_sem( 1, NULL );
|
||||
rtems_test_assert( status == E_PAR );
|
||||
|
||||
puts( "Init - ref_sem - semaphore 1 - E_OK" );
|
||||
status = ref_sem( 1, &pk_rsem );
|
||||
rtems_test_assert( status == E_OK );
|
||||
printf( "Init - semaphore 1 count = %" PRId32 "\n", pk_rsem.semcnt );
|
||||
printf( "Init - semaphore 1 waiting tasks = %d\n", pk_rsem.wtsk );
|
||||
|
||||
puts( "Init - preq_sem - semaphore 1 (count --> 2) - E_OK" );
|
||||
status = preq_sem( 1 );
|
||||
rtems_test_assert( status == E_OK );
|
||||
|
||||
puts( "Init - ref_sem - semaphore 1 - E_OK" );
|
||||
status = ref_sem( 1, &pk_rsem );
|
||||
rtems_test_assert( status == E_OK );
|
||||
printf( "Init - semaphore 1 count = %" PRId32 "\n", pk_rsem.semcnt );
|
||||
printf( "Init - semaphore 1 waiting tasks = %d\n", pk_rsem.wtsk );
|
||||
|
||||
|
||||
/*
|
||||
* Exercise del_sem
|
||||
*/
|
||||
|
||||
/* XXX really want another task blocking on the semaphore XXX */
|
||||
|
||||
puts( "Init - del_sem - semaphore 1 deleted - E_OK" );
|
||||
status = del_sem( 1 );
|
||||
rtems_test_assert( status == E_OK );
|
||||
|
||||
puts( "Init - XXX need other tasks to complete the test XXX" );
|
||||
|
||||
puts( "Init - dly_tsk - 1 second to let other task run" );
|
||||
status = dly_tsk( 1000 );
|
||||
rtems_test_assert( status == E_OK );
|
||||
|
||||
printf( "*** END OF ITRONSEM01 -- ITRON SEMAPHORE TEST ***\n" );
|
||||
rtems_test_exit( 0 );
|
||||
}
|
||||
@@ -1,12 +0,0 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# COPYRIGHT (c) 1989-1999.
|
||||
# On-Line Applications Research Corporation (OAR).
|
||||
#
|
||||
# The license and distribution terms for this file may be
|
||||
# found in the file LICENSE in this distribution or at
|
||||
# http://www.rtems.com/license/LICENSE.
|
||||
#
|
||||
|
||||
|
||||
@@ -1,61 +0,0 @@
|
||||
*** ITRONSEM01 -- ITRON SEMAPHORE TEST ***
|
||||
Init - cre_sem - NULL pk_sem returns E_PAR
|
||||
Init - cre_sem - isemcnt > maxsem returns E_PAR
|
||||
Init - cre_sem - maxsem of 0 returns E_PAR
|
||||
Init - cre_sem - bad id (less than -4) - E_OACV
|
||||
Init - cre_sem - bad id (between 0 and -4) - E_ID
|
||||
Init - cre_sem - bad id (0) - E_ID
|
||||
Init - cre_sem - bad id (too great) - E_ID
|
||||
Init - cre_sem - create semaphore 1 TA_TFIFO - E_OK
|
||||
Init - cre_sem - create semaphore 1 again - E_OBJ
|
||||
Init - cre_sem - create semaphore 2 TA_TPRI - E_OK
|
||||
Init - del_sem - bad id (less than -4) - E_OACV
|
||||
Init - del_sem - bad id (between 0 and -4) - E_ID
|
||||
Init - del_sem - bad id (0) - E_ID
|
||||
Init - del_sem - bad id (too great) - E_ID
|
||||
Init - sig_sem - bad id (less than -4) - E_OACV
|
||||
Init - sig_sem - bad id (between 0 and -4) - E_ID
|
||||
Init - sig_sem - bad id (0) - E_ID
|
||||
Init - sig_sem - bad id (too great) - E_ID
|
||||
Init - preq_sem - bad id (less than -4) - E_OACV
|
||||
Init - preq_sem - bad id (between 0 and -4) - E_ID
|
||||
Init - preq_sem - bad id (0) - E_ID
|
||||
Init - preq_sem - bad id (too great) - E_ID
|
||||
Init - wai_sem - bad id (less than -4) - E_OACV
|
||||
Init - wai_sem - bad id (between 0 and -4) - E_ID
|
||||
Init - wai_sem - bad id (0) - E_ID
|
||||
Init - wai_sem - bad id (too great) - E_ID
|
||||
Init - twai_sem - bad id (less than -4) - E_OACV
|
||||
Init - twai_sem - bad id (between 0 and -4) - E_ID
|
||||
Init - twai_sem - bad id (0) - E_ID
|
||||
Init - twai_sem - bad id (too great) - E_ID
|
||||
Init - ref_sem - bad id (less than -4) - E_OACV
|
||||
Init - ref_sem - bad id (between 0 and -4) - E_ID
|
||||
Init - ref_sem - bad id (0) - E_ID
|
||||
Init - ref_sem - bad id (too great) - E_ID
|
||||
Init - preq_sem - semaphore 1 available (count --> 1) - E_OK
|
||||
Init - preq_sem - semaphore 1 available (count --> 0) - E_OK
|
||||
Init - preq_sem - semaphore 1 unavailable - E_TMOUT
|
||||
Init - sig_sem - semaphore 1 (count --> 1) - E_OK
|
||||
Init - twai_sem(TMO_POL) - semaphore 1 available (count --> 0) - E_OK
|
||||
Init - twai_sem(TMO_POL) - semaphore 1 available - E_TMOUT
|
||||
Init - twai_sem - semaphore 1 unavailable - 1 second E_TMOUT
|
||||
Init - starting to block at Fri Jan 1 00:00:00 1988
|
||||
Init - timed out at Fri Jan 1 00:00:01 1988
|
||||
Init - twai_sem - semaphore 1 unavailable - timeout completed
|
||||
Init - sig_sem - semaphore 1 (count --> 1) - E_OK
|
||||
Init - sig_sem - semaphore 1 (count --> 2) - E_OK
|
||||
Init - sig_sem - semaphore 1 (count --> 3) - E_OK
|
||||
Init - sig_sem - semaphore 1 (count > maximum) - E_QOVR
|
||||
Init - ref_sem - NULL pk_sem returns E_PAR
|
||||
Init - ref_sem - semaphore 1 - E_OK
|
||||
Init - semaphore 1 count = 4
|
||||
Init - semaphore 1 waiting tasks = 0
|
||||
Init - preq_sem - semaphore 1 (count --> 2) - E_OK
|
||||
Init - ref_sem - semaphore 1 - E_OK
|
||||
Init - semaphore 1 count = 3
|
||||
Init - semaphore 1 waiting tasks = 0
|
||||
Init - del_sem - semaphore 1 deleted - E_OK
|
||||
Init - XXX need other tasks to complete the test XXX
|
||||
Init - dly_tsk - 1 second to let other task run
|
||||
*** END OF ITRONSEM01 -- ITRON SEMAPHORE TEST ***
|
||||
@@ -1,39 +0,0 @@
|
||||
/* system.h
|
||||
*
|
||||
* This include file contains information that is included in every
|
||||
* function in the test set.
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2009.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#include <tmacros.h>
|
||||
#include <rtems/itron.h>
|
||||
|
||||
/* functions */
|
||||
|
||||
void ITRON_Init( void );
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_ITRON_TASKS 1
|
||||
#define CONFIGURE_MAXIMUM_ITRON_SEMAPHORES 10
|
||||
|
||||
#define CONFIGURE_ITRON_INIT_TASK_TABLE
|
||||
|
||||
#include <rtems/confdefs.h>
|
||||
|
||||
/* global variables */
|
||||
|
||||
TEST_EXTERN rtems_id Global_variable; /* example global variable */
|
||||
|
||||
/* end of include file */
|
||||
@@ -1,2 +0,0 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
@@ -1,28 +0,0 @@
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
|
||||
MANAGERS = all
|
||||
|
||||
rtems_tests_PROGRAMS = itrontask01
|
||||
itrontask01_SOURCES = init.c task1.c system.h
|
||||
|
||||
dist_rtems_tests_DATA = itrontask01.scn
|
||||
dist_rtems_tests_DATA += itrontask01.doc
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
||||
include $(top_srcdir)/../automake/compile.am
|
||||
include $(top_srcdir)/../automake/leaf.am
|
||||
|
||||
itrontask01_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel)
|
||||
|
||||
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
|
||||
|
||||
LINK_OBJS = $(itrontask01_OBJECTS) $(itrontask01_LDADD)
|
||||
LINK_LIBS = $(itrontask01_LDLIBS)
|
||||
|
||||
itrontask01$(EXEEXT): $(itrontask01_OBJECTS) $(itrontask01_DEPENDENCIES)
|
||||
@rm -f itrontask01$(EXEEXT)
|
||||
$(make-exe)
|
||||
|
||||
include $(top_srcdir)/../automake/local.am
|
||||
@@ -1,71 +0,0 @@
|
||||
/* Init
|
||||
*
|
||||
* This routine is the initialization task for this test program.
|
||||
* It is called from init_exec and has the responsibility for creating
|
||||
* and starting the tasks that make up the test. If the time of day
|
||||
* clock is required for the test, it should also be set to a known
|
||||
* value by this function.
|
||||
*
|
||||
* Input parameters: NONE
|
||||
*
|
||||
* Output parameters: NONE
|
||||
*
|
||||
* COPYRIGHT (c) 1989-1999.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#define CONFIGURE_INIT
|
||||
#include "system.h"
|
||||
#include <stdio.h>
|
||||
|
||||
void ITRON_Init( void )
|
||||
{
|
||||
rtems_time_of_day time;
|
||||
ER status;
|
||||
T_CTSK pk_ctsk;
|
||||
|
||||
puts( "\n\n*** ITRON TASK TEST 1 ***" );
|
||||
|
||||
/*
|
||||
* XXX - Change this to an itron clock !!
|
||||
*/
|
||||
|
||||
build_time( &time, 12, 31, 1988, 9, 0, 0, 0 );
|
||||
status = rtems_clock_set( &time );
|
||||
directive_failed( status, "rtems_clock_set" );
|
||||
|
||||
pk_ctsk.exinf = NULL;
|
||||
pk_ctsk.tskatr = TA_HLNG;
|
||||
pk_ctsk.itskpri = 1;
|
||||
pk_ctsk.task = Task_2_through_4;
|
||||
|
||||
pk_ctsk.stksz = RTEMS_MINIMUM_STACK_SIZE * 2;
|
||||
status = cre_tsk( 2, &pk_ctsk );
|
||||
directive_failed( status, "cre_tsk of TA1" );
|
||||
|
||||
pk_ctsk.stksz = RTEMS_MINIMUM_STACK_SIZE * 2;
|
||||
status = cre_tsk( 3, &pk_ctsk );
|
||||
directive_failed( status, "cre_tsk of TA2" );
|
||||
|
||||
pk_ctsk.stksz = RTEMS_MINIMUM_STACK_SIZE * 3;
|
||||
status = cre_tsk( 4, &pk_ctsk );
|
||||
directive_failed( status, "cre_tsk of TA3" );
|
||||
|
||||
status = sta_tsk( 2, 0 );
|
||||
directive_failed( status, "sta_tsk of TA1" );
|
||||
|
||||
status = sta_tsk( 3, 0 );
|
||||
directive_failed( status, "sta_tsk of TA1" );
|
||||
|
||||
status = sta_tsk( 4, 0 );
|
||||
directive_failed( status, "sta_tsk of TA1" );
|
||||
|
||||
exd_tsk();
|
||||
directive_failed( 0, "exd_tsk" );
|
||||
}
|
||||
@@ -1,61 +0,0 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# COPYRIGHT (c) 1989-1999.
|
||||
# On-Line Applications Research Corporation (OAR).
|
||||
#
|
||||
# The license and distribution terms for this file may be
|
||||
# found in the file LICENSE in this distribution or at
|
||||
# http://www.rtems.com/license/LICENSE.
|
||||
#
|
||||
|
||||
This file describes the directives and concepts tested by this test set.
|
||||
This test is based upon the test in sp01.
|
||||
|
||||
test set name: itrontask01
|
||||
|
||||
directives:
|
||||
cre_tsk, exd_tsk, get_tid, sta_tsk
|
||||
|
||||
concepts: XXX verify
|
||||
|
||||
a. Verifies system can create and start both the executive's system
|
||||
initialization and idle task.
|
||||
|
||||
b. Verifies executive can swap between three application tasks at the
|
||||
same priority and the executive's internal idle task.
|
||||
|
||||
c. Verifies can print strings to the CRT on port 2 of the mvme136 board
|
||||
using Print and Println in the board support package.
|
||||
|
||||
d. Verifies interrupt handler can handle a task switch from an interrupt
|
||||
as specified with the i_return directive.
|
||||
|
||||
e. Verifies executive initialization performed correctly.
|
||||
|
||||
f. Verifies the executive trap handler except for the halt function.
|
||||
|
||||
g. Verifies that a task can get the task identification number of itself.
|
||||
|
||||
a. Verifies exd_tsk
|
||||
|
||||
b. Verifies get_tid
|
||||
|
||||
notes:
|
||||
|
||||
rtems clock directives should change to itron clock directives when
|
||||
the clock directives are merged.
|
||||
|
||||
change rtems task wake after to itron routines.
|
||||
|
||||
output:
|
||||
"TA1" is printed once every 5 seconds.
|
||||
"TA2" is printed once every 10 seconds.
|
||||
"TA3" is printed once every 15 seconds.
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,18 +0,0 @@
|
||||
*** ITRON TASK TEST 1 ***
|
||||
TA1 - rtems_clock_get - 09:00:00 12/31/1988
|
||||
TA2 - rtems_clock_get - 09:00:00 12/31/1988
|
||||
TA3 - rtems_clock_get - 09:00:00 12/31/1988
|
||||
TA1 - rtems_clock_get - 09:00:05 12/31/1988
|
||||
TA2 - rtems_clock_get - 09:00:10 12/31/1988
|
||||
TA1 - rtems_clock_get - 09:00:10 12/31/1988
|
||||
TA3 - rtems_clock_get - 09:00:15 12/31/1988
|
||||
TA1 - rtems_clock_get - 09:00:15 12/31/1988
|
||||
TA2 - rtems_clock_get - 09:00:20 12/31/1988
|
||||
TA1 - rtems_clock_get - 09:00:20 12/31/1988
|
||||
TA1 - rtems_clock_get - 09:00:25 12/31/1988
|
||||
TA3 - rtems_clock_get - 09:00:30 12/31/1988
|
||||
TA1 - rtems_clock_get - 09:00:30 12/31/1988
|
||||
TA2 - rtems_clock_get - 09:00:30 12/31/1988
|
||||
*** END OF ITRON TASK TEST 1 ***
|
||||
|
||||
NOTE: The order of the prints at each time interval is irrelevant.
|
||||
@@ -1,39 +0,0 @@
|
||||
/* system.h
|
||||
*
|
||||
* This include file contains information that is included in every
|
||||
* function in the test set.
|
||||
*
|
||||
* COPYRIGHT (c) 1989-1999.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#include <tmacros.h>
|
||||
#include <rtems/itron.h>
|
||||
|
||||
/* functions */
|
||||
|
||||
void ITRON_Init( void );
|
||||
void Task_2_through_4(void);
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_ITRON_TASKS 4
|
||||
#define CONFIGURE_EXTRA_TASK_STACKS (RTEMS_MINIMUM_STACK_SIZE * 4)
|
||||
|
||||
|
||||
#define CONFIGURE_ITRON_INIT_TASK_TABLE
|
||||
|
||||
#include <rtems/confdefs.h>
|
||||
|
||||
/* global variables */
|
||||
|
||||
/* end of include file */
|
||||
@@ -1,54 +0,0 @@
|
||||
/* Task_1_through_3
|
||||
*
|
||||
* This routine serves as a test task. It verifies the basic task
|
||||
* switching capabilities of the executive.
|
||||
*
|
||||
* Input parameters:
|
||||
* argument - task argument
|
||||
*
|
||||
* Output parameters: NONE
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2009.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
||||
void Task_2_through_4(void)
|
||||
{
|
||||
ID tid;
|
||||
int tid_index;
|
||||
rtems_time_of_day time;
|
||||
ER status;
|
||||
char name[30];
|
||||
|
||||
status = get_tid( &tid );
|
||||
directive_failed( status, "get_tid");
|
||||
|
||||
tid_index = tid - 1; /* account for init tasks */
|
||||
|
||||
sprintf(name, "TA%d", tid_index);
|
||||
|
||||
while( FOREVER ) {
|
||||
status = rtems_clock_get_tod( &time );
|
||||
directive_failed( status, "rtems_clock_get_tod" );
|
||||
|
||||
if ( time.second >= 35 ) {
|
||||
puts( "*** END OF ITRON TASK TEST 1 ***" );
|
||||
rtems_test_exit( 0 );
|
||||
}
|
||||
|
||||
printf(name);
|
||||
print_time( " - rtems_clock_get_tod - ", &time, "\n" );
|
||||
|
||||
status = rtems_task_wake_after(
|
||||
tid_index * 5 * rtems_clock_get_ticks_per_second() );
|
||||
directive_failed( status, "rtems_task_wake_after" );
|
||||
}
|
||||
}
|
||||
@@ -1,2 +0,0 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
@@ -1,28 +0,0 @@
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
|
||||
MANAGERS = all
|
||||
|
||||
rtems_tests_PROGRAMS = itrontask02
|
||||
itrontask02_SOURCES = init.c dormant.c system.h
|
||||
|
||||
dist_rtems_tests_DATA = itrontask02.scn
|
||||
dist_rtems_tests_DATA += itrontask02.doc
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
||||
include $(top_srcdir)/../automake/compile.am
|
||||
include $(top_srcdir)/../automake/leaf.am
|
||||
|
||||
itrontask02_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel)
|
||||
|
||||
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
|
||||
|
||||
LINK_OBJS = $(itrontask02_OBJECTS) $(itrontask02_LDADD)
|
||||
LINK_LIBS = $(itrontask02_LDLIBS)
|
||||
|
||||
itrontask02$(EXEEXT): $(itrontask02_OBJECTS) $(itrontask02_DEPENDENCIES)
|
||||
@rm -f itrontask02$(EXEEXT)
|
||||
$(make-exe)
|
||||
|
||||
include $(top_srcdir)/../automake/local.am
|
||||
@@ -1,42 +0,0 @@
|
||||
/* Dormant
|
||||
*
|
||||
* This routine serves as two test tasks.
|
||||
* It has one dormant and one sleeping tasks.
|
||||
*
|
||||
* Input parameters:
|
||||
* argument - task argument
|
||||
*
|
||||
* Output parameters: NONE
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2009.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
||||
void Dormant_task(void)
|
||||
{
|
||||
puts( "DORMANT - ext_tsk - going to DORMANT state" );
|
||||
ext_tsk( );
|
||||
|
||||
puts( "ERROR==>ext_tsk of DORMANT returned" );
|
||||
rtems_test_assert(0);
|
||||
}
|
||||
|
||||
|
||||
void Non_Dormant_task(void)
|
||||
{
|
||||
ER status;
|
||||
|
||||
while (TRUE) {
|
||||
puts( "NON-DORMANT - Sleep for 2 minutes" );
|
||||
status = rtems_task_wake_after( 120*rtems_clock_get_ticks_per_second() );
|
||||
directive_failed( status, "rtems_task_wake_after" );
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,34 +0,0 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# COPYRIGHT (c) 1989-1999.
|
||||
# On-Line Applications Research Corporation (OAR).
|
||||
#
|
||||
# The license and distribution terms for this file may be
|
||||
# found in the file LICENSE in this distribution or at
|
||||
# http://www.rtems.com/license/LICENSE.
|
||||
#
|
||||
|
||||
This file describes the directives and concepts tested by this test set.
|
||||
This test forces and verifies error conditions for the task and task
|
||||
synchronization managers..
|
||||
|
||||
test set name: itrontask02
|
||||
|
||||
directives:
|
||||
chg_pri cre_tsk del_tsk dis_dsp ena_dsp exd_tsk ext_tsk
|
||||
frsm_tsk get_tid ref_tsk rel_wai rot_rdq rsm_tsk slp_tsk
|
||||
sta_tsk sus_tsk ter_tsk tslp_tsk wup_tsk
|
||||
|
||||
concepts:
|
||||
|
||||
a. Verification of error codes from all task and task synchronization
|
||||
commands.
|
||||
|
||||
notes:
|
||||
Unimplementted functions are stubbed out and should be added when
|
||||
the functions are finished.
|
||||
|
||||
output:
|
||||
Name of command and expected error code.
|
||||
Test asserts when an unexpected error code or an error does not occur.
|
||||
@@ -1,80 +0,0 @@
|
||||
*** ITRON TASK TEST 2 ***
|
||||
Init - cre_tsk - Dormant Task
|
||||
Init - cre_tsk - Non-Dormant Task
|
||||
NON-DORMANT - Sleep for 2 minutes
|
||||
|
||||
*** Create Task Errors ***
|
||||
Init - cre_tsk - access violation ( id less than -4) - E_OACV
|
||||
Init - cre_tsk - bad id (between 0 and -4) - E_ID
|
||||
Init - cre_tsk - cannot create TSK_SELF - E_ID
|
||||
Init - cre_tsk - invalid id; id already exists - E_OBJ
|
||||
Init - cre_tsk - tskatr is invalid - E_RSATR
|
||||
Init - cre_tsk - pk_ctsk is invalid - E_PAR
|
||||
Init - cre_tsk - itskpri is 0 - E_PAR
|
||||
Init - cre_tsk - itskpri is 257 - E_PAR
|
||||
Init - cre_tsk - stksz is invalid - E_PAR
|
||||
Init - cre_tsk - task is invalid - E_PAR
|
||||
|
||||
*** Delete Task Errors ***
|
||||
Init - del_tsk - cannot delete TSK_SELF - E_OBJ
|
||||
Init - del_tsk - task is not DORMANT - E_OBJ
|
||||
Init - del_tsk - task does not exist - E_NOEXS
|
||||
Init - del_tsk - access violation ( id less than -4) - E_OACV
|
||||
Init - del_tsk - cannot delete TSK_SELF - E_OBJ
|
||||
Init - del_tsk - bad id (between 0 and -4) - E_ID
|
||||
|
||||
*** Start Task Errors ***
|
||||
Init - sta_tsk - access violation ( id less than -4) - E_OACV
|
||||
Init - sta_tsk - bad id (between 0 and -4) - E_ID
|
||||
Init - sta_tsk - cannot start TSK_SELF - E_OBJ
|
||||
Init - sta_tsk - task is not DORMANT - E_OBJ
|
||||
Init - sta_tsk - task does not exist - E_NOEXS
|
||||
|
||||
*** Terminate Other Task Errors ***
|
||||
Init - ter_tsk - bad id (between 0 and -4) - E_ID
|
||||
Init - ter_tsk - cannot terminate TSK_SELF (0) - E_OBJ
|
||||
Init - ter_tsk - task is not DORMANT - E_OBJ
|
||||
Init - ter_tsk - task does not exist - E_NOEXS
|
||||
Init - ter_tsk - access violation ( id less than -4) - E_OACV
|
||||
|
||||
*** Change Priority Task Errors ***
|
||||
Init - chg_pri - bad id (between 0 and -4) - E_ID
|
||||
Init - chg_pri - task is DORMANT - E_OBJ
|
||||
Init - chg_pri - task does not exist - E_NOEXS
|
||||
Init - chg_pri - access violation ( id less than -4) - E_OACV
|
||||
Init - chg_pri - invalid priority - E_PAR
|
||||
|
||||
*** Rotate Ready Queue Errors ***
|
||||
Init - rot_rdq - priority -1 - E_PAR
|
||||
Init - rot_rdq - priority 257 - E_PAR
|
||||
|
||||
*** Reference Task Status Errors ***
|
||||
Init - ref_tsk - bad id (between 0 and -4) - E_ID
|
||||
Init - ref_tsk - task does not exist - E_NOEXS
|
||||
Init - ref_tsk - access violation ( id less than -4) - E_OACV
|
||||
Init - ref_tsk - packet address is bad - E_PAR
|
||||
|
||||
*** Suspend Task Errors ***
|
||||
Init - sus_tsk - access violation ( id less than -4) - E_OACV
|
||||
Init - sus_tsk - bad id (between 0 and -4) - E_ID
|
||||
Init - sus_tsk - cannot suspend SELF - E_OBJ
|
||||
Init - sus_tsk - task does not exist - E_NOEXS
|
||||
|
||||
*** Resume Task Errors ***
|
||||
Init - rsm_tsk - access violation ( id less than -4) - E_OACV
|
||||
Init - rsm_tsk - bad id (between 0 and -4) - E_ID
|
||||
Init - rsm_tsk - cannot resume SELF - E_OBJ
|
||||
Init - rsm_tsk - task is DORMANT - E_OBJ
|
||||
Init - rsm_tsk - task is NON_DORMANT not suspended - E_OK
|
||||
Init - rsm_tsk - task does not exist - E_NOEXS
|
||||
|
||||
*** Forcibly Resume Task Errors ***
|
||||
Init - frsm_tsk - access violation ( id less than -4) - E_OACV
|
||||
Init - frsm_tsk - bad id (between 0 and -4) - E_ID
|
||||
Init - frsm_tsk - cannot forcibly resume SELF - E_OBJ
|
||||
Init - frsm_tsk - task is DORMANT - E_OBJ
|
||||
Init - frsm_tsk - task does not exist - E_NOEXS
|
||||
Init - frsm_tsk - task is NON_DORMANT not suspended - E_OK
|
||||
|
||||
*** END OF ITRON TASK TEST 2 ***
|
||||
|
||||
@@ -1,44 +0,0 @@
|
||||
/* system.h
|
||||
*
|
||||
* This include file contains information that is included in every
|
||||
* function in the test set.
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2008.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#include <tmacros.h>
|
||||
#include <rtems/itron.h>
|
||||
|
||||
/* functions */
|
||||
|
||||
void ITRON_Init( void );
|
||||
void Dormant_task(void);
|
||||
void Non_Dormant_task(void);
|
||||
|
||||
/* configuration information */
|
||||
|
||||
/* NOTICE: the clock driver is explicitly disabled */
|
||||
#define CONFIGURE_APPLICATION_DOES_NOT_NEED_CLOCK_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_ITRON_TASKS 5
|
||||
|
||||
#define CONFIGURE_ITRON_INIT_TASK_TABLE
|
||||
|
||||
#include <rtems/confdefs.h>
|
||||
|
||||
/* global variables */
|
||||
|
||||
#define DORMANT_TASK_ID 2
|
||||
#define NON_DORMANT_TASK_ID 3
|
||||
|
||||
TEST_EXTERN rtems_id Global_variable; /* example global variable */
|
||||
|
||||
/* end of include file */
|
||||
@@ -1,2 +0,0 @@
|
||||
Makefile
|
||||
Makefile.in
|
||||
@@ -1,28 +0,0 @@
|
||||
##
|
||||
## $Id$
|
||||
##
|
||||
|
||||
MANAGERS = all
|
||||
|
||||
rtems_tests_PROGRAMS = itrontask03
|
||||
itrontask03_SOURCES = init.c preempt.c task1.c task2.c task3.c system.h
|
||||
|
||||
dist_rtems_tests_DATA = itrontask03.scn
|
||||
dist_rtems_tests_DATA += itrontask03.doc
|
||||
|
||||
include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg
|
||||
include $(top_srcdir)/../automake/compile.am
|
||||
include $(top_srcdir)/../automake/leaf.am
|
||||
|
||||
itrontask03_LDADD = $(MANAGERS_NOT_WANTED:%=$(PROJECT_LIB)/no-%.rel)
|
||||
|
||||
AM_CPPFLAGS += -I$(top_srcdir)/../support/include
|
||||
|
||||
LINK_OBJS = $(itrontask03_OBJECTS) $(itrontask03_LDADD)
|
||||
LINK_LIBS = $(itrontask03_LDLIBS)
|
||||
|
||||
itrontask03$(EXEEXT): $(itrontask03_OBJECTS) $(itrontask03_DEPENDENCIES)
|
||||
@rm -f itrontask03$(EXEEXT)
|
||||
$(make-exe)
|
||||
|
||||
include $(top_srcdir)/../automake/local.am
|
||||
@@ -1,137 +0,0 @@
|
||||
/* Init
|
||||
*
|
||||
* This routine is the initialization task for this test program.
|
||||
* It is called from init_exec and has the responsibility for creating
|
||||
* and starting the tasks that make up the test. If the time of day
|
||||
* clock is required for the test, it should also be set to a known
|
||||
* value by this function.
|
||||
*
|
||||
* Input parameters: NONE
|
||||
*
|
||||
* Output parameters: NONE
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2009.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#define CONFIGURE_INIT
|
||||
#include "system.h"
|
||||
#include <stdio.h>
|
||||
|
||||
void ITRON_Init( void )
|
||||
{
|
||||
ER status;
|
||||
T_CTSK pk_ctsk;
|
||||
T_RTSK pk_rtsk;
|
||||
|
||||
pk_ctsk.exinf = NULL;
|
||||
pk_ctsk.tskatr = TA_HLNG;
|
||||
pk_ctsk.stksz = RTEMS_MINIMUM_STACK_SIZE;
|
||||
pk_ctsk.itskpri = PREEMPT_PRIORITY;
|
||||
pk_ctsk.task = Preempt_task;
|
||||
|
||||
puts( "\n\n*** ITRON TASK TEST 3 ***" );
|
||||
|
||||
/*
|
||||
* Create and start the Preempt task the first time.
|
||||
* Verify that it is dormant when it comes back.
|
||||
*/
|
||||
|
||||
puts( "INIT - Create and Start PREEMPT" );
|
||||
status = chg_pri( TSK_SELF, (PREEMPT_PRIORITY+2) );
|
||||
directive_failed( status, "chg_pri of SELF" );
|
||||
|
||||
status = cre_tsk( PREEMPT_TASK_ID, &pk_ctsk );
|
||||
directive_failed( status, "cre_tsk of RTEMS_PREEMPT" );
|
||||
|
||||
status = sta_tsk( PREEMPT_TASK_ID, 0 );
|
||||
directive_failed( status, "sta_tsk of RTEMS_PREEMPT" );
|
||||
puts( "INIT - rot_rdq - no tasks at this priority" );
|
||||
status = rot_rdq( 1 );
|
||||
directive_failed( status, "rot_rdq" );
|
||||
|
||||
puts( "INIT - ref_tsk PREEMPT - Validate DORMANT STATE" );
|
||||
status = ref_tsk( &pk_rtsk, PREEMPT_TASK_ID );
|
||||
directive_failed( status, "INIT - ref_tsk of RTEMS_PREEMPT");
|
||||
fatal_directive_status(pk_rtsk.tskstat,TTS_DMT,"tskstat of PREEMPT");
|
||||
|
||||
/*
|
||||
* Restart the Preempt Task.
|
||||
*/
|
||||
|
||||
status = sta_tsk( PREEMPT_TASK_ID, 0 );
|
||||
directive_failed( status, "sta_tsk of RTEMS_PREEMPT" );
|
||||
puts( "INIT - rot_rdq - yielding processor" );
|
||||
status = rot_rdq( 1 );
|
||||
directive_failed( status, "rot_rdq" );
|
||||
puts( "INIT - ref_tsk PREEMPT - Validate no longer exists" );
|
||||
status = ref_tsk( &pk_rtsk, PREEMPT_TASK_ID );
|
||||
fatal_directive_status( status, E_NOEXS, "tskstat of PREEMPT");
|
||||
status = chg_pri( TSK_SELF, PREEMPT_PRIORITY );
|
||||
directive_failed( status, "chg_pri of SELF" );
|
||||
|
||||
/*
|
||||
* XXX
|
||||
*/
|
||||
|
||||
pk_ctsk.itskpri = 3;
|
||||
pk_ctsk.task = Task_1;
|
||||
status = cre_tsk( TA1_ID, &pk_ctsk );
|
||||
directive_failed( status, "cre_tsk of TA1" );
|
||||
|
||||
pk_ctsk.task = Task_2;
|
||||
status = cre_tsk( TA2_ID, &pk_ctsk );
|
||||
directive_failed( status, "cre_tsk of TA2" );
|
||||
|
||||
pk_ctsk.task = Task_3;
|
||||
status = cre_tsk( TA3_ID, &pk_ctsk );
|
||||
directive_failed( status, "cre_tsk of TA3" );
|
||||
|
||||
status = sta_tsk( TA1_ID, 0 );
|
||||
directive_failed( status, "sta_tsk of TA1" );
|
||||
status = sta_tsk( TA2_ID, 0 );
|
||||
directive_failed( status, "sta_tsk of TA2" );
|
||||
status = sta_tsk( TA3_ID, 0 );
|
||||
directive_failed( status, "sta_tsk of TA3" );
|
||||
|
||||
status = ref_tsk( &pk_rtsk, TA1_ID);
|
||||
directive_failed( status, "INIT - ref_tsk of TA1");
|
||||
fatal_directive_status( pk_rtsk.tskstat, TTS_RDY , "tskstat of TA1");
|
||||
|
||||
puts( "INIT - suspending TA2 while middle task on a ready chain" );
|
||||
status = sus_tsk( TA2_ID );
|
||||
directive_failed( status, "sus_tsk of TA2" );
|
||||
status = ref_tsk( &pk_rtsk, TA2_ID);
|
||||
directive_failed( status, "INIT - ref_tsk of TA2");
|
||||
fatal_directive_status( pk_rtsk.tskstat, TTS_SUS, "tskstat of TA2");
|
||||
|
||||
status = ter_tsk( TA1_ID );
|
||||
directive_failed( status, "ter_tsk of TA1" );
|
||||
status = del_tsk( TA1_ID );
|
||||
directive_failed( status, "del_tsk of TA1" );
|
||||
status = ter_tsk( TA2_ID );
|
||||
directive_failed( status, "ter_tsk of TA2" );
|
||||
status = ter_tsk( TA3_ID );
|
||||
directive_failed( status, "ter_tsk of TA3" );
|
||||
|
||||
pk_ctsk.itskpri = 1;
|
||||
pk_ctsk.task = Task_1;
|
||||
status = cre_tsk( TA1_ID, &pk_ctsk );
|
||||
directive_failed( status, "cre_tsk of TA1 at priority 1" );
|
||||
|
||||
status = sta_tsk( TA1_ID, 0 );
|
||||
directive_failed( status, "sta_tsk of TA1" );
|
||||
status = sta_tsk( TA2_ID, 0 );
|
||||
directive_failed( status, "sta_tsk of TA2" );
|
||||
status = sta_tsk( TA3_ID, 0 );
|
||||
directive_failed( status, "sta_tsk of TA3" );
|
||||
|
||||
exd_tsk();
|
||||
rtems_test_assert(0);
|
||||
}
|
||||
@@ -1,54 +0,0 @@
|
||||
#
|
||||
# $Id$
|
||||
#
|
||||
# COPYRIGHT (c) 1989-1999.
|
||||
# On-Line Applications Research Corporation (OAR).
|
||||
#
|
||||
# The license and distribution terms for this file may be
|
||||
# found in the file LICENSE in this distribution or at
|
||||
# http://www.rtems.com/license/LICENSE.
|
||||
#
|
||||
|
||||
This file describes the directives and concepts tested by this test set.
|
||||
This test is based upon the test in sp0.
|
||||
|
||||
test set name: itrontask03
|
||||
|
||||
directives:
|
||||
chg_pri cre_tsk del_tsk exd_tsk rot_rdq sta_tsk sus_tsk ter_tsk
|
||||
|
||||
concepts: XXX - Verify
|
||||
|
||||
a. verifies rot_rdq can be used by equal priority tasks to correctly yeild the processor
|
||||
|
||||
b. Verifies sus_tsk suspends another task.
|
||||
|
||||
c. Verifies rot_rdq with a yeild process response.
|
||||
|
||||
a. Verifies that a task can delete another task and also delete itself.
|
||||
|
||||
b. Verifies that memory is freed back to the heap correctly.
|
||||
|
||||
c. Verifies that TCBs are freed back to the inactive chain correctly.
|
||||
|
||||
d. Verifies that a task can get the task identification number of
|
||||
another task.
|
||||
|
||||
e. Verifies the _Set_state routine where the task is not READY.
|
||||
|
||||
f. Verifies the break statement in the _Block_activate routine.
|
||||
|
||||
g. Verifies the while loop in the _Prev_tcb routine.
|
||||
|
||||
notes:
|
||||
|
||||
rtems_wake_after calls should be replaced with itron calls when
|
||||
the time functionality is added.
|
||||
|
||||
output:
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -1,21 +0,0 @@
|
||||
*** ITRON TASK TEST 3 ***
|
||||
INIT - Create and Start PREEMPT
|
||||
PREEMPT - ref_tsk validation
|
||||
PREEMPT - chg_pri increment priority
|
||||
PREEMPT - ext_tsk - going to DORMANT state
|
||||
INIT - rot_rdq - no tasks at this priority
|
||||
INIT - ref_tsk PREEMPT - Validate DORMANT STATE
|
||||
PREEMPT - ref_tsk validation
|
||||
PREEMPT - exd_tsk - Exit and Delete task
|
||||
INIT - rot_rdq - yielding processor
|
||||
INIT - ref_tsk PREEMPT - Validate no longer exists
|
||||
INIT - suspending TA2 while middle task on a ready chain
|
||||
TA1 - rtems_task_wake_after - sleep 1 second
|
||||
TA2 - rtems_task_wake_after - sleep 1 minute
|
||||
TA3 - rtems_task_wake_after - sleep 5 seconds
|
||||
TA1 - chg_pri - set TA3's priority to 2
|
||||
TA1 - sus_tsk - suspend TA2
|
||||
TA1 - - delete TA2
|
||||
TA1 - rtems_task_wake_after - sleep for 5 seconds
|
||||
TA3 - exd_tsk - exit and delete self
|
||||
*** END OF ITRON TASK TEST 3 ***
|
||||
@@ -1,52 +0,0 @@
|
||||
/* Preempt_task
|
||||
*
|
||||
* This routine serves as a test task. It verifies the task manager.
|
||||
*
|
||||
* Input parameters:
|
||||
* argument - task argument
|
||||
*
|
||||
* Output parameters: NONE
|
||||
*
|
||||
* COPYRIGHT (c) 1989-2009.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#include "system.h"
|
||||
|
||||
int Preempt_task_Count;
|
||||
|
||||
void Preempt_task()
|
||||
{
|
||||
ER status;
|
||||
T_RTSK pk_rtsk;
|
||||
|
||||
puts( "PREEMPT - ref_tsk validation" );
|
||||
status = ref_tsk( &pk_rtsk, PREEMPT_TASK_ID );
|
||||
fatal_directive_status( status, E_OK , "ref_tsk of PREEMPT");
|
||||
rtems_test_assert( pk_rtsk.tskpri == PREEMPT_PRIORITY );
|
||||
rtems_test_assert( pk_rtsk.itskpri == PREEMPT_PRIORITY );
|
||||
rtems_test_assert( pk_rtsk.task == Preempt_task );
|
||||
rtems_test_assert( pk_rtsk.stksz >= RTEMS_MINIMUM_STACK_SIZE );
|
||||
rtems_test_assert( pk_rtsk.tskstat == (TTS_RUN | TTS_RDY) );
|
||||
|
||||
if ( Preempt_task_Count == 0 ) {
|
||||
Preempt_task_Count ++;
|
||||
puts( "PREEMPT - chg_pri increment priority ");
|
||||
status = chg_pri( PREEMPT_TASK_ID, (PREEMPT_PRIORITY+1) );
|
||||
directive_failed( status, "chg_pri" );
|
||||
puts( "PREEMPT - ext_tsk - going to DORMANT state" );
|
||||
ext_tsk( );
|
||||
rtems_test_assert( 0 );
|
||||
} else {
|
||||
Preempt_task_Count ++;
|
||||
puts( "PREEMPT - exd_tsk - Exit and Delete task" );
|
||||
exd_tsk( );
|
||||
rtems_test_assert( 0 );
|
||||
}
|
||||
}
|
||||
@@ -1,49 +0,0 @@
|
||||
/* system.h
|
||||
*
|
||||
* This include file contains information that is included in every
|
||||
* function in the test set.
|
||||
*
|
||||
* COPYRIGHT (c) 1989-1999.
|
||||
* On-Line Applications Research Corporation (OAR).
|
||||
*
|
||||
* The license and distribution terms for this file may be
|
||||
* found in the file LICENSE in this distribution or at
|
||||
* http://www.rtems.com/license/LICENSE.
|
||||
*
|
||||
* $Id$
|
||||
*/
|
||||
|
||||
#include <tmacros.h>
|
||||
#include <rtems/itron.h>
|
||||
|
||||
/* functions */
|
||||
|
||||
void ITRON_Init( void );
|
||||
void Preempt_task(void);
|
||||
void Task_1(void);
|
||||
void Task_2(void);
|
||||
void Task_3(void);
|
||||
|
||||
/* configuration information */
|
||||
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER
|
||||
#define CONFIGURE_APPLICATION_NEEDS_CLOCK_DRIVER
|
||||
|
||||
#define CONFIGURE_MAXIMUM_ITRON_TASKS 6
|
||||
|
||||
#define CONFIGURE_ITRON_INIT_TASK_TABLE
|
||||
|
||||
#include <rtems/confdefs.h>
|
||||
|
||||
/* global variables */
|
||||
|
||||
#define PREEMPT_TASK_ID 2
|
||||
#define TA1_ID 3
|
||||
#define TA2_ID 4
|
||||
#define TA3_ID 5
|
||||
|
||||
|
||||
#define PREEMPT_PRIORITY 1
|
||||
TEST_EXTERN rtems_id Global_variable; /* example global variable */
|
||||
|
||||
/* end of include file */
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user