Skip to content

Commit 9d78d16

Browse files
committed
Refactor integration test core into a new 'obo-tests' crate
Most of this logic is rather intricate and shareable between multiple implementations, so it makes sense for them to be in a separate crate. This necessitates quite a bit of refactoring of the test structure so that the shared test code can actually run commands and inspect the logs + artifacts. Since there are various somewhat strange requirements around command execution (i.e. needing to use timeouts but still get the result), that API was redone around a builder trait, which also makes it easy for implementation-specific tests to have their own methods on it.
1 parent c0aac91 commit 9d78d16

File tree

6 files changed

+1018
-844
lines changed

6 files changed

+1018
-844
lines changed

Cargo.lock

Lines changed: 16 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
resolver = "3"
33
members = [
44
"obo-core",
5+
"obo-tests",
56
"obo-test-support",
67
"obs-gitlab-runner"
78
]

obo-tests/Cargo.toml

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
[package]
2+
name = "obo-tests"
3+
description = "OBS Build Orchestrator — shared tests for different frontends"
4+
version = "0.1.0"
5+
edition = "2024"
6+
license = "MIT OR Apache-2.0"
7+
8+
[dependencies]
9+
async-trait.workspace = true
10+
camino.workspace = true
11+
claims.workspace = true
12+
obo-core = { path = "../obo-core" }
13+
obo-test-support = { path = "../obo-test-support" }
14+
open-build-service-api.workspace = true
15+
open-build-service-mock.workspace = true
16+
serde_yaml.workspace = true
17+
tokio.workspace = true

0 commit comments

Comments
 (0)