summaryrefslogtreecommitdiffstats
path: root/c/src/ada-tests/tmtests/tm23
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2017-10-12 10:00:10 +0200
committerSebastian Huber <sebastian.huber@embedded-brains.de>2017-10-12 10:53:16 +0200
commitee537ea3dd964d4de3565a36b4857af31fb5a3f4 (patch)
treead8b328a58469ca0632e3e61cd94f37c9d97cc25 /c/src/ada-tests/tmtests/tm23
parentada-tests: Use _SUBDIRS instead of SUBDIRS (diff)
downloadrtems-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.am13
-rw-r--r--c/src/ada-tests/tmtests/tm23/config.h32
-rw-r--r--c/src/ada-tests/tmtests/tm23/tm23.adb55
-rw-r--r--c/src/ada-tests/tmtests/tm23/tmtest.adb388
-rw-r--r--c/src/ada-tests/tmtests/tm23/tmtest.ads132
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;