summaryrefslogtreecommitdiff
path: root/test/smp/regression/testcontrol.c
AgeCommit message (Collapse)Author
2026-09-20Covered the byte allocate's overwritten trace entryFrédéric Desbiens
The byte allocate records a trace event on the way in, saves the entry's time stamp, and comes back to write the address it returned into that same entry -- but only if the time stamp says nothing overwrote the entry meanwhile. Nothing in the kernel writes a trace event inside the window, so the other arm had no agent and no test. The Linux SMP port's TX_BYTE_ALLOCATE_EXTENSION gains a second clause, guarded by its own flag and calling a routine the harness declares weakly, in the shape TX_BYTE_RELEASE_EXTENSION already uses. The hook runs between the restore and the disable that bracket the pool search, which on SMP is a real release of the protection rather than an interrupt gap. A new test filters the byte pool event class so the allocate's own insert writes nothing and leaves the buffer parked on the saved entry, then lets the hook write a user event onto it; neither lever reaches the arm without the other. No kernel symbol is replaced and the allocate runs its own code end to end. The macro expands inside tx_byte_allocate.c, so the new clause's if is certified-source branch: the union branch denominator moves from 3610 to 3612 and both new outcomes are covered. The arm closes in trace_build alone. Under TX_MISRA_ENABLE the port's trace time source returns a constant, so the comparison reads 0 == 0 whatever the hook writes, and the test asserts the consequence only where the time source is real. 135/135 in each of eight configurations, 3586/3612 branch outcomes on the union basis against 3583/3610 before. Fifty standalone repeats in each of the eight, no failures. Assisted-by: Claude Code (Opus 5) <[email protected]>
2026-09-19Restored the missing licence headers on the ThreadX SMP regression testsFrédéric Desbiens
109 of the 110 tracked files in test/smp/regression carry no copyright notice and no licence text at all. The one that does was added this month. Everything else in the repository -- common/src, common_smp/src, the ports, the samples -- carries the standard header, so this is an oversight in one directory rather than a deliberate exemption, and it has been there since the tests were first published. The monoprocessor tree had the same gap and was fixed the same way. The header added here is byte identical to the one in common_smp/src, including its SPDX identifier. Nothing else in these files changes: every hunk is ten added lines and none removed. There is deliberately no "Eclipse ThreadX contributors" line and no AI disclosure paragraph -- this commit contributes no code, it records the licence the files were always under. A later change that does contribute code to one of these files adds the contributor line and its own attribution at that point, which is when there is something to attribute. Verified: all eight build configurations build clean and pass 109 of 109, and the coverage figure is unmoved at 5386/5450 lines and 2807/3610 branches over the union of the eight. Assisted-by: Claude Code (Opus 5) <[email protected]>
2023-05-12Add random number stack filling option. (#257)Xiuwen Cai
Co-authored-by: TiejunZhou <[email protected]>
2023-04-04Release ThreadX regression systemTiejun Zhou