Changeset a7156d1 in rtems


Ignore:
Timestamp:
Jun 3, 1997, 4:00:00 PM (23 years ago)
Author:
Joel Sherrill <joel.sherrill@…>
Branches:
4.10, 4.11, 4.8, 4.9, 5, master
Children:
87e951a2
Parents:
98150020
Message:

Modifed to make the test run to completion. Primarily provided
the Buffer type and support routines although some work was
required to account for the directives which required message
size information.

Location:
c/src/ada-tests/sptests/sp13
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • c/src/ada-tests/sptests/sp13/sptest.adb

    r98150020 ra7156d1  
    2222--
    2323
    24 with BSP;
    2524with INTERFACES; use INTERFACES;
    2625with RTEMS;
     
    112111      RTEMS.MESSAGE_QUEUE_CREATE(
    113112         SPTEST.QUEUE_NAME( 1 ),
    114          0,
     113         100,
     114         16,
    115115         RTEMS.DEFAULT_ATTRIBUTES,
    116116         SPTEST.QUEUE_ID( 1 ),
     
    122122         SPTEST.QUEUE_NAME( 2 ),
    123123         10,
    124          RTEMS.PRIORITY + RTEMS.LIMIT,
     124         16,
     125         RTEMS.PRIORITY,
    125126         SPTEST.QUEUE_ID( 2 ),
    126127         STATUS
     
    130131      RTEMS.MESSAGE_QUEUE_CREATE(
    131132         SPTEST.QUEUE_NAME( 3 ),
    132          0,
     133         100,
     134         16,
    133135         RTEMS.DEFAULT_ATTRIBUTES,
    134136         SPTEST.QUEUE_ID( 3 ),
     
    153155   procedure FILL_BUFFER (
    154156      SOURCE : in     STRING;
    155       BUFFER :    out RTEMS.BUFFER
     157      BUFFER :    out SPTEST.BUFFER
    156158   ) is
    157       SOURCE_BUFFER : RTEMS.BUFFER_POINTER;
    158159   begin
    159160
    160       SOURCE_BUFFER := RTEMS.TO_BUFFER_POINTER(
    161                           SOURCE( SOURCE'FIRST )'ADDRESS
    162                        );
    163 
    164       BUFFER.FIELD1 := SOURCE_BUFFER.FIELD1;
    165       BUFFER.FIELD2 := SOURCE_BUFFER.FIELD2;
    166       BUFFER.FIELD3 := SOURCE_BUFFER.FIELD3;
    167       BUFFER.FIELD4 := SOURCE_BUFFER.FIELD4;
    168      
     161      BUFFER.FIELD1 := RTEMS.BUILD_NAME(
     162         SOURCE( SOURCE'FIRST ),
     163         SOURCE( SOURCE'FIRST + 1 ),
     164         SOURCE( SOURCE'FIRST + 2 ),
     165         SOURCE( SOURCE'FIRST + 3 )
     166      );
     167
     168      BUFFER.FIELD2 := RTEMS.BUILD_NAME(
     169         SOURCE( SOURCE'FIRST + 4 ),
     170         SOURCE( SOURCE'FIRST + 5 ),
     171         SOURCE( SOURCE'FIRST + 6 ),
     172         SOURCE( SOURCE'FIRST + 7 )
     173      );
     174
     175      BUFFER.FIELD3 := RTEMS.BUILD_NAME(
     176         SOURCE( SOURCE'FIRST + 8 ),
     177         SOURCE( SOURCE'FIRST + 9 ),
     178         SOURCE( SOURCE'FIRST + 10 ),
     179         SOURCE( SOURCE'FIRST + 11 )
     180      );
     181
     182      BUFFER.FIELD4 := RTEMS.BUILD_NAME(
     183         SOURCE( SOURCE'FIRST + 12 ),
     184         SOURCE( SOURCE'FIRST + 13 ),
     185         SOURCE( SOURCE'FIRST + 14 ),
     186         SOURCE( SOURCE'FIRST + 15 )
     187      );
     188
    169189   end FILL_BUFFER;
    170190
     
    179199
    180200   procedure PUT_BUFFER (
    181       BUFFER : in     RTEMS.BUFFER
     201      BUFFER : in     SPTEST.BUFFER
    182202   ) is
    183203   begin
     
    199219   ) is
    200220      QID            : RTEMS.ID;
    201       BUFFER         : RTEMS.BUFFER;
    202       BUFFER_POINTER : RTEMS.BUFFER_POINTER;
     221      BUFFER         : SPTEST.BUFFER;
     222      BUFFER_POINTER : RTEMS.ADDRESS;
    203223      TIMES          : RTEMS.UNSIGNED32;
    204224      COUNT          : RTEMS.UNSIGNED32;
     225      MESSAGE_SIZE   : RTEMS.UNSIGNED32;
    205226      STATUS         : RTEMS.STATUS_CODES;
    206227   begin
    207228
    208       BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS );
     229      BUFFER_POINTER := BUFFER'ADDRESS;
    209230
    210231      RTEMS.MESSAGE_QUEUE_IDENT(
     
    224245         SPTEST.QUEUE_ID( 1 ),
    225246         BUFFER_POINTER,
     247         16,
    226248         STATUS
    227249      );
     
    233255         SPTEST.QUEUE_ID( 1 ),
    234256         BUFFER_POINTER,
     257         16,
    235258         STATUS
    236259      );
     
    246269         SPTEST.QUEUE_ID( 1 ),
    247270         BUFFER_POINTER,
     271         16,
    248272         STATUS
    249273      );
     
    261285         SPTEST.QUEUE_ID( 2 ),
    262286         BUFFER_POINTER,
     287         16,
    263288         STATUS
    264289      );
     
    274299         RTEMS.DEFAULT_OPTIONS,
    275300         10 * TEST_SUPPORT.TICKS_PER_SECOND,
     301         MESSAGE_SIZE,
    276302         STATUS
    277303      );
     
    290316         SPTEST.QUEUE_ID( 3 ),
    291317         BUFFER_POINTER,
     318         16,
    292319         STATUS
    293320      );
     
    305332         SPTEST.QUEUE_ID( 3 ),
    306333         BUFFER_POINTER,
     334         16,
    307335         STATUS
    308336      );
     
    314342         SPTEST.QUEUE_ID( 3 ),
    315343         BUFFER_POINTER,
     344         16,
    316345         STATUS
    317346      );
     
    323352         SPTEST.QUEUE_ID( 3 ),
    324353         BUFFER_POINTER,
     354         16,
    325355         STATUS
    326356      );
     
    332362         SPTEST.QUEUE_ID( 3 ),
    333363         BUFFER_POINTER,
     364         16,
    334365         STATUS
    335366      );
     
    347378            RTEMS.DEFAULT_OPTIONS,
    348379            RTEMS.NO_TIMEOUT,
     380            MESSAGE_SIZE,
    349381            STATUS
    350382         );
     
    360392         SPTEST.QUEUE_ID( 2 ),
    361393         BUFFER_POINTER,
     394         16,
    362395         STATUS
    363396      );
     
    373406         RTEMS.DEFAULT_OPTIONS,
    374407         RTEMS.NO_TIMEOUT,
     408         MESSAGE_SIZE,
    375409         STATUS
    376410      );
     
    391425         SPTEST.QUEUE_ID( 2 ),
    392426         BUFFER_POINTER,
     427         16,
    393428         STATUS
    394429      );
     
    411446         SPTEST.QUEUE_ID( 3 ),
    412447         BUFFER_POINTER,
     448         16,
    413449         STATUS
    414450      );
     
    420456         SPTEST.QUEUE_ID( 3 ),
    421457         BUFFER_POINTER,
     458         16,
    422459         STATUS
    423460      );
     
    429466         SPTEST.QUEUE_ID( 3 ),
    430467         BUFFER_POINTER,
     468         16,
    431469         STATUS
    432470      );
     
    448486            SPTEST.QUEUE_ID( 3 ),
    449487            BUFFER_POINTER,
     488            16,
    450489            STATUS
    451490         );
    452491         
    453          exit when RTEMS.ARE_STATUSES_EQUAL( STATUS, RTEMS.UNSATISFIED );
     492         exit when RTEMS.ARE_STATUSES_EQUAL( STATUS, RTEMS.TOO_MANY );
    454493
    455494         TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" );
    456495         
    457496      end loop;
     497
    458498      TEXT_IO.PUT_LINE(
    459499         "TA1 - message_queue_send - all message buffers consumed"
    460500      );
     501
    461502      TEXT_IO.PUT_LINE( "TA1 - message_queue_flush - Q 3" );
    462503      RTEMS.MESSAGE_QUEUE_FLUSH( SPTEST.QUEUE_ID( 3 ), COUNT, STATUS );
     
    466507      TEXT_IO.PUT_LINE( " messages were flushed from Q 3" );
    467508     
    468       if COUNT /= BSP.CONFIGURATION.MAXIMUM_MESSAGES then
    469          TEXT_IO.PUT( "TA1 - ERROR - " );
    470          UNSIGNED32_IO.PUT( COUNT, WIDTH => 3, BASE => 10 );
    471          TEXT_IO.PUT_LINE( " messages flushed" );
    472       end if;
     509      TEXT_IO.PUT( "TA1 - ERROR - " );
     510      UNSIGNED32_IO.PUT( COUNT, WIDTH => 3, BASE => 10 );
     511      TEXT_IO.PUT_LINE( " messages flushed" );
    473512
    474513      TEXT_IO.PUT_LINE( "*** END OF TEST 13 ***" );
     
    485524      ARGUMENT : in     RTEMS.TASK_ARGUMENT
    486525   ) is
    487       BUFFER            : RTEMS.BUFFER;
    488       BUFFER_POINTER    : RTEMS.BUFFER_POINTER;
     526      BUFFER            : SPTEST.BUFFER;
     527      BUFFER_POINTER    : RTEMS.ADDRESS;
    489528      PREVIOUS_PRIORITY : RTEMS.TASK_PRIORITY;
     529      MESSAGE_SIZE      : RTEMS.UNSIGNED32;
    490530      STATUS            : RTEMS.STATUS_CODES;
    491531   begin
    492532
    493       BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS );
     533      BUFFER_POINTER := BUFFER'ADDRESS;
    494534
    495535      TEXT_IO.PUT_LINE(
     
    501541         RTEMS.NO_WAIT,
    502542         RTEMS.NO_TIMEOUT,
     543         MESSAGE_SIZE,
    503544         STATUS
    504545      );
     
    516557         RTEMS.DEFAULT_OPTIONS,
    517558         RTEMS.NO_TIMEOUT,
     559         MESSAGE_SIZE,
    518560         STATUS
    519561      );
     
    531573         RTEMS.DEFAULT_OPTIONS,
    532574         RTEMS.NO_TIMEOUT,
     575         MESSAGE_SIZE,
    533576         STATUS
    534577      );
     
    557600         RTEMS.DEFAULT_OPTIONS,
    558601         RTEMS.NO_TIMEOUT,
     602         MESSAGE_SIZE,
    559603         STATUS
    560604      );
     
    569613         SPTEST.QUEUE_ID( 2 ),
    570614         BUFFER_POINTER,
     615         16,
    571616         STATUS
    572617      );
     
    581626         RTEMS.DEFAULT_OPTIONS,
    582627         10 * TEST_SUPPORT.TICKS_PER_SECOND,
     628         MESSAGE_SIZE,
    583629         STATUS
    584630      );
     
    596642         RTEMS.DEFAULT_OPTIONS,
    597643         RTEMS.NO_TIMEOUT,
     644         MESSAGE_SIZE,
    598645         STATUS
    599646      );
     
    613660      ARGUMENT : in     RTEMS.TASK_ARGUMENT
    614661   ) is
    615       BUFFER         : RTEMS.BUFFER;
    616       BUFFER_POINTER : RTEMS.BUFFER_POINTER;
     662      BUFFER         : SPTEST.BUFFER;
     663      BUFFER_POINTER : RTEMS.ADDRESS;
    617664      COUNT          : RTEMS.UNSIGNED32;
     665      MESSAGE_SIZE   : RTEMS.UNSIGNED32;
    618666      STATUS         : RTEMS.STATUS_CODES;
    619667   begin
    620668
    621       BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS );
     669      BUFFER_POINTER := BUFFER'ADDRESS;
    622670
    623671      TEXT_IO.PUT_LINE(
     
    629677         RTEMS.DEFAULT_OPTIONS,
    630678         RTEMS.NO_TIMEOUT,
     679         MESSAGE_SIZE,
    631680         STATUS
    632681      );
     
    641690         SPTEST.QUEUE_ID( 1 ),
    642691         BUFFER_POINTER,
     692         16,
    643693         COUNT,
    644694         STATUS
     
    657707         RTEMS.DEFAULT_OPTIONS,
    658708         RTEMS.NO_TIMEOUT,
     709         MESSAGE_SIZE,
    659710         STATUS
    660711      );
  • c/src/ada-tests/sptests/sp13/sptest.ads

    r98150020 ra7156d1  
    2525
    2626package SPTEST is
     27
     28--
     29--  Buffer Record similar to that used by RTEMS 3.2.1.  Using this
     30--  avoids changes to the test.
     31--
     32
     33   type BUFFER is
     34      record
     35         FIELD1 : RTEMS.NAME;   -- TEMPORARY UNTIL VARIABLE LENGTH
     36         FIELD2 : RTEMS.NAME;
     37         FIELD3 : RTEMS.NAME;
     38         FIELD4 : RTEMS.NAME;
     39      end record;
    2740
    2841--
     
    6679   procedure FILL_BUFFER (
    6780      SOURCE : in     STRING;
    68       BUFFER :    out RTEMS.BUFFER
     81      BUFFER :    out SPTEST.BUFFER
    6982   );
    7083
     
    7891
    7992   procedure PUT_BUFFER (
    80       BUFFER : in     RTEMS.BUFFER
     93      BUFFER : in     SPTEST.BUFFER
    8194   );
    8295
Note: See TracChangeset for help on using the changeset viewer.