diff --git a/tests/Dockerfile b/tests/Dockerfile new file mode 100644 index 0000000..6946914 --- /dev/null +++ b/tests/Dockerfile @@ -0,0 +1,9 @@ +FROM alpine:edge +RUN apk add --no-cache cargo rust pkgconfig openssl-dev +RUN mkdir /tun2proxy +ADD src /tun2proxy/src +ADD Cargo.toml /tun2proxy/Cargo.toml +ADD tests /tun2proxy/tests +WORKDIR /tun2proxy +RUN cargo build --tests +ENTRYPOINT ["cargo", "test"] diff --git a/tests/run-tests.sh b/tests/run-tests.sh new file mode 100755 index 0000000..78d1454 --- /dev/null +++ b/tests/run-tests.sh @@ -0,0 +1,12 @@ +#!/bin/bash +# +# Run as follows: +# sudo SOCKS5_SERVER=: HTTP_SERVER=: ./run-tests.sh +# +# Alternatively, `cargo test` can be used instead of `./run-tests.sh`. +# Note that the tests require root privileges and will change +# the system's default routes. + +SCRIPT_DIR="$(dirname "$0")" +cd "$SCRIPT_DIR/.." +docker build -t tun2proxy-tests -f tests/Dockerfile . && docker run -e SOCKS5_SERVER -e HTTP_SERVER --rm -it tun2proxy-tests