test: replace wall-clock loop deadlines with progress criteria
CI / Build & test (Windows) (push) Failing after 30s
CI / Build & test (Linux) (push) Canceled after 8m31s

Three real-engine throughput loops (thumbnail pipeline, full-res fill
behind the proxy, playback window supply) failed on machine slowness:
their pass/fail was a wall-clock Instant deadline, so a loaded machine
broke them for speed, not for a broken pipeline. Each loop now counts
engine pumps — machine-speed independent — and asserts the condition
within a bounded number of pumps. The two single-frame worker channel
receives keep a generous 60 s recv_timeout (a one-shot bounded
operation, not a throughput loop).

oak-cli: the integration fixtures moved with the app crate during the
workspace restructure; point the fixture helpers at
../oak-app/tests instead of the (now empty) repo-root tests/.
This commit is contained in:
2026-08-22 20:11:43 +08:00
parent c4705cbb2c
commit a5208b6cae
11 changed files with 33 additions and 26 deletions
+5 -6
View File
@@ -42,17 +42,17 @@ fn bin() -> &'static str {
/// The fixture `.ove` file (relative to the workspace root).
fn fixture_project() -> PathBuf {
// The fixtures live with the app crate (moved there in the workspace
// restructure); oak-cli sits one level below oak-app.
Path::new(env!("CARGO_MANIFEST_DIR"))
.join("../..")
.join("tests")
.join("../oak-app/tests")
.join("project_with_footage.ove")
}
/// The real media fixture.
fn fixture_media() -> PathBuf {
Path::new(env!("CARGO_MANIFEST_DIR"))
.join("../..")
.join("tests")
.join("../oak-app/tests")
.join("demo.mp4")
}
@@ -60,8 +60,7 @@ fn fixture_media() -> PathBuf {
/// no audio — fast end-to-end transcode coverage.
fn fixture_image() -> PathBuf {
Path::new(env!("CARGO_MANIFEST_DIR"))
.join("../..")
.join("tests")
.join("../oak-app/tests")
.join("img.png")
}