diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-10-12 10:00:10 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-10-12 10:53:16 +0200 |
commit | ee537ea3dd964d4de3565a36b4857af31fb5a3f4 (patch) | |
tree | ad8b328a58469ca0632e3e61cd94f37c9d97cc25 /c/src/ada-tests/tmtests/tm23 | |
parent | ada-tests: Use _SUBDIRS instead of SUBDIRS (diff) | |
download | rtems-ee537ea3dd964d4de3565a36b4857af31fb5a3f4.tar.bz2 |
ada-tests: Move to testsuites/ada
This solves a build dependency issue, e.g. building tests before
librtemsbsp.a exists.
Close #3079.
Diffstat (limited to 'c/src/ada-tests/tmtests/tm23')
-rw-r--r-- | c/src/ada-tests/tmtests/tm23/Makefile.am | 13 | ||||
-rw-r--r-- | c/src/ada-tests/tmtests/tm23/config.h | 32 | ||||
-rw-r--r-- | c/src/ada-tests/tmtests/tm23/tm23.adb | 55 | ||||
-rw-r--r-- | c/src/ada-tests/tmtests/tm23/tmtest.adb | 388 | ||||
-rw-r--r-- | c/src/ada-tests/tmtests/tm23/tmtest.ads | 132 |
5 files changed, 0 insertions, 620 deletions
diff --git a/c/src/ada-tests/tmtests/tm23/Makefile.am b/c/src/ada-tests/tmtests/tm23/Makefile.am deleted file mode 100644 index 04800ceb24..0000000000 --- a/c/src/ada-tests/tmtests/tm23/Makefile.am +++ /dev/null @@ -1,13 +0,0 @@ -include $(RTEMS_ROOT)/make/custom/@RTEMS_BSP@.cfg -include $(top_srcdir)/../../../testsuites/automake/compile.am - -include $(top_srcdir)/ada.am - -noinst_PROGRAMS = ada_tm23 -ada_tm23_SOURCES = tm23.adb config.h tmtest.adb tmtest.ads -ada_tm23_SOURCES += ../../support/init.c - -ada_tm23$(EXEEXT): tm23.adb init.$(OBJEXT) - $(GNATCOMPILE) -margs -a $< -o $@ - -include $(top_srcdir)/../../../testsuites/automake/local.am diff --git a/c/src/ada-tests/tmtests/tm23/config.h b/c/src/ada-tests/tmtests/tm23/config.h deleted file mode 100644 index 15e3e1ccf6..0000000000 --- a/c/src/ada-tests/tmtests/tm23/config.h +++ /dev/null @@ -1,32 +0,0 @@ -/* config.h - * - * This include file defines the Configuration Table for this test. - * - * COPYRIGHT (c) 1989-1997. - * On-Line Applications Research Corporation (OAR). - * - * The license and distribution terms for this file may in - * the file LICENSE in this distribution or at - * http://www.rtems.org/license/LICENSE. - */ - - -/* configuration information */ - -#define CONFIGURE_TMTEST - -#define CONFIGURE_APPLICATION_NEEDS_CONSOLE_DRIVER -#define CONFIGURE_APPLICATION_NEEDS_TIMER_DRIVER - -#define CONFIGURE_MAXIMUM_TASKS 111 -#define CONFIGURE_MAXIMUM_TIMERS 110 -#define CONFIGURE_TICKS_PER_TIMESLICE 0 - -#define CONFIGURE_POSIX_INIT_THREAD_TABLE - -#define CONFIGURE_MAXIMUM_POSIX_THREADS 10 -#define CONFIGURE_MAXIMUM_POSIX_KEYS 10 - -#include <rtems/confdefs.h> - -/* end of include file */ diff --git a/c/src/ada-tests/tmtests/tm23/tm23.adb b/c/src/ada-tests/tmtests/tm23/tm23.adb deleted file mode 100644 index 5e345c958a..0000000000 --- a/c/src/ada-tests/tmtests/tm23/tm23.adb +++ /dev/null @@ -1,55 +0,0 @@ --- --- MAIN / BODY --- --- DESCRIPTION: --- --- This is the entry point for Test TM23 of the Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-2011. --- On-Line Applications Research Corporation (OAR). --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.rtems.org/license/LICENSE. --- - -with RTEMS; -with RTEMS.TASKS; -with TMTEST; -with TEST_SUPPORT; - -procedure TM23 is - INIT_ID : RTEMS.ID; - STATUS : RTEMS.STATUS_CODES; -begin - - RTEMS.TASKS.CREATE( - RTEMS.BUILD_NAME( 'I', 'N', 'I', 'T' ), - 1, - RTEMS.MINIMUM_STACK_SIZE, - RTEMS.NO_PREEMPT, - RTEMS.DEFAULT_ATTRIBUTES, - INIT_ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE OF INIT" ); - - - RTEMS.TASKS.START( - INIT_ID, - TMTEST.INIT'ACCESS, - 0, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF INIT" ); - - loop - delay 120.0; - end loop; - -end TM23; - diff --git a/c/src/ada-tests/tmtests/tm23/tmtest.adb b/c/src/ada-tests/tmtests/tm23/tmtest.adb deleted file mode 100644 index 4b5a26f777..0000000000 --- a/c/src/ada-tests/tmtests/tm23/tmtest.adb +++ /dev/null @@ -1,388 +0,0 @@ --- --- TMTEST / BODY --- --- DESCRIPTION: --- --- This package is the implementation of Test 23 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-2011. --- On-Line Applications Research Corporation (OAR). --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.rtems.org/license/LICENSE. --- - -with INTERFACES; use INTERFACES; -with RTEMS_CALLING_OVERHEAD; -with TEST_SUPPORT; -with TEXT_IO; -with TIMER_DRIVER; -with RTEMS.CLOCK; -with RTEMS.TIMER; - -package body TMTEST is - --- --- INIT --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASKS.ARGUMENT - ) is - pragma Unreferenced(ARGUMENT); - TASK_PRIORITY : RTEMS.TASKS.PRIORITY; - ID : RTEMS.ID; - TASK_ENTRY : RTEMS.TASKS.ENTRY_POINT; - STATUS : RTEMS.STATUS_CODES; - begin - - TEXT_IO.NEW_LINE( 2 ); - TEXT_IO.PUT_LINE( "*** TIME TEST 23 ***" ); - - TASK_PRIORITY := 5; - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - - RTEMS.TASKS.CREATE( - RTEMS.BUILD_NAME( 'T', 'I', 'M', 'E' ), - TASK_PRIORITY, - 1024, - RTEMS.DEFAULT_MODES, - RTEMS.DEFAULT_ATTRIBUTES, - ID, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_CREATE LOOP" ); - - if INDEX = 1 then - TASK_ENTRY := TMTEST.HIGH_TASK'ACCESS; - elsif INDEX = TIME_TEST_SUPPORT.OPERATION_COUNT then - TASK_ENTRY := TMTEST.LOW_TASK'ACCESS; - else - TASK_ENTRY := TMTEST.MIDDLE_TASKS'ACCESS; - end if; - - RTEMS.TASKS.START( ID, TASK_ENTRY, 0, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START LOOP" ); - - TASK_PRIORITY := TASK_PRIORITY + 1; - - end loop; - - RTEMS.TASKS.DELETE( RTEMS.SELF, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_DELETE OF SELF" ); - - end INIT; - --- --- NULL_DELAY --- - - procedure NULL_DELAY ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ) is - begin - - NULL; - - end NULL_DELAY; - --- --- HIGH_TASK --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASKS.ARGUMENT - ) is - pragma Unreferenced(ARGUMENT); - OVERHEAD : RTEMS.UNSIGNED32; - STATUS : RTEMS.STATUS_CODES; - begin - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - TIMER_DRIVER.EMPTY_FUNCTION; - end loop; - OVERHEAD := TIMER_DRIVER.READ_TIMER; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER.CREATE( - INDEX, - TMTEST.TIMER_ID( INDEX ), - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_CREATE", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_CREATE - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER.FIRE_AFTER( - TMTEST.TIMER_ID( INDEX ), - 500, - TMTEST.NULL_DELAY'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_FIRE_AFTER (inactive)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - OVERHEAD, - RTEMS_CALLING_OVERHEAD.TIMER_FIRE_AFTER - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER.FIRE_AFTER( - TMTEST.TIMER_ID( INDEX ), - 500, - TMTEST.NULL_DELAY'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_FIRE_AFTER (active)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_FIRE_AFTER - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER.CANCEL( TMTEST.TIMER_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_CANCEL (active)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_CANCEL - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER.CANCEL( TMTEST.TIMER_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_CANCEL (inactive)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_CANCEL - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER.RESET( TMTEST.TIMER_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_RESET (inactive)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_RESET - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER.RESET( TMTEST.TIMER_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_RESET (active)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_RESET - ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER.CANCEL( TMTEST.TIMER_ID( INDEX ), STATUS ); - end loop; - - TMTEST.TIME_OF_DAY := ( 1988, 12, 31, 9, 0, 0, 0 ); - - RTEMS.CLOCK.SET( TMTEST.TIME_OF_DAY, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "CLOCK_SET" ); - - TMTEST.TIME_OF_DAY.YEAR := 1989; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER.FIRE_WHEN( - TMTEST.TIMER_ID( INDEX ), - TMTEST.TIME_OF_DAY, - TMTEST.NULL_DELAY'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_FIRE_WHEN (inactive)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_FIRE_WHEN - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER.FIRE_WHEN( - TMTEST.TIMER_ID( INDEX ), - TMTEST.TIME_OF_DAY, - TMTEST.NULL_DELAY'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_FIRE_WHEN (active)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_FIRE_WHEN - ); - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER.DELETE( TMTEST.TIMER_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_DELETE (active)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_DELETE - ); - - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER.CREATE( INDEX, TMTEST.TIMER_ID( INDEX ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CREATE" ); - - RTEMS.TIMER.FIRE_AFTER( - TMTEST.TIMER_ID( INDEX ), - 500, - TMTEST.NULL_DELAY'ACCESS, - RTEMS.NULL_ADDRESS, - STATUS - ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_FIRE_AFTER" ); - - RTEMS.TIMER.CANCEL( TMTEST.TIMER_ID( INDEX ), STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TIMER_CANCEL" ); - - end loop; - - TIMER_DRIVER.INITIALIZE; - for INDEX in 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT - loop - RTEMS.TIMER.DELETE( TMTEST.TIMER_ID( INDEX ), STATUS ); - end loop; - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TIMER_DELETE (inactive)", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TIMER_DELETE - ); - - TIMER_DRIVER.INITIALIZE; - RTEMS.TASKS.WAKE_WHEN( TMTEST.TIME_OF_DAY, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_WHEN" ); - - end HIGH_TASK; - --- --- MIDDLE_TASKS --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASKS.ARGUMENT - ) is - pragma Unreferenced(ARGUMENT); - STATUS : RTEMS.STATUS_CODES; - begin - - RTEMS.TASKS.WAKE_WHEN( TMTEST.TIME_OF_DAY, STATUS ); - TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_WHEN" ); - - end MIDDLE_TASKS; - --- --- LOW_TASK --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASKS.ARGUMENT - ) is - pragma Unreferenced(ARGUMENT); - begin - - TMTEST.END_TIME := TIMER_DRIVER.READ_TIMER; - - TIME_TEST_SUPPORT.PUT_TIME( - "TASK_WAKE_WHEN", - TMTEST.END_TIME, - TIME_TEST_SUPPORT.OPERATION_COUNT, - 0, - RTEMS_CALLING_OVERHEAD.TASK_WAKE_WHEN - ); - - TEXT_IO.PUT_LINE( "*** END OF TIME TEST 23 ***" ); - RTEMS.SHUTDOWN_EXECUTIVE( 0 ); - - end LOW_TASK; - -end TMTEST; diff --git a/c/src/ada-tests/tmtests/tm23/tmtest.ads b/c/src/ada-tests/tmtests/tm23/tmtest.ads deleted file mode 100644 index 6e567007ca..0000000000 --- a/c/src/ada-tests/tmtests/tm23/tmtest.ads +++ /dev/null @@ -1,132 +0,0 @@ --- --- TMTEST / SPECIFICATION --- --- DESCRIPTION: --- --- This package is the specification for Test 23 of the RTEMS --- Timing Test Suite. --- --- DEPENDENCIES: --- --- --- --- COPYRIGHT (c) 1989-2011. --- On-Line Applications Research Corporation (OAR). --- --- The license and distribution terms for this file may in --- the file LICENSE in this distribution or at --- http://www.rtems.org/license/LICENSE. --- - -with TIME_TEST_SUPPORT; -with RTEMS; -with RTEMS.TASKS; - -package TMTEST is - --- --- This array contains the IDs of all RTEMS timers created by this test. --- - - TIMER_ID : array ( RTEMS.UNSIGNED32 - range 1 .. TIME_TEST_SUPPORT.OPERATION_COUNT ) of RTEMS.ID; - --- --- This data item contains a time of day used by all of the --- "WHEN" directives timed in this test. --- - - TIME_OF_DAY : RTEMS.TIME_OF_DAY; - --- --- The following variable is set to the execution time returned --- by the timer. --- - - END_TIME : RTEMS.UNSIGNED32; - --- --- INIT --- --- DESCRIPTION: --- --- This RTEMS task initializes the application. --- - - procedure INIT ( - ARGUMENT : in RTEMS.TASKS.ARGUMENT - ); - pragma Convention (C, INIT); - --- --- NULL_DELAY --- --- DESCRIPTION: --- --- This subprogram is a timer service routine. It performs --- no actions. --- - - procedure NULL_DELAY ( - IGNORED_ID : in RTEMS.ID; - IGNORED_ADDRESS : in RTEMS.ADDRESS - ); - pragma Convention (C, NULL_DELAY); - --- --- HIGH_TASK --- --- DESCRIPTION: --- --- This RTEMS task is responsible for measuring and reporting --- the following directive execution times: --- --- + TIMER_CREATE --- + TIMER_FIRE_AFTER with an inactive timer --- + TIMER_FIRE_AFTER with an active timer --- + TIMER_CANCEL of an active timer --- + TIMER_CANCEL of an inactive timer --- + TIMER_RESET of an active timer --- + TIMER_RESET of an inactive timer --- + TIMER_FIRE_WHEN of an inactive timer --- + TIMER_FIRE_WHEN of an active timer --- + TIMER_DELETE of an active timer --- + TIMER_DELETE of an inactive timer --- --- After measuring and reporting the above times, this task starts --- the timer and executes the TASK_WAKE_WHEN directive. --- - - procedure HIGH_TASK ( - ARGUMENT : in RTEMS.TASKS.ARGUMENT - ); - pragma Convention (C, HIGH_TASK); - --- --- MIDDLE_TASKS --- --- DESCRIPTION: --- --- These RTEMS tasks executes the TASK_WAKE_WHEN directive. --- - - procedure MIDDLE_TASKS ( - ARGUMENT : in RTEMS.TASKS.ARGUMENT - ); - pragma Convention (C, MIDDLE_TASKS); - --- --- LOW_TASK --- --- DESCRIPTION: --- --- This RTEMS task stops the timer and reports the execution time for --- the TASK_WAKE_WHEN directive. --- - - procedure LOW_TASK ( - ARGUMENT : in RTEMS.TASKS.ARGUMENT - ); - pragma Convention (C, LOW_TASK); - -end TMTEST; |