|
| 1 | +# Coverage areas for CI markdown report (tools/gen_ci_test_report.py). |
| 2 | +# status per arch is derived: covered | partial | missing |
| 3 | +# - covered: listed case exists and is expected on that arch |
| 4 | +# - partial: happy-path only / unit-only / arch-limited / known gap |
| 5 | +# - missing: area not exercised on that arch |
| 6 | + |
| 7 | +version: 1 |
| 8 | + |
| 9 | +arches: |
| 10 | + - tricore |
| 11 | + - riscv |
| 12 | + - arm |
| 13 | + |
| 14 | +# Unit tests run once on host; report marks them kind=unit (not per-arch QEMU). |
| 15 | +areas: |
| 16 | + - id: thread.basic |
| 17 | + title: Thread create/yield/prio/suspend |
| 18 | + cases: [thread_unit, sdk_suite/thread_lifecycle, sdk_suite/abi_smoke] |
| 19 | + tricore: covered |
| 20 | + riscv: covered |
| 21 | + arm: covered |
| 22 | + |
| 23 | + - id: sched.order |
| 24 | + title: Scheduler ordering / preempt |
| 25 | + cases: [sched_unit, sdk_suite/sched_order, sdk_suite/preempt] |
| 26 | + tricore: covered |
| 27 | + riscv: covered |
| 28 | + arm: covered |
| 29 | + |
| 30 | + - id: ipc.basic |
| 31 | + title: IPC call/recv/reply |
| 32 | + cases: [ipc_unit, sdk_suite/ipc, sdk_suite/abi_smoke] |
| 33 | + tricore: covered |
| 34 | + riscv: covered |
| 35 | + arm: covered |
| 36 | + |
| 37 | + - id: ipc.priority_inherit |
| 38 | + title: Priority inheritance (observable) |
| 39 | + cases: [ipc_unit, sdk_suite/ipc_pi] |
| 40 | + tricore: covered |
| 41 | + riscv: covered |
| 42 | + arm: covered |
| 43 | + note: silicon_ipc_pi + sdk_suite/ipc_pi |
| 44 | + |
| 45 | + - id: mem.heap |
| 46 | + title: Per-thread heap / extend |
| 47 | + cases: [mem_unit, sdk_suite/mem_heap, sdk_suite/abi_smoke] |
| 48 | + tricore: covered |
| 49 | + riscv: covered |
| 50 | + arm: covered |
| 51 | + |
| 52 | + - id: mem.isolation |
| 53 | + title: MPU isolation |
| 54 | + cases: [sdk_suite/mem_isolation] |
| 55 | + tricore: covered |
| 56 | + riscv: covered |
| 57 | + arm: partial |
| 58 | + note: ARM mem_grant livelock risk |
| 59 | + |
| 60 | + - id: cap.eperm_neg |
| 61 | + title: CAP/privilege EPERM matrix |
| 62 | + cases: [sdk_suite/cap_neg] |
| 63 | + tricore: covered |
| 64 | + riscv: covered |
| 65 | + arm: covered |
| 66 | + note: silicon_cap_neg HIL PASS; sdk_suite/cap_neg |
| 67 | + |
| 68 | + - id: mem.grant |
| 69 | + title: mem_grant peer access |
| 70 | + cases: [sdk_suite/mem_grant] |
| 71 | + tricore: covered |
| 72 | + riscv: covered |
| 73 | + arm: covered |
| 74 | + note: silicon_mem_grant HIL PASS; sdk_suite/mem_grant |
| 75 | + |
| 76 | + - id: fault.policy |
| 77 | + title: Fault kill vs panic policy |
| 78 | + cases: [sdk_suite/fault_policy] |
| 79 | + tricore: covered |
| 80 | + riscv: covered |
| 81 | + arm: covered |
| 82 | + note: userspace MPU fault kills thread; system continues |
| 83 | + |
| 84 | + - id: irq.sw |
| 85 | + title: Software IRQ bind/enable/ack |
| 86 | + cases: [sdk_suite/irq_sw, sdk_suite/abi_smoke] |
| 87 | + tricore: covered |
| 88 | + riscv: covered |
| 89 | + arm: covered |
| 90 | + |
| 91 | + - id: irq.stress |
| 92 | + title: IRQ rebind/flood/out-of-order ack |
| 93 | + cases: [sdk_suite/irq_stress] |
| 94 | + tricore: covered |
| 95 | + riscv: covered |
| 96 | + arm: covered |
| 97 | + note: silicon_irq_stress HIL + sdk_suite/irq_stress |
| 98 | + |
| 99 | + - id: wcet.syscall_o1 |
| 100 | + title: Syscall WCET O(1) via kernel CCNT slot |
| 101 | + cases: [] |
| 102 | + tricore: covered |
| 103 | + riscv: n/a |
| 104 | + arm: n/a |
| 105 | + note: silicon_wcet HIL only (ULMK_CONFIG_SYSCALL_WCET); QEMU out of scope |
| 106 | + |
| 107 | + - id: proc.mgmt |
| 108 | + title: Process CREATE/DESTROY/ADD_REGION/GRANT_IRQ |
| 109 | + cases: [] |
| 110 | + tricore: missing |
| 111 | + riscv: missing |
| 112 | + arm: missing |
| 113 | + note: out of scope this cycle — process model TBD; GRANT_CAP is ulmk_cap_grant |
| 114 | + |
| 115 | + - id: atomic |
| 116 | + title: Atomics |
| 117 | + cases: [atomic_unit, sdk_suite/atomic_stress] |
| 118 | + tricore: covered |
| 119 | + riscv: covered |
| 120 | + arm: covered |
| 121 | + |
| 122 | + - id: sleep.timer |
| 123 | + title: Board timer sleep |
| 124 | + cases: [sdk_suite/sleep_timer] |
| 125 | + tricore: covered |
| 126 | + riscv: covered |
| 127 | + arm: covered |
| 128 | + |
| 129 | + - id: boot.bss |
| 130 | + title: Boot / BSS |
| 131 | + cases: [sdk_suite/boot_bss] |
| 132 | + tricore: covered |
| 133 | + riscv: covered |
| 134 | + arm: covered |
| 135 | + |
| 136 | + - id: ctx.switch |
| 137 | + title: Context switch |
| 138 | + cases: [sdk_suite/ctx_switch] |
| 139 | + tricore: covered |
| 140 | + riscv: covered |
| 141 | + arm: covered |
| 142 | + |
| 143 | + - id: resource.leak |
| 144 | + title: Resource leak / reclaim |
| 145 | + cases: [sdk_suite/resource_leak] |
| 146 | + tricore: covered |
| 147 | + riscv: covered |
| 148 | + arm: covered |
| 149 | + |
| 150 | + - id: abi.smoke |
| 151 | + title: Public syscall smoke |
| 152 | + cases: [sdk_suite/abi_smoke] |
| 153 | + tricore: covered |
| 154 | + riscv: covered |
| 155 | + arm: covered |
| 156 | + |
| 157 | + - id: arch.ctx_early_tricore |
| 158 | + title: TriCore CSA early whitebox |
| 159 | + cases: [sdk_suite/arch_whitebox/ctx_early_tricore] |
| 160 | + tricore: covered |
| 161 | + riscv: missing |
| 162 | + arm: missing |
| 163 | + note: arch-only |
| 164 | + |
| 165 | + - id: ipc.destroy_waiters |
| 166 | + title: ep/notif destroy with waiters |
| 167 | + cases: [ipc_unit, sdk_suite/destroy_waiters] |
| 168 | + tricore: missing |
| 169 | + riscv: missing |
| 170 | + arm: missing |
| 171 | + note: silicon_destroy_waiters + sdk_suite/destroy_waiters |
| 172 | + |
| 173 | + - id: ipc.kill_rendezvous |
| 174 | + title: Kill/exit mid IPC rendezvous |
| 175 | + cases: [sdk_suite/kill_rendezvous] |
| 176 | + tricore: missing |
| 177 | + riscv: missing |
| 178 | + arm: missing |
| 179 | + note: silicon_kill_rendezvous + sdk_suite/kill_rendezvous |
| 180 | + |
| 181 | + - id: pool.exhaust |
| 182 | + title: TCB/EP/notif pool exhaustion |
| 183 | + cases: [sdk_suite/pool_exhaust] |
| 184 | + tricore: missing |
| 185 | + riscv: missing |
| 186 | + arm: missing |
| 187 | + note: silicon_pool_exhaust + sdk_suite/pool_exhaust |
| 188 | + |
| 189 | + - id: ipc.recv_or_notif_race |
| 190 | + title: recv_or_notif IPC vs notif race |
| 191 | + cases: [sdk_suite/recv_or_notif_race] |
| 192 | + tricore: missing |
| 193 | + riscv: missing |
| 194 | + arm: missing |
| 195 | + note: silicon_recv_or_notif_race + sdk_suite/recv_or_notif_race |
0 commit comments