📄 sptest.adb
字号:
end loop; TEXT_IO.PUT( "TA1 - rate_monotonic_period( STATUS ) - " ); TEXT_IO.PUT_LINE( "TIMEOUT" ); RTEMS.RATE_MONOTONIC_CANCEL( 100, STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.INVALID_ID, "RATE_MONOTONIC_CANCEL WITH ILLEGAL ID" ); TEXT_IO.PUT_LINE( "TA1 - rate_monotonic_cancel - unknown INVALID_ID" ); RTEMS.RATE_MONOTONIC_CANCEL( 16#10100#, STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.INVALID_ID, "RATE_MONOTONIC_CANCEL WITH ILLEGAL ID" ); TEXT_IO.PUT_LINE( "TA1 - rate_monotonic_cancel - local INVALID_ID" ); RTEMS.RATE_MONOTONIC_CANCEL( SPTEST.PERIOD_ID( 1 ), STATUS ); TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "RATE_MONOTONIC_CANCEL" ); TEXT_IO.PUT_LINE( "TA1 - rate_monotonic_cancel - SUCCESSFUL" ); RTEMS.RATE_MONOTONIC_PERIOD( SPTEST.PERIOD_ID( 1 ), 5, STATUS ); TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "RATE_MONOTONIC_PERIOD RESTART" ); RTEMS.TASK_WAKE_AFTER( TEST_SUPPORT.TICKS_PER_SECOND, STATUS ); TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER" ); RTEMS.RATE_MONOTONIC_PERIOD( SPTEST.PERIOD_ID( 1 ), 5, STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.TIMEOUT, "RATE_MONOTONIC_PERIOD TIMED OUT" ); TEXT_IO.PUT_LINE( "TA1 - rate_monotonic_period - 5 ticks - TIMEOUT" ); RTEMS.TASK_START( SPTEST.TASK_ID( 4 ), SPTEST.TASK_4'ACCESS, 0, STATUS ); TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_START OF TA4" ); TEXT_IO.PUT_LINE( "TA1 - task_wake_after - yielding to TA4" ); RTEMS.TASK_WAKE_AFTER( RTEMS.YIELD_PROCESSOR, STATUS ); TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "TASK_WAKE_AFTER (yield)" ); RTEMS.RATE_MONOTONIC_DELETE( 100, STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.INVALID_ID, "RATE_MONOTONIC_DELETE WITH ILLEGAL ID" ); TEXT_IO.PUT_LINE( "TA1 - rate_monotonic_delete - unknown INVALID_ID" ); RTEMS.RATE_MONOTONIC_DELETE( 16#10100#, STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.INVALID_ID, "RATE_MONOTONIC_DELETE WITH ILLEGAL ID" ); TEXT_IO.PUT_LINE( "TA1 - rate_monotonic_delete - local INVALID_ID" ); RTEMS.RATE_MONOTONIC_DELETE( SPTEST.PERIOD_ID( 1 ), STATUS ); TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "RATE_MONOTONIC_DELETE" ); TEXT_IO.PUT_LINE( "TA1 - rate_monotonic_delete - SUCCESSFUL" ); end SCREEN_10;--PAGE-- -- SCREEN_11-- procedure SCREEN_11 is BUFFER_ADDRESS_1 : RTEMS.ADDRESS; BUFFER_ADDRESS_2 : RTEMS.ADDRESS; BUFFER_ADDRESS_3 : RTEMS.ADDRESS; STATUS : RTEMS.STATUS_CODES; begin RTEMS.PARTITION_CREATE( 0, SPTEST.PARTITION_GOOD_AREA'ADDRESS, 128, 40, RTEMS.DEFAULT_ATTRIBUTES, SPTEST.JUNK_ID, STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.INVALID_NAME, "PARTITION_CREATE WITH ILLEGAL NAME" ); TEXT_IO.PUT_LINE( "TA1 - partition_create - INVALID_NAME" ); RTEMS.PARTITION_CREATE( SPTEST.PARTITION_NAME( 1 ), SPTEST.PARTITION_GOOD_AREA'ADDRESS, 0, 80, RTEMS.DEFAULT_ATTRIBUTES, SPTEST.JUNK_ID, STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.INVALID_SIZE, "PARTITION_CREATE WITH ILLEGAL LENGTH" ); TEXT_IO.PUT_LINE( "TA1 - partition_create - length - INVALID_SIZE" ); RTEMS.PARTITION_CREATE( SPTEST.PARTITION_NAME( 1 ), SPTEST.PARTITION_GOOD_AREA'ADDRESS, 128, 0, RTEMS.DEFAULT_ATTRIBUTES, SPTEST.JUNK_ID, STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.INVALID_SIZE, "PARTITION_CREATE WITH ILLEGAL BUFFER_SIZE" ); TEXT_IO.PUT_LINE( "TA1 - partition_create - buffer size - INVALID_SIZE" ); RTEMS.PARTITION_CREATE( SPTEST.PARTITION_NAME( 1 ), SPTEST.PARTITION_GOOD_AREA'ADDRESS, 128, 256, RTEMS.DEFAULT_ATTRIBUTES, SPTEST.JUNK_ID, STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.INVALID_SIZE, "PARTITION_CREATE WITH BUFFER_SIZE > LENGTH" ); TEXT_IO.PUT_LINE( "TA1 - partition_create - length < buffer size - INVALID_SIZE" ); RTEMS.PARTITION_CREATE( SPTEST.PARTITION_NAME( 1 ), SPTEST.PARTITION_GOOD_AREA'ADDRESS, 128, 64, RTEMS.GLOBAL, SPTEST.JUNK_ID, STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.MP_NOT_CONFIGURED, "PARTITION_CREATE OF GLOBAL" ); TEXT_IO.PUT_LINE("TA1 - partition_create - MP_NOT_CONFIGURED"); RTEMS.PARTITION_CREATE( SPTEST.PARTITION_NAME( 1 ), SPTEST.PARTITION_BAD_AREA'ADDRESS, 128, 64, RTEMS.DEFAULT_ATTRIBUTES, SPTEST.JUNK_ID, STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.INVALID_ADDRESS, "PARTITION_CREATE WITH BAD ADDRESS" ); TEXT_IO.PUT_LINE( "TA1 - partition_create - INVALID_ADDRESS" ); RTEMS.PARTITION_CREATE( SPTEST.PARTITION_NAME( 1 ), SPTEST.PARTITION_GOOD_AREA'ADDRESS, 128, 34, RTEMS.DEFAULT_ATTRIBUTES, SPTEST.JUNK_ID, STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.INVALID_SIZE, "PARTITION_CREATE WITH UNALIGNED BUFFER_SIZE" ); TEXT_IO.PUT_LINE( "TA1 - partition_create - INVALID_SIZE" ); RTEMS.PARTITION_DELETE( 100, STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.INVALID_ID, "PARTITION_DELETE WITH ILLEGAL ID" ); TEXT_IO.PUT_LINE( "TA1 - partition_delete - unknown INVALID_ID" ); RTEMS.PARTITION_DELETE( 16#10100#, STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.INVALID_ID, "PARTITION_DELETE WITH ILLEGAL ID" ); TEXT_IO.PUT_LINE( "TA1 - partition_delete - local INVALID_ID" ); RTEMS.PARTITION_GET_BUFFER( 100, BUFFER_ADDRESS_1, STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.INVALID_ID, "PARTITION_GET_BUFFER WITH ILLEGAL ID" ); TEXT_IO.PUT_LINE( "TA1 - partition_get_buffer - INVALID_ID" ); RTEMS.PARTITION_IDENT( 0, RTEMS.SEARCH_ALL_NODES, SPTEST.JUNK_ID, STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.INVALID_NAME, "PARTITION_IDENT WITH ILLEGAL NAME" ); TEXT_IO.PUT_LINE( "TA1 - partition_ident - INVALID_NAME" ); RTEMS.PARTITION_RETURN_BUFFER( 100, BUFFER_ADDRESS_1, STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.INVALID_ID, "PARTITION_RETURN WITH ILLEGAL ID" ); TEXT_IO.PUT_LINE( "TA1 - partition_return_buffer - INVALID_ID" ); RTEMS.PARTITION_CREATE( SPTEST.PARTITION_NAME( 1 ), SPTEST.PARTITION_GOOD_AREA'ADDRESS, 128, 64, RTEMS.DEFAULT_ATTRIBUTES, SPTEST.PARTITION_ID( 1 ), STATUS ); TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_CREATE" ); TEXT_IO.PUT_LINE( "TA1 - partition_create - SUCCESSFUL" ); RTEMS.PARTITION_CREATE( SPTEST.PARTITION_NAME( 1 ), SPTEST.PARTITION_GOOD_AREA'ADDRESS, 128, 64, RTEMS.DEFAULT_ATTRIBUTES, SPTEST.JUNK_ID, STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.TOO_MANY, "PARTITION_CREATE OF TOO MANY" ); TEXT_IO.PUT_LINE( "TA1 - partition_create - TOO_MANY" ); RTEMS.PARTITION_GET_BUFFER( SPTEST.PARTITION_ID( 1 ), BUFFER_ADDRESS_1, STATUS ); TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_GET_BUFFER" ); TEXT_IO.PUT_LINE( "TA1 - partition_get_buffer - SUCCESSFUL" ); RTEMS.PARTITION_GET_BUFFER( SPTEST.PARTITION_ID( 1 ), BUFFER_ADDRESS_2, STATUS ); TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "PARTITION_GET_BUFFER" ); TEXT_IO.PUT_LINE( "TA1 - partition_get_buffer - SUCCESSFUL" ); RTEMS.PARTITION_GET_BUFFER( SPTEST.PARTITION_ID( 1 ), BUFFER_ADDRESS_3, STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.UNSATISFIED, "PARTITION_GET_BUFFER UNSATISFIED" ); TEXT_IO.PUT_LINE( "TA1 - partition_get_buffer - UNSATISFIED" ); RTEMS.PARTITION_DELETE( SPTEST.PARTITION_ID( 1 ), STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.RESOURCE_IN_USE, "PARTITION_DELETE WITH BUFFERS IN USE" ); TEXT_IO.PUT_LINE( "TA1 - partition_delete - RESOURCE_IN_USE" ); RTEMS.PARTITION_RETURN_BUFFER( SPTEST.PARTITION_ID( 1 ), SPTEST.REGION_GOOD_AREA( 0 )'ADDRESS, -- NOTE: REGION STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.INVALID_ADDRESS, "PARTITION_RETURN WITH BUFFER ADDRESS OUT OF PARTITION" ); TEXT_IO.PUT( "TA1 - partition_return_buffer - " ); TEXT_IO.PUT_LINE( "INVALID_ADDRESS - out of range" ); RTEMS.PARTITION_RETURN_BUFFER( SPTEST.PARTITION_ID( 1 ), SPTEST.PARTITION_GOOD_AREA( 7 )'ADDRESS, STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.INVALID_ADDRESS, "PARTITION_RETURN WITH BUFFER ADDRESS NOT ON BOUNDARY" ); TEXT_IO.PUT( "TA1 - partition_return_buffer - " ); TEXT_IO.PUT_LINE( "INVALID_ADDRESS - not on boundary" ); end SCREEN_11;--PAGE-- -- SCREEN_12-- procedure SCREEN_12 is SEGMENT_ADDRESS_1 : RTEMS.ADDRESS; SEGMENT_ADDRESS_2 : RTEMS.ADDRESS; SEGMENT_ADDRESS_3 : RTEMS.ADDRESS; OFFSET : RTEMS.UNSIGNED32; GOOD_FRONT_FLAG : RTEMS.UNSIGNED32; GOOD_BACK_FLAG : RTEMS.UNSIGNED32; STATUS : RTEMS.STATUS_CODES; begin RTEMS.REGION_CREATE( 0, SPTEST.REGION_GOOD_AREA'ADDRESS, 16#40#, 32, RTEMS.DEFAULT_ATTRIBUTES, SPTEST.JUNK_ID, STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.INVALID_NAME, "REGION_CREATE WITH ILLEGAL NAME" ); TEXT_IO.PUT_LINE( "TA1 - region_create - INVALID_NAME" ); RTEMS.REGION_CREATE( SPTEST.REGION_NAME( 1 ), SPTEST.REGION_BAD_AREA'ADDRESS, 16#40#, 32, RTEMS.DEFAULT_ATTRIBUTES, SPTEST.JUNK_ID, STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.INVALID_ADDRESS, "REGION_CREATE WITH ILLEGAL ADDRESS" ); TEXT_IO.PUT_LINE( "TA1 - region_create - INVALID_ADDRESS" ); RTEMS.REGION_CREATE( SPTEST.REGION_NAME( 1 ), SPTEST.REGION_GOOD_AREA'ADDRESS, 16#40#, 34, RTEMS.DEFAULT_ATTRIBUTES, SPTEST.JUNK_ID, STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.INVALID_SIZE, "REGION_CREATE WITH ILLEGAL SIZE" ); TEXT_IO.PUT_LINE( "TA1 - region_create - INVALID_SIZE" ); RTEMS.REGION_CREATE( SPTEST.REGION_NAME( 1 ), SPTEST.REGION_GOOD_AREA( SPTEST.REGION_START_OFFSET )'ADDRESS, SPTEST.REGION_LENGTH, 16#40#, RTEMS.DEFAULT_ATTRIBUTES, SPTEST.REGION_ID( 1 ), STATUS ); TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "REGION_CREATE" ); TEXT_IO.PUT_LINE( "TA1 - region_create - SUCCESSFUL" ); RTEMS.REGION_CREATE( SPTEST.REGION_NAME( 1 ), SPTEST.REGION_GOOD_AREA'ADDRESS, SPTEST.REGION_LENGTH, 16#40#, RTEMS.DEFAULT_ATTRIBUTES, SPTEST.JUNK_ID, STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.TOO_MANY, "REGION_CREATE FOR TOO MANY" ); TEXT_IO.PUT_LINE( "TA1 - region_create - TOO_MANY" ); RTEMS.REGION_DELETE( 100, STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.INVALID_ID, "REGION_DELETE WITH ILLEGAL ID" ); TEXT_IO.PUT_LINE( "TA1 - region_delete - unknown INVALID_ID" ); RTEMS.REGION_DELETE( 16#10100#, STATUS ); TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( STATUS, RTEMS.INVALID_ID, "REGION_DELETE WITH ILLEGAL ID" ); TEXT_IO.PUT_LINE( "TA1 - region_delete - local INVALID_ID" );
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -