--
-- SPTEST / BODY
--
-- DESCRIPTION:
--
-- This package is the implementation of Test 1 of the RTEMS
-- Single Processor Test Suite.
--
-- DEPENDENCIES:
--
--
--
-- COPYRIGHT (c) 1989-1997.
-- On-Line Applications Research Corporation (OAR).
-- Copyright assigned to U.S. Government, 1994.
--
-- The license and distribution terms for this file may in
-- the file LICENSE in this distribution or at
-- http://www.OARcorp.com/rtems/license.html.
--
-- $Id$
--
with INTERFACES; use INTERFACES;
with RTEMS;
with RTEMS_TEST_SUPPORT;
with TEST_SUPPORT;
with TEXT_IO;
with UNSIGNED32_IO;
package body SPTEST is
--PAGE
--
-- INIT
--
procedure INIT (
ARGUMENT : in RTEMS.TASK_ARGUMENT
) is
STATUS : RTEMS.STATUS_CODES;
begin
TEXT_IO.NEW_LINE( 2 );
TEXT_IO.PUT_LINE( "*** TEST SIZE ***" );
SPTEST.PUT_SIZE(
"Tasks",
TRUE,
"maximum_tasks",
RTEMS_TEST_SUPPORT.PER_TASK
);
SPTEST.PUT_SIZE(
"Timers",
TRUE,
"maximum_timers",
RTEMS_TEST_SUPPORT.PER_TIMER
);
SPTEST.PUT_SIZE(
"Semaphores",
TRUE,
"maximum_semaphores",
RTEMS_TEST_SUPPORT.PER_SEMAPHORE
);
SPTEST.PUT_SIZE(
"Message Queues",
TRUE,
"maximum_message_queues",
RTEMS_TEST_SUPPORT.PER_MESSAGE_QUEUE
);
SPTEST.PUT_SIZE(
"Messages",
TRUE,
"maximum_messages",
RTEMS_TEST_SUPPORT.PER_MESSAGE
);
SPTEST.PUT_SIZE(
"Regions",
TRUE,
"maximum_regions",
RTEMS_TEST_SUPPORT.PER_REGION
);
SPTEST.PUT_SIZE(
"Partitions",
TRUE,
"maximum_paritions",
RTEMS_TEST_SUPPORT.PER_PARTITION
);
SPTEST.PUT_SIZE(
"Ports",
TRUE,
"maximum_ports",
RTEMS_TEST_SUPPORT.PER_PORT
);
SPTEST.PUT_SIZE(
"Periods",
TRUE,
"maximum_periods",
RTEMS_TEST_SUPPORT.PER_PERIOD
);
SPTEST.PUT_SIZE(
"Extensions",
TRUE,
"maximum_extensions",
RTEMS_TEST_SUPPORT.PER_EXTENSION
);
SPTEST.PUT_SIZE(
"Device Drivers",
TRUE,
"number_of_device_drivers",
RTEMS_TEST_SUPPORT.PER_DRIVER
);
SPTEST.PUT_SIZE(
"System Requirements",
FALSE,
REQUIREMENT => RTEMS_TEST_SUPPORT.SYSTEM_REQUIREMENTS
);
SPTEST.PUT_SIZE(
"Floating Point Tasks",
TRUE,
"FP attributes",
RTEMS_TEST_SUPPORT.PER_FP_TASK
);
TEXT_IO.PUT_LINE( "User's Tasks' Stacks - " );
TEXT_IO.NEW_LINE;
TEXT_IO.PUT_LINE( "Interrupt Stacks - " );
TEXT_IO.NEW_LINE;
SPTEST.PUT_SIZE(
"Global object tables",
TRUE,
"maximum_nodes",
RTEMS_TEST_SUPPORT.PER_NODE
);
SPTEST.PUT_SIZE(
"Global objects",
TRUE,
"maximum_global_objects",
RTEMS_TEST_SUPPORT.PER_GLOBAL_OBJECT
);
SPTEST.PUT_SIZE(
"Proxies",
TRUE,
"maximum_proxies",
RTEMS_TEST_SUPPORT.PER_PROXY
);
TEXT_IO.PUT_LINE( "*** END OF TEST SIZE ***" );
RTEMS.SHUTDOWN_EXECUTIVE( 0 );
end INIT;
--PAGE
--
-- PUT_SIZE
--
procedure PUT_SIZE (
DESCRIPTION : in STRING;
HAS_FIELD_NAME : in BOOLEAN;
FIELD_NAME : in STRING := "";
REQUIREMENT : in RTEMS.UNSIGNED32 := 0
) is
SPACES : constant STRING := " ";
begin
-- 21 is length of longest description (task's stacks)
TEXT_IO.PUT( DESCRIPTION );
TEXT_IO.PUT( SPACES( 1 .. 21 - DESCRIPTION'LENGTH ) );
TEXT_IO.PUT( " - " );
if HAS_FIELD_NAME = TRUE then
TEXT_IO.PUT( FIELD_NAME );
TEXT_IO.PUT( " * " );
end if;
UNSIGNED32_IO.PUT( REQUIREMENT );
TEXT_IO.NEW_LINE;
end PUT_SIZE;
end SPTEST;