This contains various sample test results for the basic BSP (initialization, clock, console) Hello world: hello.exe *** BEGIN OF TEST HELLO WORLD *** *** TEST VERSION: 7.0.0.55d4bbd9d827275bbfd8fd76d00cd4b0e5c8bf01 *** TEST STATE: EXPECTED_PASS *** TEST BUILD: RTEMS_POSIX_API *** TEST TOOLS: 15.2.0 20250808 (RTEMS 7, RSB 94768365158083a6be02759c800827c0d7c60c79, Newlib 038afec1) Hello World *** END OF TEST HELLO WORLD *** [ RTEMS shutdown ] RTEMS version: 7.0.0.55d4bbd9d827275bbfd8fd76d00cd4b0e5c8bf01 RTEMS tools: 15.2.0 20250808 (RTEMS 7, RSB 94768365158083a6be02759c800827c0d7c60c79, Newlib 038afec1) executing thread ID: 0x0a010001 executing thread name: UI1 Clock: ticker.exe *** BEGIN OF TEST CLOCK TICK *** *** TEST VERSION: 7.0.0.55d4bbd9d827275bbfd8fd76d00cd4b0e5c8bf01 *** TEST STATE: EXPECTED_PASS *** TEST BUILD: RTEMS_POSIX_API *** TEST TOOLS: 15.2.0 20250808 (RTEMS 7, RSB 94768365158083a6be02759c800827c0d7c60c79, Newlib 038afec1) TA1 - rtems_clock_get_tod - 09:00:00 12/31/1988 TA2 - rtems_clock_get_tod - 09:00:00 12/31/1988 TA3 - rtems_clock_get_tod - 09:00:00 12/31/1988 TA1 - rtems_clock_get_tod - 09:00:04 12/31/1988 TA1 - rtems_clock_get_tod - 09:00:09 12/31/1988 TA2 - rtems_clock_get_tod - 09:00:10 12/31/1988 TA1 - rtems_clock_get_tod - 09:00:14 12/31/1988 TA3 - rtems_clock_get_tod - 09:00:15 12/31/1988 TA1 - rtems_clock_get_tod - 09:00:19 12/31/1988 TA2 - rtems_clock_get_tod - 09:00:20 12/31/1988 TA1 - rtems_clock_get_tod - 09:00:24 12/31/1988 TA1 - rtems_clock_get_tod - 09:00:29 12/31/1988 TA3 - rtems_clock_get_tod - 09:00:30 12/31/1988 TA2 - rtems_clock_get_tod - 09:00:30 12/31/1988 TA1 - rtems_clock_get_tod - 09:00:34 12/31/1988 *** END OF TEST CLOCK TICK *** [ RTEMS shutdown ] RTEMS version: 7.0.0.55d4bbd9d827275bbfd8fd76d00cd4b0e5c8bf01 RTEMS tools: 15.2.0 20250808 (RTEMS 7, RSB 94768365158083a6be02759c800827c0d7c60c79, Newlib 038afec1) executing thread ID: 0x0a010002 executing thread name: TA1 Base single process application: base_sp.exe *** BEGIN OF TEST SAMPLE SINGLE PROCESSOR APPLICATION *** *** TEST VERSION: 7.0.0.55d4bbd9d827275bbfd8fd76d00cd4b0e5c8bf01 *** TEST STATE: EXPECTED_PASS *** TEST BUILD: RTEMS_POSIX_API *** TEST TOOLS: 15.2.0 20250808 (RTEMS 7, RSB 94768365158083a6be02759c800827c0d7c60c79, Newlib 038afec1) Creating and starting an application task Application task was invoked with argument (0) and has id of 0xa010002 *** END OF TEST SAMPLE SINGLE PROCESSOR APPLICATION *** [ RTEMS shutdown ] RTEMS version: 7.0.0.55d4bbd9d827275bbfd8fd76d00cd4b0e5c8bf01 RTEMS tools: 15.2.0 20250808 (RTEMS 7, RSB 94768365158083a6be02759c800827c0d7c60c79, Newlib 038afec1) executing thread ID: 0x0a010002 executing thread name: TA1 Constructor/Destructor C++ Application: cdtest.exe *** BEGIN OF TEST CONSTRUCTOR/DESTRUCTOR *** *** TEST VERSION: 7.0.0.55d4bbd9d827275bbfd8fd76d00cd4b0e5c8bf01 *** TEST STATE: EXPECTED_PASS *** TEST BUILD: RTEMS_POSIX_API *** TEST TOOLS: 15.2.0 20250808 (RTEMS 7, RSB 94768365158083a6be02759c800827c0d7c60c79, Newlib 038afec1) GLOBAL: Hey I'm in base class constructor number 1 for 0x102270. GLOBAL: Hey I'm in base class constructor number 2 for 0x102288. GLOBAL: Hey I'm in derived class constructor number 3 for 0x102288. LOCAL: Hey I'm in base class constructor number 4 for 0x110638. LOCAL: Hey I'm in base class constructor number 5 for 0x110620. LOCAL: Hey I'm in base class constructor number 6 for 0x110608. LOCAL: Hey I'm in base class constructor number 7 for 0x1105f0. LOCAL: Hey I'm in derived class constructor number 8 for 0x1105f0. IO Stream not tested LOCAL: Hey I'm in derived class destructor number 8 for 0x1105f0. Derived class - Instantiation order 8 LOCAL: Hey I'm in base class destructor number 7 for 0x1105f0. Derived class - Instantiation order 8 LOCAL: Hey I'm in base class destructor number 6 for 0x110608. Derived class - Instantiation order 6 LOCAL: Hey I'm in base class destructor number 5 for 0x110620. Derived class - Instantiation order 5 LOCAL: Hey I'm in base class destructor number 4 for 0x110638. Derived class - Instantiation order 5 *** TESTING C++ EXCEPTIONS *** foo_function() catch block called: < foo_function() throw this exception > Success catching a char * exception foo_function() re-throwing execption... throw std::runtime: caught: thrown std::runtime object throw an instance based exception RtemsException raised=File:../../../testsuites/samples/cdtest/main.cc, Line:224, Error=55 Success catching RtemsException... RtemsException ---> File:../../../testsuites/samples/cdtest/main.cc, Line:224, Error=55 Exceptions are working properly. Global Dtors should be called after this line.... GLOBAL: Hey I'm in derived class destructor number 3 for 0x102288. Derived class - Instantiation order 3 GLOBAL: Hey I'm in base class destructor number 2 for 0x102288. Derived class - Instantiation order 3 GLOBAL: Hey I'm in base class destructor number 1 for 0x102270. Derived class - Instantiation order 1 *** END OF TEST CONSTRUCTOR/DESTRUCTOR *** [ RTEMS shutdown ] RTEMS version: 7.0.0.55d4bbd9d827275bbfd8fd76d00cd4b0e5c8bf01 RTEMS tools: 15.2.0 20250808 (RTEMS 7, RSB 94768365158083a6be02759c800827c0d7c60c79, Newlib 038afec1) executing thread ID: 0x0a010001 executing thread name: CTOR Minimum Size Test: minimum.norun.exe > size minimum.norun.exe text data bss dec hex filename 80900 1040 1005763480 1005845420 3bf3fbac minimum.norun.exe Nanosecond Granularity Application: nsec.exe *** BEGIN OF TEST NANOSECOND CLOCK *** *** TEST VERSION: 7.0.0.55d4bbd9d827275bbfd8fd76d00cd4b0e5c8bf01 *** TEST STATE: EXPECTED_PASS *** TEST BUILD: RTEMS_POSIX_API *** TEST TOOLS: 15.2.0 20250808 (RTEMS 7, RSB 94768365158083a6be02759c800827c0d7c60c79, Newlib 038afec1) 10 iterations of getting TOD Start: Sat Mar 24 11:15:00 2007:2617259 Stop : Sat Mar 24 11:15:00 2007:2617333 --> 0:74 Start: Sat Mar 24 11:15:00 2007:10558648 Stop : Sat Mar 24 11:15:00 2007:10558722 --> 0:74 Start: Sat Mar 24 11:15:00 2007:18675166 Stop : Sat Mar 24 11:15:00 2007:18675240 --> 0:74 Start: Sat Mar 24 11:15:00 2007:26791666 Stop : Sat Mar 24 11:15:00 2007:26791722 --> 0:56 Start: Sat Mar 24 11:15:00 2007:34908203 Stop : Sat Mar 24 11:15:00 2007:34908259 --> 0:56 Start: Sat Mar 24 11:15:00 2007:43024703 Stop : Sat Mar 24 11:15:00 2007:43024759 --> 0:56 Start: Sat Mar 24 11:15:00 2007:51141203 Stop : Sat Mar 24 11:15:00 2007:51141259 --> 0:56 Start: Sat Mar 24 11:15:00 2007:59257759 Stop : Sat Mar 24 11:15:00 2007:59257833 --> 0:74 Start: Sat Mar 24 11:15:00 2007:67374259 Stop : Sat Mar 24 11:15:00 2007:67374333 --> 0:74 Start: Sat Mar 24 11:15:00 2007:75490777 Stop : Sat Mar 24 11:15:00 2007:75490833 --> 0:56 10 iterations of getting Uptime 0:108230870 0:108230962 --> 0:92 0:111198129 0:111198203 --> 0:74 0:114165481 0:114165536 --> 0:55 0:117132833 0:117132907 --> 0:74 0:120100148 0:120100203 --> 0:55 0:123067462 0:123067518 --> 0:56 0:126034777 0:126034851 --> 0:74 0:129002092 0:129002166 --> 0:74 0:131969407 0:131969481 --> 0:74 0:134936777 0:134936833 --> 0:56 10 iterations of getting Uptime with different loop values loop of 10000 0:143315092 0:143348888 --> 0:33796 loop of 20000 0:147766073 0:147834499 --> 0:68426 loop of 30000 0:152217036 0:152319259 --> 0:102223 loop of 40000 0:156755296 0:156891740 --> 0:136444 loop of 50000 0:161293629 0:161464425 --> 0:170796 loop of 60000 0:165831870 0:166036388 --> 0:204518 loop of 70000 0:170370129 0:170608962 --> 0:238833 loop of 80000 0:174908407 0:175180518 --> 0:272111 loop of 90000 0:179446629 0:179754185 --> 0:307556 loop of 100000 0:183984870 0:184327481 --> 0:342611 *** END OF TEST NANOSECOND CLOCK *** [ RTEMS shutdown ] RTEMS version: 7.0.0.55d4bbd9d827275bbfd8fd76d00cd4b0e5c8bf01 RTEMS tools: 15.2.0 20250808 (RTEMS 7, RSB 94768365158083a6be02759c800827c0d7c60c79, Newlib 038afec1) executing thread ID: 0x0a010001 executing thread name: UI1 Unlimited Object Allocation: unlimited.exe *** BEGIN OF TEST UNLIMITED TASK *** *** TEST VERSION: 7.0.0.55d4bbd9d827275bbfd8fd76d00cd4b0e5c8bf01 *** TEST STATE: EXPECTED_PASS *** TEST BUILD: RTEMS_POSIX_API *** TEST TOOLS: 15.2.0 20250808 (RTEMS 7, RSB 94768365158083a6be02759c800827c0d7c60c79, Newlib 038afec1) TEST1 : auto-extend disabled. TEST1 : creating task 'aa00', number = 0, id = 0a010002, starting, task 0 has started. TEST1 : creating task 'aa01', number = 1, id = 0a010003, starting, task 1 has started. TEST1 : creating task 'aa02', number = 2, id = 0a010004, starting, task 2 has started. TEST1 : creating task 'aa03', number = 3, id = 0a010005, starting, task 3 has started. TEST1 : creating task 'aa04', failure, too many. TEST1 : signal task 0a010002 to delete, task 0 ending. TEST1 : signal task 0a010003 to delete, task 1 ending. TEST1 : signal task 0a010004 to delete, task 2 ending. TEST1 : signal task 0a010005 to delete, task 3 ending. TEST1 : completed TEST2 : re-allocate of index numbers, and a block free'ed and one inactive TEST2 : creating task 'aa00', number = 0, id = 0a010002, starting, task 0 has started. TEST2 : creating task 'aa01', number = 1, id = 0a010003, starting, task 1 has started. TEST2 : creating task 'aa02', number = 2, id = 0a010004, starting, task 2 has started. TEST2 : creating task 'aa03', number = 3, id = 0a010005, starting, task 3 has started. TEST2 : creating task 'aa04', number = 4, id = 0a010006, starting, task 4 has started. TEST2 : creating task 'aa05', number = 5, id = 0a010007, starting, task 5 has started. TEST2 : creating task 'aa06', number = 6, id = 0a010008, starting, task 6 has started. TEST2 : creating task 'aa07', number = 7, id = 0a010009, starting, task 7 has started. TEST2 : creating task 'aa08', number = 8, id = 0a01000a, starting, task 8 has started. …. TEST2 : signal task 0a010015 to delete, task 19 ending. TEST2 : signal task 0a010016 to delete, task 20 ending. TEST2 : signal task 0a010017 to delete, task 21 ending. TEST2 : signal task 0a010018 to delete, task 22 ending. TEST2 : signal task 0a010019 to delete, task 23 ending. TEST2 : completed …. TEST3 : free more than 3 x allocation size, but not the same block, then free a block TEST3 : creating task 'aa00', number = 0, id = 0a010002, starting, task 0 has started. TEST3 : creating task 'aa01', number = 1, id = 0a010003, starting, task 1 has started. TEST3 : creating task 'aa02', number = 2, id = 0a010004, starting, task 2 has started. TEST3 : creating task 'aa03', number = 3, id = 0a010005, starting, task 3 has started. TEST3 : creating task 'aa04', number = 4, id = 0a010015, starting, task 4 has started. TEST3 : creating task 'aa05', number = 5, id = 0a010016, starting, task 5 has started. …. TEST3 : signal task 0a0103e6 to delete, task 996 ending. TEST3 : signal task 0a0103e7 to delete, task 997 ending. TEST3 : signal task 0a0103e8 to delete, task 998 ending. TEST3 : signal task 0a0103e9 to delete, task 999 ending. TEST3 : completed *** END OF TEST UNLIMITED TASK *** [ RTEMS shutdown ] RTEMS version: 7.0.0.55d4bbd9d827275bbfd8fd76d00cd4b0e5c8bf01 RTEMS tools: 15.2.0 20250808 (RTEMS 7, RSB 94768365158083a6be02759c800827c0d7c60c79, Newlib 038afec1) executing thread ID: 0x0a010001 executing thread name: UI1 File IO: fileio.exe *** BEGIN OF TEST FILE I/O *** *** TEST VERSION: 7.0.0.55d4bbd9d827275bbfd8fd76d00cd4b0e5c8bf01 *** TEST STATE: USER_INPUT *** TEST BUILD: RTEMS_POSIX_API *** TEST TOOLS: 15.2.0 20250808 (RTEMS 7, RSB 94768365158083a6be02759c800827c0d7c60c79, Newlib 038afec1) Press any key to start file I/O sample (20s remaining) Press any key to start file I/O sample (19s remaining) ========================= RTEMS FILE I/O Test Menu ========================= p -> part_table_initialize f -> mount all disks in fs_table l -> list file r -> read file w -> write file s -> start shell Enter your selection ==>s Creating /etc/passwd and group with four useable accounts: root/pwd test/pwd rtems/NO PASSWORD chroot/NO PASSWORD Only the root user has access to all available commands. ========================= starting shell ========================= Welcome to rtems-7.0.0 (AArch64/AArch64-LP64/raspberrypi5) Copyright (C) 1989, 2021 RTEMS Project and contributors Login into RTEMS /dev/foobar login: root Password: RTEMS Shell on /dev/foobar. Use 'help' to list commands. SHLL [/] # help help: The topics are all, files, misc, help, mem, rtems, user, monitor SHLL [/] # pwd / SHLL [/] # ls chroot dev etc scripts SHLL [/] # task ID NAME SHED PRI STATE MODES EVENTS WAITINFO ------------------------------------------------------------------------------ 0a010002 FMNU UPD 1 EV P:T:nA NONE 0a010003 SHLL UPD 100 READY P:T:nA NONE SHLL [/] # malloc C Program Heap and RTEMS Workspace are the same. Number of free blocks: 6 Largest free block: 987334864 Total bytes free: 987338944 Number of used blocks: 119 Largest used block: 41168 Total bytes used: 81728 Size of the allocatable area in bytes: 987420672 Minimum free size ever in bytes: 987337184 Maximum number of free blocks ever: 6 Maximum number of blocks searched ever: 3 Lifetime number of bytes allocated: 103392 Lifetime number of bytes freed: 21664 Total number of searches: 184 Total number of successful allocations: 159 Total number of failed allocations: 0 Total number of successful frees: 40 Total number of successful resizes: 1 SHLL [/] # IO Stream: iostream.exe *** BEGIN OF TEST IOSTREAM *** *** TEST VERSION: 7.0.0.55d4bbd9d827275bbfd8fd76d00cd4b0e5c8bf01 *** TEST STATE: EXPECTED_PASS *** TEST BUILD: RTEMS_POSIX_API *** TEST TOOLS: 15.2.0 20250808 (RTEMS 7, RSB 94768365158083a6be02759c800827c0d7c60c79, Newlib 038afec1) Hello World *** END OF TEST IOSTREAM *** [ RTEMS shutdown ] RTEMS version: 7.0.0.55d4bbd9d827275bbfd8fd76d00cd4b0e5c8bf01 RTEMS tools: 15.2.0 20250808 (RTEMS 7, RSB 94768365158083a6be02759c800827c0d7c60c79, Newlib 038afec1) executing thread ID: 0x0a010001 executing thread name: UI1 Paranoia Floating Point Application: paranoia.exe *** BEGIN OF TEST PARANOIA *** *** TEST VERSION: 7.0.0.55d4bbd9d827275bbfd8fd76d00cd4b0e5c8bf01 *** TEST STATE: EXPECTED_PASS *** TEST BUILD: RTEMS_POSIX_API *** TEST TOOLS: 15.2.0 20250808 (RTEMS 7, RSB 94768365158083a6be02759c800827c0d7c60c79, Newlib 038afec1) paranoia version 1.1 [cygnus] Program is now RUNNING tests on small integers: TEST: 0+0 != 0, 1-1 != 0, 1 <= 0, or 1+1 != 2 PASS: 0+0 != 0, 1-1 != 0, 1 <= 0, or 1+1 != 2 TEST: 3 != 2+1, 4 != 3+1, 4+2*(-2) != 0, or 4-3-1 != 0 PASS: 3 != 2+1, 4 != 3+1, 4+2*(-2) != 0, or 4-3-1 != 0 TEST: -1+1 != 0, (-1)+abs(1) != 0, or -1+(-1)*(-1) != 0 PASS: -1+1 != 0, (-1)+abs(1) != 0, or -1+(-1)*(-1) != 0 TEST: 1/2 + (-1) + 1/2 != 0 PASS: 1/2 + (-1) + 1/2 != 0 TEST: 9 != 3*3, 27 != 9*3, 32 != 8*4, or 32-27-4-1 != 0 PASS: 9 != 3*3, 27 != 9*3, 32 != 8*4, or 32-27-4-1 != 0 TEST: 5 != 4+1, 240/3 != 80, 240/4 != 60, or 240/5 != 48 PASS: 5 != 4+1, 240/3 != 80, 240/4 != 60, or 240/5 != 48 -1, 0, 1/2, 1, 2, 3, 4, 5, 9, 27, 32 & 240 are O.K. Searching for Radix and Precision. Radix = 2.000000 . Closest relative separation found is U1 = 1.1102230e-16 . Recalculating radix and precision confirms closest relative separation U1 . Radix confirmed. TEST: Radix is too big: roundoff problems PASS: Radix is too big: roundoff problems TEST: Radix is not as good as 2 or 10 PASS: Radix is not as good as 2 or 10 TEST: (1-U1)-1/2 < 1/2 is FALSE, prog. fails? PASS: (1-U1)-1/2 < 1/2 is FALSE, prog. fails? TEST: Comparison is fuzzy,X=1 but X-1/2-1/2 != 0 PASS: Comparison is fuzzy,X=1 but X-1/2-1/2 != 0 The number of significant digits of the Radix is 53.000000 . TEST: Precision worse than 5 decimal figures PASS: Precision worse than 5 decimal figures TEST: Subtraction is not normalized X=Y,X+Z != Y+Z! PASS: Subtraction is not normalized X=Y,X+Z != Y+Z! Subtraction appears to be normalized, as it should be. Checking for guard digit in *, /, and -. TEST: * gets too many final digits wrong. PASS: * gets too many final digits wrong. TEST: Division lacks a Guard Digit, so error can exceed 1 ulp or 1/3 and 3/9 and 9/27 may disagree PASS: Division lacks a Guard Digit, so error can exceed 1 ulp or 1/3 and 3/9 and 9/27 may disagree TEST: Computed value of 1/1.000..1 >= 1 PASS: Computed value of 1/1.000..1 >= 1 TEST: * and/or / gets too many last digits wrong PASS: * and/or / gets too many last digits wrong *, /, and - appear to have guard digits, as they should. Checking rounding on multiply, divide and add/subtract. TEST: X * (1/X) differs from 1 PASS: X * (1/X) differs from 1 Multiplication appears to round correctly. Division appears to round correctly. TEST: Radix * ( 1 / Radix ) differs from 1 PASS: Radix * ( 1 / Radix ) differs from 1 TEST: Incomplete carry-propagation in Addition PASS: Incomplete carry-propagation in Addition Addition/Subtraction appears to round correctly. Checking for sticky bit. Sticky bit apparently used correctly. TEST: lack(s) of guard digits or failure(s) to correctly round or chop (noted above) count as one flaw in the final tally below PASS: lack(s) of guard digits or failure(s) to correctly round or chop (noted above) count as one flaw in the final tally below Does Multiplication commute? Testing on 20 random pairs. No failures found in 20 integer pairs. Running test of square root(x). TEST: Square root of 0.0, -0.0 or 1.0 wrong PASS: Square root of 0.0, -0.0 or 1.0 wrong Testing if sqrt(X * X) == X for 20 Integers X. Test for sqrt monotonicity. sqrt has passed a test for Monotonicity. Testing whether sqrt is rounded or chopped. Square root appears to be correctly rounded. Testing powers Z^i for small Integers Z and i. ... no discrepancies found. Seeking Underflow thresholds UfThold and E0. Smallest strictly positive number found is E0 = 4.94066e-324 . Since comparison denies Z = 0, evaluating (Z + Z) / Z should be safe. What the machine gets for (Z + Z) / Z is 2.00000000000000000e+00 . This is O.K., provided Over/Underflow has NOT just been signaled. Underflow is gradual; it incurs Absolute Error = (roundoff in UfThold) < E0. The Underflow threshold is 2.22507385850720188e-308, below which calculation may suffer larger Relative error than merely roundoff. Since underflow occurs below the threshold UfThold = (2.00000000000000000e+00) ^ (-1.02200000000000000e+03) only underflow should afflict the expression (2.00000000000000000e+00) ^ (-2.04400000000000000e+03); actually calculating yields: 0.00000000000000000e+00 . This computed value is O.K. Testing X^((X + 1) / (X - 1)) vs. exp(2) = 7.38905609893065218e+00 as X -> 1. Accuracy seems adequate. Testing powers Z^Q at four nearly extreme values. ... no discrepancies found. Searching for Overflow threshold: This may generate an error. Can `Z = -Y' overflow? Trying it on Y = -inf . Seems O.K. Overflow threshold is V = 1.79769313486231571e+308 . Overflow saturates at V0 = inf . No Overflow should be signaled for V * 1 = 1.79769313486231571e+308 nor for V / 1 = 1.79769313486231571e+308 . Any overflow signal separating this * from the one above is a DEFECT. What message and/or values does Division by Zero produce? Trying to compute 1 / 0 produces ... inf . Trying to compute 0 / 0 produces ... nan . No failures, defects nor flaws have been discovered. Rounding appears to conform to the proposed IEEE standard P754. The arithmetic diagnosed appears to be Excellent! END OF TEST. *** END OF TEST PARANOIA *** [ RTEMS shutdown ] RTEMS version: 7.0.0.55d4bbd9d827275bbfd8fd76d00cd4b0e5c8bf01 RTEMS tools: 15.2.0 20250808 (RTEMS 7, RSB 94768365158083a6be02759c800827c0d7c60c79, Newlib 038afec1) executing thread ID: 0x0a010001 executing thread name: UI1