From ebbffc750693397416bd72537b0ab0ead9114ce9 Mon Sep 17 00:00:00 2001 From: bruingineer Date: Mon, 17 Nov 2025 01:17:30 -0800 Subject: [PATCH 1/5] add docker ipv4 tests to GH action --- .github/workflows/rust.yml | 9 +++++++++ docker-linux/Dockerfile | 3 +-- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/.github/workflows/rust.yml b/.github/workflows/rust.yml index 20e2ade..8632676 100644 --- a/.github/workflows/rust.yml +++ b/.github/workflows/rust.yml @@ -20,6 +20,15 @@ jobs: - name: Run tests run: cargo test --verbose + + test-linux-ipv4: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - name: Build + run: docker build -t sacn-tests -f docker-linux/Dockerfile . + - name: Run tests + run: docker run --cap-add=NET_ADMIN sacn-tests test-windows: runs-on: windows-latest diff --git a/docker-linux/Dockerfile b/docker-linux/Dockerfile index 20d3d0d..58742dd 100644 --- a/docker-linux/Dockerfile +++ b/docker-linux/Dockerfile @@ -22,5 +22,4 @@ RUN chmod +x run_tests.sh # RUN cargo test # default command runs your multicast suite; tweak if needed -CMD ["./run_tests.sh"] - \ No newline at end of file +CMD ["./run_tests.sh"] \ No newline at end of file From ef264c836ff1205af66d1ebce24b7c9f82436fb8 Mon Sep 17 00:00:00 2001 From: bruingineer Date: Tue, 18 Nov 2025 13:14:30 -0800 Subject: [PATCH 2/5] Run ipv4 tests with single thread --- docker-linux/run_tests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-linux/run_tests.sh b/docker-linux/run_tests.sh index 8154140..c7e757c 100644 --- a/docker-linux/run_tests.sh +++ b/docker-linux/run_tests.sh @@ -22,4 +22,4 @@ ip a show dev lo # sysctl -p cargo test -cargo test ipv4 -- --ignored --nocapture +cargo test ipv4 -- --ignored --nocapture --test-threads=1 From 16e3a1b2b1ee1ff5bc860868b17fd658da7e970d Mon Sep 17 00:00:00 2001 From: bruingineer Date: Wed, 19 Nov 2025 02:34:06 -0800 Subject: [PATCH 3/5] Remove test-threads option from ipv4 tests: revert due to gh down --- docker-linux/run_tests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-linux/run_tests.sh b/docker-linux/run_tests.sh index c7e757c..8154140 100644 --- a/docker-linux/run_tests.sh +++ b/docker-linux/run_tests.sh @@ -22,4 +22,4 @@ ip a show dev lo # sysctl -p cargo test -cargo test ipv4 -- --ignored --nocapture --test-threads=1 +cargo test ipv4 -- --ignored --nocapture From 672a57ee4a1ab181535f8456b3705e9ecfab2316 Mon Sep 17 00:00:00 2001 From: bruingineer Date: Wed, 19 Nov 2025 02:36:52 -0800 Subject: [PATCH 4/5] Run ipv4 tests with single thread: trigger tests --- docker-linux/run_tests.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker-linux/run_tests.sh b/docker-linux/run_tests.sh index 8154140..c7e757c 100644 --- a/docker-linux/run_tests.sh +++ b/docker-linux/run_tests.sh @@ -22,4 +22,4 @@ ip a show dev lo # sysctl -p cargo test -cargo test ipv4 -- --ignored --nocapture +cargo test ipv4 -- --ignored --nocapture --test-threads=1 From dc8f8f753cc10bb9df46b69391c73ba9b9895660 Mon Sep 17 00:00:00 2001 From: bruingineer Date: Sun, 28 Dec 2025 13:36:51 -0800 Subject: [PATCH 5/5] update test to run file instead of by keyword --- docker-linux/run_tests.sh | 2 +- tests/ipv4_tests.rs | 1 - 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/docker-linux/run_tests.sh b/docker-linux/run_tests.sh index c7e757c..532e646 100644 --- a/docker-linux/run_tests.sh +++ b/docker-linux/run_tests.sh @@ -22,4 +22,4 @@ ip a show dev lo # sysctl -p cargo test -cargo test ipv4 -- --ignored --nocapture --test-threads=1 +cargo test --test ipv4_tests -- --ignored --nocapture --test-threads=1 diff --git a/tests/ipv4_tests.rs b/tests/ipv4_tests.rs index 3351b0f..0f6face 100644 --- a/tests/ipv4_tests.rs +++ b/tests/ipv4_tests.rs @@ -37,7 +37,6 @@ use socket2::{Socket, Domain, Type}; /// For some tests to work multiple instances of the protocol must be on the same network with the same port for example to test multiple simultaneous receivers, this means multiple IP's are needed. /// This is achieved by assigning multiple static IP's to the test machine and theses IP's are specified below. /// Theses must be changed depending on the network that the test machine is on. -// pub const TEST_NETWORK_INTERFACE_IPV4: [&'static str; 3] = ["192.168.0.6", "192.168.0.7", "192.168.0.8"]; pub const TEST_NETWORK_INTERFACE_IPV4: [&'static str; 3] = ["192.168.0.6", "192.168.0.7", "192.168.0.8"];