433b76e43c
把丢失的 box 录像放回 apps/studio/tests/data/,修掉第 3 节 3–10 号与两处过时测试桩, 注册 timing 标记并让根目录收集零错误;新增 tools/gate.ps1 与可选的 pre-push 钩子。 验证:studio 524 通过 19 跳过、shared 467 通过 18 跳过、ui_check 632 项 0 失败、gate.ps1 退出码 0。 细节见 docs/test-repair-plan.zh.md。
35 lines
1.8 KiB
Markdown
35 lines
1.8 KiB
Markdown
# Test recordings
|
||
|
||
`box_short_20260930/` is one real recording, kept in the repository because several tests
|
||
must drive the real SDK chain over real footage. A synthetic clip cannot replace it: the
|
||
box chain's stitch probe looks for the lenslet grid in the image, does not converge on
|
||
generated pixels, and a synthetic 896² clip sent the chain into minutes of work where this
|
||
33-frame clip takes about two seconds.
|
||
|
||
## What it is
|
||
|
||
| | |
|
||
|---|---|
|
||
| Sensor | `box` (shipped bundle) |
|
||
| Source | `dist/OrisysStudio/outputs/recordings/20260930T015028Z_session0002_40cb8e7441434feab48bb646afdba011`, recorded 2026-09-30, `session_id` 2 |
|
||
| Length | 33 frames, frame ids **20…52**, 1.92 s of signal time |
|
||
| Files | `raw_0001.mp4`, `frames.csv`, `forces.csv`, `events.csv`, `session.json` (3.8 MB) |
|
||
| Not included | `preroll_0001.mp4` (3.5 MB, optional for every reader: `RecordingReader.preroll_segment()` answers `None` when the file is absent) |
|
||
|
||
`dist/` is build output and is not tracked, so the copy under it disappeared on
|
||
2026-10-14 when the studio was repackaged. That took 11 tests to `ERROR` and 4 to
|
||
`failed` without anyone noticing — see
|
||
[`docs/test-repair-plan.zh.md`](../../../docs/test-repair-plan.zh.md) §1 and §3 #1–#2.
|
||
|
||
The frame ids are deliberately not 0…32: a test that used the frame *index* would pass on
|
||
a 0-based recording, and real recordings start wherever the device's counter was.
|
||
|
||
## Rules
|
||
|
||
- **Do not replace it with a generated recording.** The chain's behaviour on these pixels
|
||
is part of what the tests defend.
|
||
- **Do not write into it from a test.** The tests that analyse it copy it into `tmp_path`
|
||
first, because a pass writes its result beside the recording.
|
||
- **If it goes missing, restore it or the tests fail.** They no longer skip on a missing
|
||
input: a skip is how this went unnoticed.
|