Skip to content

Commit acae225

Browse files
d-e-s-odanielocfb
authored andcommitted
Introduce libbpf-rs-dev crate
Our test file generation logic has grown and gotten more complex. To mitigate the situation somewhat, move all this stuff into a separate workspace member: libbpf-rs-dev. Signed-off-by: Daniel Müller <[email protected]>
1 parent 6927be1 commit acae225

File tree

6 files changed

+40
-2
lines changed

6 files changed

+40
-2
lines changed

Cargo.lock

Lines changed: 9 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
@@ -10,6 +10,7 @@ homepage = "https://github.com/libbpf/libbpf-rs"
1010
members = [
1111
"libbpf-cargo",
1212
"libbpf-rs",
13+
"libbpf-rs/dev",
1314
"examples/bpf_query",
1415
"examples/capable",
1516
"examples/runqslower",

libbpf-rs/Cargo.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ tempfile = { version = "3.3", optional = true }
4545

4646
[dev-dependencies]
4747
libbpf-rs = {path = ".", features = ["generate-test-files"]}
48+
libbpf-rs-dev = {path = "dev", features = ["generate-test-files"]}
4849
log = "0.4.4"
4950
memmem = "0.1.1"
5051
plain = "0.2.3"

libbpf-rs/dev/Cargo.toml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
# A development-only package for generating libbpf-rs test artifacts.
2+
3+
[package]
4+
name = "libbpf-rs-dev"
5+
version = "0.0.0"
6+
edition.workspace = true
7+
authors = ["Daniel Müller <[email protected]>"]
8+
publish = false
9+
10+
[lib]
11+
path = "lib.rs"
12+
13+
[features]
14+
# Enable this feature to opt in to the generation of unit test files.
15+
# Having these test files created is necessary for running tests.
16+
generate-test-files = ["libbpf-sys/vendored-libbpf", "dep:tempfile"]
17+
# Disable generation of test files. This feature takes preference over
18+
# `generate-test-files`.
19+
dont-generate-test-files = []
20+
21+
[build-dependencies]
22+
libbpf-sys = { version = "1.4.1", default-features = false, optional = true }
23+
tempfile = { version = "3.3", optional = true }
Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -271,9 +271,12 @@ fn prepare_test_files(crate_root: &Path) {
271271
}
272272

273273
fn main() {
274-
let crate_dir = env::var("CARGO_MANIFEST_DIR").unwrap();
274+
let crate_dir = Path::new(&env::var("CARGO_MANIFEST_DIR").unwrap())
275+
.parent()
276+
.unwrap()
277+
.to_path_buf();
275278

276279
if cfg!(feature = "generate-test-files") && !cfg!(feature = "dont-generate-test-files") {
277-
prepare_test_files(crate_dir.as_ref());
280+
prepare_test_files(&crate_dir);
278281
}
279282
}

libbpf-rs/dev/lib.rs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+

0 commit comments

Comments
 (0)