Changeset c1ef834 in rtems for c/src/ada-tests/sptests/sp09
- Timestamp:
- 06/03/97 15:12:23 (27 years ago)
- Branches:
- 4.10, 4.11, 4.8, 4.9, 5, master
- Children:
- 4c3340c
- Parents:
- d348ad96
- Location:
- c/src/ada-tests/sptests/sp09
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
c/src/ada-tests/sptests/sp09/sp09.scn
rd348ad96 rc1ef834 98 98 TA1 - message_queue_create - Q 1 - INVALID_NAME 99 99 TA1 - message_queue_create - Q 1 - MP_NOT_CONFIGURED 100 TA1 - message_queue_create - Q 1 - LIMIT- SUCCESSFUL100 TA1 - message_queue_create - Q 1 - 2 DEEP - SUCCESSFUL 101 101 TA1 - message_queue_create - Q 2 - TOO_MANY 102 102 TA1 - message_queue_delete - unknown INVALID_ID … … 114 114 <pause - screen 8> 115 115 TA1 - message_queue_delete - Q 1 - SUCCESSFUL 116 TA1 - message_queue_create - Q 1 - LIMIT- SUCCESSFUL116 TA1 - message_queue_create - Q 1 - 2 DEEP - SUCCESSFUL 117 117 TA1 - message_queue_send - BUFFER 1 TO Q 1 - SUCCESSFUL 118 118 TA1 - message_queue_send - BUFFER 2 TO Q 1 - SUCCESSFUL 119 119 TA1 - message_queue_send - BUFFER 3 TO Q 1 - TOO_MANY 120 120 TA1 - message_queue_delete - Q 1 - SUCCESSFUL 121 TA1 - message_queue_create - Q 1 - LIMIT- SUCCESSFUL121 TA1 - message_queue_create - Q 1 - 3 DEEP - SUCCESSFUL 122 122 TA1 - message_queue_send - BUFFER 1 TO Q 1 - SUCCESSFUL 123 123 TA1 - message_queue_send - BUFFER 2 TO Q 1 - SUCCESSFUL 124 TA1 - message_queue_send - BUFFER 3 TO Q 1 - UNSATISFIED 124 TA1 - message_queue_send - BUFFER 3 TO Q 1 - SUCCESSFUL 125 TA1 - message_queue_send - BUFFER 4 TO Q 1 - TOO_MANY 125 126 TA1 - message_queue_delete - Q 1 - SUCCESSFUL 126 TA1 - message_queue_create - Q 1 - LIMIT- SUCCESSFUL127 TA1 - message_queue_create - Q 1 - 3 DEEP - SUCCESSFUL 127 128 TA1 - task_start - start TA3 - SUCCESSFUL 128 129 TA1 - task_wake_after - yield processor - SUCCESSFUL -
c/src/ada-tests/sptests/sp09/sptest.adb
rd348ad96 rc1ef834 585 585 TASK_NAME, 586 586 1, 587 RTEMS.CONFIGURATION.WORK SPACE_SIZE,587 RTEMS.CONFIGURATION.WORK_SPACE_SIZE, 588 588 RTEMS.DEFAULT_MODES, 589 589 RTEMS.DEFAULT_ATTRIBUTES, … … 878 878 procedure SCREEN_5 879 879 is 880 COUNT : RTEMS.UNSIGNED32;881 880 STATUS : RTEMS.STATUS_CODES; 882 881 begin … … 886 885 1, 887 886 RTEMS.DEFAULT_ATTRIBUTES, 887 RTEMS.NO_PRIORITY, 888 888 SPTEST.JUNK_ID, 889 889 STATUS … … 900 900 1, 901 901 RTEMS.DEFAULT_ATTRIBUTES, 902 RTEMS.NO_PRIORITY, 902 903 SPTEST.SEMAPHORE_ID( 1 ), 903 904 STATUS … … 913 914 1, 914 915 RTEMS.BINARY_SEMAPHORE, 916 RTEMS.NO_PRIORITY, 915 917 SPTEST.SEMAPHORE_ID( 2 ), 916 918 STATUS … … 922 924 TEXT_IO.PUT_LINE( "TA1 - semaphore_create - 2 - SUCCESSFUL" ); 923 925 924 RTEMS.SEMAPHORE_CREATE( 925 SPTEST.SEMAPHORE_NAME( 3 ), 926 1, 927 RTEMS.DEFAULT_ATTRIBUTES, 928 SPTEST.JUNK_ID, 929 STATUS 930 ); 926 loop 927 RTEMS.SEMAPHORE_CREATE( 928 SPTEST.SEMAPHORE_NAME( 3 ), 929 1, 930 RTEMS.DEFAULT_ATTRIBUTES, 931 RTEMS.NO_PRIORITY, 932 SPTEST.JUNK_ID, 933 STATUS 934 ); 935 936 exit when not RTEMS.ARE_STATUSES_EQUAL( STATUS, RTEMS.SUCCESSFUL ); 937 end loop; 938 931 939 TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( 932 940 STATUS, … … 940 948 1, 941 949 RTEMS.INHERIT_PRIORITY + RTEMS.BINARY_SEMAPHORE + RTEMS.FIFO, 950 RTEMS.NO_PRIORITY, 942 951 SPTEST.JUNK_ID, 943 952 STATUS … … 954 963 1, 955 964 RTEMS.INHERIT_PRIORITY + RTEMS.COUNTING_SEMAPHORE + RTEMS.PRIORITY, 965 RTEMS.NO_PRIORITY, 956 966 SPTEST.JUNK_ID, 957 967 STATUS … … 968 978 2, 969 979 RTEMS.BINARY_SEMAPHORE, 980 RTEMS.NO_PRIORITY, 970 981 SPTEST.JUNK_ID, 971 982 STATUS … … 982 993 1, 983 994 RTEMS.GLOBAL, 995 RTEMS.NO_PRIORITY, 984 996 SPTEST.JUNK_ID, 985 997 STATUS … … 1046 1058 procedure SCREEN_6 1047 1059 is 1048 COUNT : RTEMS.UNSIGNED32;1049 1060 STATUS : RTEMS.STATUS_CODES; 1050 1061 begin … … 1188 1199 procedure SCREEN_7 1189 1200 is 1190 BUFFER : RTEMS.BUFFER;1191 BUFFER_POINTER : RTEMS. BUFFER_POINTER;1201 BUFFER : SPTEST.BUFFER; 1202 BUFFER_POINTER : RTEMS.ADDRESS; 1192 1203 COUNT : RTEMS.UNSIGNED32; 1204 MESSAGE_SIZE : RTEMS.UNSIGNED32; 1193 1205 STATUS : RTEMS.STATUS_CODES; 1194 1206 begin 1207 1208 BUFFER_POINTER := BUFFER'ADDRESS; 1195 1209 1196 1210 RTEMS.MESSAGE_QUEUE_BROADCAST( 1197 1211 100, 1198 1212 BUFFER_POINTER, 1213 16, 1199 1214 COUNT, 1200 1215 STATUS … … 1208 1223 "TA1 - message_queue_broadcast - INVALID_ID" 1209 1224 ); 1210 1211 BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS );1212 1225 1213 1226 RTEMS.MESSAGE_QUEUE_CREATE( 1214 1227 0, 1215 1228 3, 1229 16, 1216 1230 RTEMS.DEFAULT_ATTRIBUTES, 1217 1231 SPTEST.JUNK_ID, … … 1230 1244 SPTEST.QUEUE_NAME( 1 ), 1231 1245 1, 1246 16, 1232 1247 RTEMS.GLOBAL, 1233 1248 SPTEST.JUNK_ID, … … 1245 1260 SPTEST.QUEUE_NAME( 1 ), 1246 1261 2, 1247 RTEMS.LIMIT, 1262 16, 1263 RTEMS.DEFAULT_ATTRIBUTES, 1248 1264 SPTEST.QUEUE_ID( 1 ), 1249 1265 STATUS … … 1254 1270 ); 1255 1271 TEXT_IO.PUT_LINE( 1256 "TA1 - message_queue_create - Q 1 - LIMIT- SUCCESSFUL"1272 "TA1 - message_queue_create - Q 1 - 2 DEEP - SUCCESSFUL" 1257 1273 ); 1258 1274 … … 1260 1276 SPTEST.QUEUE_NAME( 2 ), 1261 1277 1, 1278 16, 1262 1279 RTEMS.DEFAULT_ATTRIBUTES, 1263 1280 SPTEST.JUNK_ID, … … 1319 1336 RTEMS.DEFAULT_OPTIONS, 1320 1337 RTEMS.NO_TIMEOUT, 1338 MESSAGE_SIZE, 1321 1339 STATUS 1322 1340 ); … … 1333 1351 RTEMS.NO_WAIT, 1334 1352 RTEMS.NO_TIMEOUT, 1353 MESSAGE_SIZE, 1335 1354 STATUS 1336 1355 ); … … 1352 1371 RTEMS.DEFAULT_OPTIONS, 1353 1372 3 * TEST_SUPPORT.TICKS_PER_SECOND, 1373 MESSAGE_SIZE, 1354 1374 STATUS 1355 1375 ); … … 1363 1383 ); 1364 1384 1365 RTEMS.MESSAGE_QUEUE_SEND( 100, BUFFER_POINTER, STATUS );1385 RTEMS.MESSAGE_QUEUE_SEND( 100, BUFFER_POINTER, 16, STATUS ); 1366 1386 TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( 1367 1387 STATUS, … … 1374 1394 SPTEST.QUEUE_ID( 1 ), 1375 1395 BUFFER_POINTER, 1396 16, 1376 1397 STATUS 1377 1398 ); … … 1384 1405 SPTEST.QUEUE_ID( 1 ), 1385 1406 BUFFER_POINTER, 1407 16, 1386 1408 STATUS 1387 1409 ); … … 1394 1416 SPTEST.QUEUE_ID( 1 ), 1395 1417 BUFFER_POINTER, 1418 16, 1396 1419 STATUS 1397 1420 ); … … 1414 1437 procedure SCREEN_8 1415 1438 is 1416 BUFFER : RTEMS.BUFFER;1417 BUFFER_POINTER : RTEMS. BUFFER_POINTER;1439 BUFFER : SPTEST.BUFFER; 1440 BUFFER_POINTER : RTEMS.ADDRESS; 1418 1441 STATUS : RTEMS.STATUS_CODES; 1419 1442 begin 1420 1443 1421 BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS );1444 BUFFER_POINTER := BUFFER'ADDRESS; 1422 1445 1423 1446 RTEMS.MESSAGE_QUEUE_DELETE( SPTEST.QUEUE_ID( 1 ), STATUS ); … … 1433 1456 SPTEST.QUEUE_NAME( 1 ), 1434 1457 2, 1435 RTEMS.LIMIT, 1458 16, 1459 RTEMS.DEFAULT_ATTRIBUTES, 1436 1460 SPTEST.QUEUE_ID( 1 ), 1437 1461 STATUS … … 1442 1466 ); 1443 1467 TEXT_IO.PUT_LINE( 1444 "TA1 - message_queue_create - Q 1 - LIMIT- SUCCESSFUL"1468 "TA1 - message_queue_create - Q 1 - 2 DEEP - SUCCESSFUL" 1445 1469 ); 1446 1470 … … 1448 1472 SPTEST.QUEUE_ID( 1 ), 1449 1473 BUFFER_POINTER, 1474 16, 1450 1475 STATUS 1451 1476 ); … … 1458 1483 SPTEST.QUEUE_ID( 1 ), 1459 1484 BUFFER_POINTER, 1485 16, 1460 1486 STATUS 1461 1487 ); … … 1468 1494 SPTEST.QUEUE_ID( 1 ), 1469 1495 BUFFER_POINTER, 1496 16, 1470 1497 STATUS 1471 1498 ); … … 1491 1518 SPTEST.QUEUE_NAME( 1 ), 1492 1519 3, 1493 RTEMS.LIMIT, 1520 16, 1521 RTEMS.DEFAULT_ATTRIBUTES, 1494 1522 SPTEST.QUEUE_ID( 1 ), 1495 1523 STATUS … … 1500 1528 ); 1501 1529 TEXT_IO.PUT_LINE( 1502 "TA1 - message_queue_create - Q 1 - LIMIT- SUCCESSFUL"1530 "TA1 - message_queue_create - Q 1 - 3 DEEP - SUCCESSFUL" 1503 1531 ); 1504 1532 … … 1506 1534 SPTEST.QUEUE_ID( 1 ), 1507 1535 BUFFER_POINTER, 1536 16, 1508 1537 STATUS 1509 1538 ); … … 1516 1545 SPTEST.QUEUE_ID( 1 ), 1517 1546 BUFFER_POINTER, 1547 16, 1518 1548 STATUS 1519 1549 ); … … 1526 1556 SPTEST.QUEUE_ID( 1 ), 1527 1557 BUFFER_POINTER, 1528 STATUS 1529 ); 1530 TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( 1531 STATUS, 1532 RTEMS.UNSATISFIED, 1558 16, 1559 STATUS 1560 ); 1561 TEST_SUPPORT.DIRECTIVE_FAILED( STATUS, "MESSAGE_QUEUE_SEND" ); 1562 TEXT_IO.PUT_LINE( 1563 "TA1 - message_queue_send - BUFFER 3 TO Q 1 - SUCCESSFUL" 1564 ); 1565 1566 RTEMS.MESSAGE_QUEUE_SEND( 1567 SPTEST.QUEUE_ID( 1 ), 1568 BUFFER_POINTER, 1569 16, 1570 STATUS 1571 ); 1572 TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( 1573 STATUS, 1574 RTEMS.TOO_MANY, 1533 1575 "MESSAGE_QUEUE_SEND TOO MANY TO LIMITED QUEUE" 1534 1576 ); 1535 1577 TEXT_IO.PUT_LINE( 1536 "TA1 - message_queue_send - BUFFER 3 TO Q 1 - UNSATISFIED"1578 "TA1 - message_queue_send - BUFFER 4 TO Q 1 - TOO_MANY" 1537 1579 ); 1538 1580 … … 1549 1591 SPTEST.QUEUE_NAME( 1 ), 1550 1592 2, 1551 RTEMS.LIMIT, 1593 16, 1594 RTEMS.DEFAULT_ATTRIBUTES, 1552 1595 SPTEST.QUEUE_ID( 1 ), 1553 1596 STATUS … … 1558 1601 ); 1559 1602 TEXT_IO.PUT_LINE( 1560 "TA1 - message_queue_create - Q 1 - LIMIT- SUCCESSFUL"1603 "TA1 - message_queue_create - Q 1 - 3 DEEP - SUCCESSFUL" 1561 1604 ); 1562 1605 … … 2250 2293 0, 2251 2294 SPTEST.REGION_GOOD_AREA'ADDRESS, 2252 1 28,2295 16#40#, 2253 2296 32, 2254 2297 RTEMS.DEFAULT_ATTRIBUTES, … … 2266 2309 SPTEST.REGION_NAME( 1 ), 2267 2310 SPTEST.REGION_BAD_AREA'ADDRESS, 2268 1 28,2311 16#40#, 2269 2312 32, 2270 2313 RTEMS.DEFAULT_ATTRIBUTES, … … 2282 2325 SPTEST.REGION_NAME( 1 ), 2283 2326 SPTEST.REGION_GOOD_AREA'ADDRESS, 2284 1 28,2327 16#40#, 2285 2328 34, 2286 2329 RTEMS.DEFAULT_ATTRIBUTES, … … 2299 2342 SPTEST.REGION_GOOD_AREA( SPTEST.REGION_START_OFFSET )'ADDRESS, 2300 2343 SPTEST.REGION_LENGTH, 2301 1 28,2344 16#40#, 2302 2345 RTEMS.DEFAULT_ATTRIBUTES, 2303 2346 SPTEST.REGION_ID( 1 ), … … 2310 2353 SPTEST.REGION_NAME( 1 ), 2311 2354 SPTEST.REGION_GOOD_AREA'ADDRESS, 2312 128,2313 32,2355 SPTEST.REGION_LENGTH, 2356 16#40#, 2314 2357 RTEMS.DEFAULT_ATTRIBUTES, 2315 2358 SPTEST.JUNK_ID, … … 2349 2392 RTEMS.REGION_GET_SEGMENT( 2350 2393 100, 2351 1 28,2394 16#40#, 2352 2395 RTEMS.DEFAULT_OPTIONS, 2353 2396 RTEMS.NO_TIMEOUT, … … 2364 2407 RTEMS.REGION_GET_SEGMENT( 2365 2408 SPTEST.REGION_ID( 1 ), 2366 RTEMS.UNSIGNED32'LAST,2409 (SPTEST.REGION_GOOD_AREA'SIZE / 8) * 2, 2367 2410 RTEMS.DEFAULT_OPTIONS, 2368 2411 RTEMS.NO_TIMEOUT, … … 2390 2433 RTEMS.REGION_GET_SEGMENT( 2391 2434 SPTEST.REGION_ID( 1 ), 2392 384,2435 SPTEST.REGION_LENGTH / 2, 2393 2436 RTEMS.NO_WAIT, 2394 2437 RTEMS.NO_TIMEOUT, … … 2460 2503 RTEMS.DEBUG_DISABLE( RTEMS.DEBUG_REGION ); 2461 2504 2462 OFFSET := RTEMS.SUBTRACT( 2463 SEGMENT_ADDRESS_1, 2464 SPTEST.REGION_GOOD_AREA'ADDRESS 2465 ) / 4; 2466 2467 -- bad FRONT_FLAG error 2468 2469 GOOD_FRONT_FLAG := SPTEST.REGION_GOOD_AREA( OFFSET - 1 ); 2470 SPTEST.REGION_GOOD_AREA( OFFSET - 1 ) := GOOD_FRONT_FLAG + 2; 2471 2472 RTEMS.REGION_RETURN_SEGMENT( 2473 SPTEST.REGION_ID( 1 ), 2474 SEGMENT_ADDRESS_1, 2475 STATUS 2476 ); 2477 TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( 2478 STATUS, 2479 RTEMS.INVALID_ADDRESS, 2480 "REGION_RETURN_SEGMENT WITH BACK_FLAG /= FRONT_FLAG" 2481 ); 2482 TEXT_IO.PUT_LINE( 2483 "TA1 - region_return_segment - INVALID_ADDRESS" 2484 ); 2485 2486 SPTEST.REGION_GOOD_AREA( OFFSET - 1 ) := GOOD_FRONT_FLAG; 2487 2488 -- bad BACK_FLAG error 2489 2490 GOOD_BACK_FLAG := SPTEST.REGION_GOOD_AREA( OFFSET - 2 ); 2491 SPTEST.REGION_GOOD_AREA( OFFSET - 2 ) := 1024; 2492 2493 RTEMS.REGION_RETURN_SEGMENT( 2494 SPTEST.REGION_ID( 1 ), 2495 SEGMENT_ADDRESS_1, 2496 STATUS 2497 ); 2498 TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( 2499 STATUS, 2500 RTEMS.INVALID_ADDRESS, 2501 "REGION_RETURN_SEGMENT WITH BACK_FLAG /= FRONT_FLAG" 2502 ); 2503 TEXT_IO.PUT_LINE( 2504 "TA1 - region_return_segment - INVALID_ADDRESS" 2505 ); 2506 2507 SPTEST.REGION_GOOD_AREA( OFFSET - 2 ) := GOOD_BACK_FLAG; 2505 OFFSET := 0; 2506 GOOD_BACK_FLAG := 0; 2507 GOOD_FRONT_FLAG := 0; 2508 2509 TEXT_IO.PUT_LINE( 2510 "TA1 - region_return_segment - INVALID_ADDRESS - SKIPPED" 2511 ); 2512 TEXT_IO.PUT_LINE( 2513 "TA1 - region_return_segment - INVALID_ADDRESS - SKIPPED" 2514 ); 2515 2516 2517 -- OFFSET := RTEMS.SUBTRACT( 2518 -- SEGMENT_ADDRESS_1, 2519 -- SPTEST.REGION_GOOD_AREA'ADDRESS 2520 -- ) / 4; 2521 -- 2522 -- 2523 -- -- bad FRONT_FLAG error 2524 -- 2525 -- GOOD_FRONT_FLAG := SPTEST.REGION_GOOD_AREA( OFFSET - 1 ); 2526 -- SPTEST.REGION_GOOD_AREA( OFFSET - 1 ) := GOOD_FRONT_FLAG + 2; 2527 -- 2528 -- RTEMS.REGION_RETURN_SEGMENT( 2529 -- SPTEST.REGION_ID( 1 ), 2530 -- SEGMENT_ADDRESS_1, 2531 -- STATUS 2532 -- ); 2533 -- TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( 2534 -- STATUS, 2535 -- RTEMS.INVALID_ADDRESS, 2536 -- "REGION_RETURN_SEGMENT WITH BACK_FLAG /= FRONT_FLAG" 2537 -- ); 2538 -- TEXT_IO.PUT_LINE( 2539 -- "TA1 - region_return_segment - INVALID_ADDRESS" 2540 -- ); 2541 -- 2542 -- SPTEST.REGION_GOOD_AREA( OFFSET - 1 ) := GOOD_FRONT_FLAG; 2543 -- 2544 -- -- bad BACK_FLAG error 2545 -- 2546 -- GOOD_BACK_FLAG := SPTEST.REGION_GOOD_AREA( OFFSET - 2 ); 2547 -- SPTEST.REGION_GOOD_AREA( OFFSET - 2 ) := 1024; 2548 -- 2549 -- RTEMS.REGION_RETURN_SEGMENT( 2550 -- SPTEST.REGION_ID( 1 ), 2551 -- SEGMENT_ADDRESS_1, 2552 -- STATUS 2553 -- ); 2554 -- TEST_SUPPORT.FATAL_DIRECTIVE_STATUS( 2555 -- STATUS, 2556 -- RTEMS.INVALID_ADDRESS, 2557 -- "REGION_RETURN_SEGMENT WITH BACK_FLAG /= FRONT_FLAG" 2558 -- ); 2559 -- TEXT_IO.PUT_LINE( 2560 -- "TA1 - region_return_segment - INVALID_ADDRESS" 2561 -- ); 2562 -- 2563 -- SPTEST.REGION_GOOD_AREA( OFFSET - 2 ) := GOOD_BACK_FLAG; 2508 2564 2509 2565 TEXT_IO.PUT_LINE( "TA1 - debug_enable - DEBUG_REGION" ); … … 3068 3124 ARGUMENT : in RTEMS.TASK_ARGUMENT 3069 3125 ) is 3070 BUFFER : RTEMS.BUFFER; 3071 BUFFER_POINTER : RTEMS.BUFFER_POINTER; 3126 BUFFER : SPTEST.BUFFER; 3127 BUFFER_POINTER : RTEMS.ADDRESS; 3128 MESSAGE_SIZE : RTEMS.UNSIGNED32; 3072 3129 STATUS : RTEMS.STATUS_CODES; 3073 3130 begin 3074 3131 3075 BUFFER_POINTER := RTEMS.TO_BUFFER_POINTER( BUFFER'ADDRESS );3132 BUFFER_POINTER := BUFFER'ADDRESS; 3076 3133 3077 3134 TEXT_IO.PUT_LINE( … … 3083 3140 RTEMS.DEFAULT_OPTIONS, 3084 3141 RTEMS.NO_TIMEOUT, 3142 MESSAGE_SIZE, 3085 3143 STATUS 3086 3144 ); -
c/src/ada-tests/sptests/sp09/sptest.ads
rd348ad96 rc1ef834 29 29 30 30 -- 31 -- Buffer Record similar to that used by RTEMS 3.2.1. Using this 32 -- avoids changes to the test. 33 -- 34 35 type BUFFER is 36 record 37 FIELD1 : RTEMS.UNSIGNED32; -- TEMPORARY UNTIL VARIABLE LENGTH 38 FIELD2 : RTEMS.UNSIGNED32; 39 FIELD3 : RTEMS.UNSIGNED32; 40 FIELD4 : RTEMS.UNSIGNED32; 41 end record; 42 43 -- 31 44 -- These arrays contain the IDs and NAMEs of all RTEMS tasks created 32 45 -- by this test.
Note: See TracChangeset
for help on using the changeset viewer.