Skip to content

Commit fcc28a5

Browse files
committed
ip: Remove ctor dev-dependency
Setup for tests is now part of the Makefile.
1 parent 820e3d5 commit fcc28a5

File tree

3 files changed

+29
-47
lines changed

3 files changed

+29
-47
lines changed

Cargo.toml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,4 +27,3 @@ tokio = { version = "1.30", features = ["rt", "net", "time", "macros"] }
2727

2828
[dev-dependencies]
2929
pretty_assertions = "1.4.1"
30-
ctor = "0.5.0"

Makefile

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,32 @@
1-
check:
1+
tests_setup:
2+
sudo ip netns list | grep -qw iproute-rs-test && sudo ip netns del iproute-rs-test || true
3+
sudo ip netns add iproute-rs-test
4+
5+
# Create veth pair and move one end into the test netns
6+
sudo ip link add veth0 type veth peer name veth1
7+
sudo ip link set veth1 netns iproute-rs-test
8+
sudo ip addr add 192.0.2.1/24 dev veth0
9+
sudo ip link set veth0 up
10+
sudo ip -n iproute-rs-test addr add 192.0.2.2/24 dev veth1
11+
sudo ip -n iproute-rs-test link set veth1 up
12+
sudo ip -n iproute-rs-test link set lo up
13+
14+
# create dummy, altname, bridge and vlan inside the test netns
15+
sudo ip -n iproute-rs-test link add dummy0 type dummy
16+
sudo ip -n iproute-rs-test link property add dev dummy0 altname dmmy-zero
17+
sudo ip -n iproute-rs-test link add br0 type bridge
18+
sudo ip -n iproute-rs-test link add link dummy0 name dummy0.1 type vlan id 1
19+
sudo ip -n iproute-rs-test link set dev dummy0.1 master br0
20+
21+
sudo ip -n iproute-rs-test link set dummy0 up
22+
sudo ip -n iproute-rs-test link set dummy0.1 up
23+
sudo ip -n iproute-rs-test link set br0 up
24+
25+
echo "setup network namespace for tests finished"
26+
sudo ip -n iproute-rs-test -c -d link show
27+
28+
check: tests_setup
229
cargo build;
330
env CARGO_TARGET_X86_64_UNKNOWN_LINUX_GNU_RUNNER="sudo" \
431
cargo test -- --test-threads=1 --show-output $(WHAT) ;
32+
sudo ip netns del iproute-rs-test

src/ip/link/tests/link.rs

Lines changed: 0 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -106,51 +106,6 @@ fn normalize_timers_json(output: &str) -> String {
106106
result
107107
}
108108

109-
#[cfg(test)]
110-
#[ctor::ctor]
111-
fn setup() {
112-
println!("setup network namespace and interfaces for tests");
113-
114-
// Create network namespace (delete first if it exists)
115-
let netns_list = exec_cmd(&["ip", "netns", "list"]);
116-
if netns_list.contains(TEST_NETNS) {
117-
exec_cmd(&["ip", "netns", "del", TEST_NETNS]);
118-
}
119-
exec_cmd(&["ip", "netns", "add", TEST_NETNS]);
120-
121-
// Add vlan over dummy interface
122-
exec_in_netns(&["ip", "link", "add", "dummy0", "type", "dummy"]);
123-
exec_in_netns(&[
124-
"ip",
125-
"link",
126-
"property",
127-
"add",
128-
"dev",
129-
"dummy0",
130-
"altname",
131-
"dmmy-zero",
132-
]);
133-
exec_in_netns(&["ip", "link", "add", "br0", "type", "bridge"]);
134-
exec_in_netns(&[
135-
"ip", "link", "add", "link", "dummy0", "name", "dummy0.1", "type",
136-
"vlan", "id", "1",
137-
]);
138-
exec_in_netns(&["ip", "link", "set", "dev", "dummy0.1", "master", "br0"]);
139-
140-
exec_in_netns(&["ip", "link", "set", "dummy0", "up"]);
141-
exec_in_netns(&["ip", "link", "set", "dummy0.1", "up"]);
142-
exec_in_netns(&["ip", "link", "set", "br0", "up"]);
143-
}
144-
145-
#[cfg(test)]
146-
#[ctor::dtor]
147-
fn teardown() {
148-
println!("teardown network namespace for tests");
149-
150-
// Delete network namespace
151-
exec_cmd(&["ip", "netns", "del", TEST_NETNS]);
152-
}
153-
154109
#[test]
155110
fn test_link_show() {
156111
let cli_path = get_ip_cli_path();

0 commit comments

Comments
 (0)