mirror of
https://github.com/DioxusLabs/dioxus
synced 2024-11-21 19:53:04 +00:00
local code coverage
This commit is contained in:
parent
92ec0a448f
commit
5ba2c43274
6 changed files with 38 additions and 18 deletions
14
.docker/Dockerfile_base_test_image
Normal file
14
.docker/Dockerfile_base_test_image
Normal file
|
@ -0,0 +1,14 @@
|
|||
FROM rust:1.58-buster
|
||||
|
||||
RUN apt update
|
||||
RUN apt install -y \
|
||||
libglib2.0-dev \
|
||||
libgtk-3-dev \
|
||||
libsoup2.4-dev \
|
||||
libappindicator3-dev \
|
||||
libwebkit2gtk-4.0-dev \
|
||||
firefox-esr \
|
||||
# for Tarpaulin code coverage
|
||||
liblzma-dev binutils-dev libcurl4-openssl-dev libdw-dev libelf-dev
|
||||
|
||||
CMD ["exit"]
|
7
.docker/Dockerfile_code_coverage
Normal file
7
.docker/Dockerfile_code_coverage
Normal file
|
@ -0,0 +1,7 @@
|
|||
FROM dioxus-test-image
|
||||
|
||||
WORKDIR /run_test
|
||||
RUN cargo install cargo-tarpaulin
|
||||
RUN cargo cache -a
|
||||
|
||||
ENTRYPOINT [ "bash" ]
|
|
@ -1,20 +1,8 @@
|
|||
FROM rust:1.58-buster
|
||||
FROM dioxus-base-test-image
|
||||
|
||||
RUN apt update
|
||||
RUN apt install -y \
|
||||
libglib2.0-dev \
|
||||
libgtk-3-dev \
|
||||
libsoup2.4-dev \
|
||||
libappindicator3-dev \
|
||||
libwebkit2gtk-4.0-dev \
|
||||
firefox-esr
|
||||
# for kcov and Tarpaulin
|
||||
#liblzma-dev binutils-dev libcurl4-openssl-dev libdw-dev libelf-dev
|
||||
|
||||
RUN cargo install cargo-make --debug
|
||||
# for test coverage
|
||||
#RUN cargo install cargo-tarpaulin
|
||||
# clean up a bit
|
||||
RUN cargo install cargo-binstall
|
||||
RUN cargo install cargo-make
|
||||
RUN cargo install wasm-pack
|
||||
RUN cargo install cargo-cache && cargo cache -a
|
||||
|
||||
CMD ["exit"]
|
||||
|
|
|
@ -1,8 +1,9 @@
|
|||
FROM dioxus-base-test-image
|
||||
FROM dioxus-pre-test
|
||||
|
||||
RUN mkdir run_test
|
||||
COPY tmp /run_test
|
||||
WORKDIR /run_test
|
||||
RUN cargo make tests
|
||||
RUN cargo cache -a
|
||||
|
||||
CMD ["exit"]
|
||||
|
|
|
@ -12,9 +12,18 @@ function run_script {
|
|||
rsync -a --progress ../ tmp --exclude target --exclude docker
|
||||
|
||||
# build base image
|
||||
docker build -f Dockerfile_pre_test -t dioxus-base-test-image .
|
||||
docker build -f Dockerfile_base_test_image -t dioxus-base-test-image .
|
||||
docker build -f Dockerfile_pre_test -t dioxus-pre-test .
|
||||
# run test
|
||||
docker build -f Dockerfile_test -t dioxus-test-image .
|
||||
# code coverage
|
||||
docker build -f Dockerfile_code_coverage -t dioxus-code-coverage .
|
||||
|
||||
# exec test coverage
|
||||
cd .. && \
|
||||
echo "rustup default nightly && cargo +nightly tarpaulin --verbose --all-features --tests --workspace --timeout 120 --out Html" | docker run -i --rm --security-opt seccomp=unconfined -v "/home/elios/project/prs/dioxus/:/run_test" dioxus-code-coverage
|
||||
|
||||
firefox tarpaulin-report.html
|
||||
|
||||
# clean up
|
||||
rm -rf tmp
|
||||
|
|
1
.gitignore
vendored
1
.gitignore
vendored
|
@ -8,3 +8,4 @@ Cargo.lock
|
|||
!.vscode/tasks.json
|
||||
!.vscode/launch.json
|
||||
!.vscode/extensions.json
|
||||
tarpaulin-report.html
|
Loading…
Reference in a new issue