Skip to content

Commit cb034e3

Browse files
committed
Refactor integration test core into a new 'obs-commander-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 ccfe422 commit cb034e3

File tree

6 files changed

+1013
-848
lines changed

6 files changed

+1013
-848
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
"obs-commander",
5+
"obs-commander-tests",
56
"obs-commander-test-support",
67
"obs-gitlab-runner"
78
]

obs-commander-tests/Cargo.toml

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

0 commit comments

Comments
 (0)