From d7968c987ff07134f480e9ab3869d518c1ecd554 Mon Sep 17 00:00:00 2001 From: t1m0t Date: Tue, 1 Feb 2022 20:40:29 +0100 Subject: [PATCH 01/15] wip: Makefile setup --- Makefile.toml | 42 +++++++++++++++++++++ packages/router/Cargo.toml | 56 ++++++++++++++-------------- packages/router/Makefile.toml | 10 +++++ packages/router/tests/route.rs | 68 ++++++++++++++++++++++++++++++++++ 4 files changed, 148 insertions(+), 28 deletions(-) create mode 100644 Makefile.toml create mode 100644 packages/router/Makefile.toml create mode 100644 packages/router/tests/route.rs diff --git a/Makefile.toml b/Makefile.toml new file mode 100644 index 000000000..23eeacea2 --- /dev/null +++ b/Makefile.toml @@ -0,0 +1,42 @@ +[config] +default_to_workspace = false +min_version = "0.32.4" + +[env] +CARGO_MAKE_CLIPPY_ARGS = "-- --deny=warnings" +CARGO_MAKE_EXTEND_WORKSPACE_MAKEFILE = true + +[config.modify_core_tasks] +namespace = "core" +private = true + +[tasks.tests] +category = "Testing" +dependencies = ["tests-setup"] +description = "Run all tests" +env = {CARGO_MAKE_WORKSPACE_SKIP_MEMBERS = ["**/examples/*", "**/packages/changelog"]} +run_task = {name = ["test-flow"], fork = true} + +[tasks.tests-setup] +private = true +script = [ + """ + test_flags = array --headless --firefox + dioxus_test_features = set wasm_test + dioxus_test_flags = array_join ${test_flags} " " + echo "running tests with flags: ${dioxus_test_flags} and features: ${dioxus_test_features}" + set_env DIOXUS_TEST_FLAGS ${dioxus_test_flags} + set_env DIOXUS_TEST_FEATURES ${dioxus_test_features} + """, +] +script_runner = "@duckscript" + +[tasks.test-flow] +dependencies = ["test"] +private = true +workspace = true + +[tasks.test] +args = ["test", "--all-targets"] +command = "cargo" +private = true diff --git a/packages/router/Cargo.toml b/packages/router/Cargo.toml index 1c6ed24d2..3bcb6a348 100644 --- a/packages/router/Cargo.toml +++ b/packages/router/Cargo.toml @@ -1,51 +1,51 @@ [package] -name = "dioxus-router" -version = "0.1.1" -edition = "2018" description = "Dioxus VirtualDOM renderer for the web browser using websys" -license = "MIT/Apache-2.0" -repository = "https://github.com/DioxusLabs/dioxus/" -homepage = "https://dioxuslabs.com" documentation = "https://dioxuslabs.com" +edition = "2018" +homepage = "https://dioxuslabs.com" keywords = ["dom", "ui", "gui", "react", "wasm"] +license = "MIT/Apache-2.0" +name = "dioxus-router" +repository = "https://github.com/DioxusLabs/dioxus/" +version = "0.1.1" # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -dioxus-core = { path = "../core", version = "^0.1.9", default-features = false } -dioxus-html = { path = "../html", version = "^0.1.6", default-features = false } -dioxus-core-macro = { path = "../core-macro", version = "^0.1.7" } +dioxus-core = {path = "../core", version = "^0.1.9", default-features = false} +dioxus-core-macro = {path = "../core-macro", version = "^0.1.7"} +dioxus-html = {path = "../html", version = "^0.1.6", default-features = false} serde = "1" -url = "2.2.2" serde_urlencoded = "0.7" +url = "2.2.2" # for wasm -web-sys = { version = "0.3", features = [ - "Attr", - "Document", - "History", - "HtmlBaseElement", - "Event", - "NamedNodeMap", - "Url", - "UrlSearchParams", - "Window", -], optional = true } -wasm-bindgen = { version = "0.2", optional = true } -js-sys = { version = "0.3", optional = true } -gloo = { version = "0.5", optional = true } +gloo = {version = "0.5", optional = true} +js-sys = {version = "0.3", optional = true} log = "0.4.14" - +wasm-bindgen = {version = "0.2", optional = true} +web-sys = {version = "0.3", features = [ + "Attr", + "Document", + "History", + "HtmlBaseElement", + "Event", + "NamedNodeMap", + "Url", + "UrlSearchParams", + "Window", +], optional = true} [features] default = ["derive", "web"] -web = ["web-sys", "gloo", "js-sys", "wasm-bindgen"] +derive = [] desktop = [] mobile = [] -derive = [] +web = ["web-sys", "gloo", "js-sys", "wasm-bindgen"] [dev-dependencies] console_error_panic_hook = "0.1.7" -dioxus-web = { path = "../web" } +dioxus-web = {path = "../web"} log = "0.4.14" +wasm-bindgen-test = "0.3" wasm-logger = "0.2.0" diff --git a/packages/router/Makefile.toml b/packages/router/Makefile.toml new file mode 100644 index 000000000..27a6c9244 --- /dev/null +++ b/packages/router/Makefile.toml @@ -0,0 +1,10 @@ +[tasks.test] +args = [ + "test", + "@@split(DIOXUS_TEST_FLAGS, )", + "--", + "--features", + "${DIOXUS_TEST_FEATURES}", +] +command = "wasm-pack" +extend = "core::wasm-pack-base" diff --git a/packages/router/tests/route.rs b/packages/router/tests/route.rs new file mode 100644 index 000000000..08a5b0aff --- /dev/null +++ b/packages/router/tests/route.rs @@ -0,0 +1,68 @@ +#![cfg(target_arch = "wasm32")] + +use dioxus_core::prelude::*; +use dioxus_core_macro::*; +use dioxus_html as dioxus_elements; +use dioxus_router::*; +use gloo_utils::document; +use serde::{Deserialize, Serialize}; +use wasm_bindgen_test::*; + +wasm_bindgen_test_configure!(run_in_browser); + +#[wasm_bindgen_test] +fn simple_test() { + fn main() { + console_error_panic_hook::set_once(); + wasm_logger::init(wasm_logger::Config::new(log::Level::Debug)); + dioxus_web::launch(APP); + } + + static APP: Component = |cx| { + cx.render(rsx! { + Router { + onchange: move |route| log::info!("route changed to {}", route), + Route { to: "/", Home {} } + Route { to: "blog" + Route { to: "/", BlogList {} } + Route { to: ":id", BlogPost {} } + } + } + }) + }; + + fn Home(cx: Scope) -> Element { + cx.render(rsx! { + div { + h1 { "Home" } + } + }) + } + + fn BlogList(cx: Scope) -> Element { + cx.render(rsx! { + div { + + } + }) + } + + fn BlogPost(cx: Scope) -> Element { + let id = use_route(&cx).segment::("id")?; + + cx.render(rsx! { + div { + id: "test1", + id + } + }) + } + + main(); + + let element = gloo_utils::document() + .get_element_by_id("test1") + .expect("No result found. Most likely, the application crashed") + .inner_html(); + assert!(element, ""); +} From 8ad3f85872f77f3fc2a586dd18f980937a34a25d Mon Sep 17 00:00:00 2001 From: t1m0t Date: Tue, 1 Feb 2022 21:13:18 +0100 Subject: [PATCH 02/15] fix ordering to match original one --- .vscode/settings.json | 1 + packages/router/Cargo.toml | 59 +++++++++++++++++++------------------- 2 files changed, 31 insertions(+), 29 deletions(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index ac2195ccd..221164c7c 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,4 +4,5 @@ "desktop", "router" ], + "editor.formatOnSave": false } diff --git a/packages/router/Cargo.toml b/packages/router/Cargo.toml index 3bcb6a348..af701d2f2 100644 --- a/packages/router/Cargo.toml +++ b/packages/router/Cargo.toml @@ -1,51 +1,52 @@ [package] -description = "Dioxus VirtualDOM renderer for the web browser using websys" -documentation = "https://dioxuslabs.com" -edition = "2018" -homepage = "https://dioxuslabs.com" -keywords = ["dom", "ui", "gui", "react", "wasm"] -license = "MIT/Apache-2.0" name = "dioxus-router" -repository = "https://github.com/DioxusLabs/dioxus/" version = "0.1.1" +edition = "2018" +description = "Dioxus VirtualDOM renderer for the web browser using websys" +license = "MIT/Apache-2.0" +repository = "https://github.com/DioxusLabs/dioxus/" +homepage = "https://dioxuslabs.com" +documentation = "https://dioxuslabs.com" +keywords = ["dom", "ui", "gui", "react", "wasm"] # See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html [dependencies] -dioxus-core = {path = "../core", version = "^0.1.9", default-features = false} -dioxus-core-macro = {path = "../core-macro", version = "^0.1.7"} -dioxus-html = {path = "../html", version = "^0.1.6", default-features = false} +dioxus-core = { path = "../core", version = "^0.1.9", default-features = false } +dioxus-html = { path = "../html", version = "^0.1.6", default-features = false } +dioxus-core-macro = { path = "../core-macro", version = "^0.1.7" } serde = "1" -serde_urlencoded = "0.7" url = "2.2.2" +serde_urlencoded = "0.7" # for wasm -gloo = {version = "0.5", optional = true} -js-sys = {version = "0.3", optional = true} +web-sys = { version = "0.3", features = [ + "Attr", + "Document", + "History", + "HtmlBaseElement", + "Event", + "NamedNodeMap", + "Url", + "UrlSearchParams", + "Window", +], optional = true } +wasm-bindgen = { version = "0.2", optional = true } +js-sys = { version = "0.3", optional = true } +gloo = { version = "0.5", optional = true } log = "0.4.14" -wasm-bindgen = {version = "0.2", optional = true} -web-sys = {version = "0.3", features = [ - "Attr", - "Document", - "History", - "HtmlBaseElement", - "Event", - "NamedNodeMap", - "Url", - "UrlSearchParams", - "Window", -], optional = true} + [features] default = ["derive", "web"] -derive = [] +web = ["web-sys", "gloo", "js-sys", "wasm-bindgen"] desktop = [] mobile = [] -web = ["web-sys", "gloo", "js-sys", "wasm-bindgen"] +derive = [] [dev-dependencies] console_error_panic_hook = "0.1.7" -dioxus-web = {path = "../web"} +dioxus-web = { path = "../web" } log = "0.4.14" -wasm-bindgen-test = "0.3" wasm-logger = "0.2.0" +wasm-bindgen-test = "0.3" From 81ca1a001402a415458e79f2e2a8e6891d85c843 Mon Sep 17 00:00:00 2001 From: t1m0t Date: Tue, 1 Feb 2022 21:34:57 +0100 Subject: [PATCH 03/15] updated workflow to include make tests --- .github/workflows/main.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index b941960b7..ce7ffecbd 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -35,8 +35,8 @@ jobs: - run: sudo apt install libwebkit2gtk-4.0-dev libappindicator3-dev libgtk-3-dev - uses: actions-rs/cargo@v1 with: - command: test - args: --features "desktop, ssr, router" + command: make + args: tests fmt: name: Rustfmt From 3f97cbdaa5347bbcb2e32f68366b32245edd7839 Mon Sep 17 00:00:00 2001 From: t1m0t Date: Tue, 1 Feb 2022 21:44:21 +0100 Subject: [PATCH 04/15] format on save: toml excluded --- .vscode/settings.json | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/.vscode/settings.json b/.vscode/settings.json index 221164c7c..44bcb08e3 100644 --- a/.vscode/settings.json +++ b/.vscode/settings.json @@ -4,5 +4,8 @@ "desktop", "router" ], - "editor.formatOnSave": false + "editor.formatOnSave": true, + "[toml]": { + "editor.formatOnSave": false + } } From 8568678f501c84d679c2fdf44be2a1423db2f1d2 Mon Sep 17 00:00:00 2001 From: t1m0t Date: Tue, 1 Feb 2022 21:50:55 +0100 Subject: [PATCH 05/15] install cargo make --- .github/workflows/main.yml | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index ce7ffecbd..9a6a7e143 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -33,6 +33,11 @@ jobs: - uses: Swatinem/rust-cache@v1 - run: sudo apt-get update - run: sudo apt install libwebkit2gtk-4.0-dev libappindicator3-dev libgtk-3-dev + - name: Install cargo-make + uses: actions-rs/cargo@v1 + with: + command: install + args: --debug cargo-make - uses: actions-rs/cargo@v1 with: command: make From 12cfd79d51a54e2da6aecd437559a563a7233b8b Mon Sep 17 00:00:00 2001 From: t1m0t Date: Tue, 1 Feb 2022 22:04:21 +0100 Subject: [PATCH 06/15] commented out failing example --- packages/desktop/examples/async.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/desktop/examples/async.rs b/packages/desktop/examples/async.rs index 056e7b591..47b17b1b4 100644 --- a/packages/desktop/examples/async.rs +++ b/packages/desktop/examples/async.rs @@ -1,4 +1,4 @@ -use dioxus::prelude::*; +/* use dioxus::prelude::*; use dioxus_core as dioxus; use dioxus_core_macro::*; use dioxus_hooks::*; @@ -32,3 +32,4 @@ fn app(cx: Scope) -> Element { } }) } + */ From 022d6d7850dba2e6f68edab3a89e383c8181321c Mon Sep 17 00:00:00 2001 From: t1m0t Date: Tue, 1 Feb 2022 22:37:34 +0100 Subject: [PATCH 07/15] exclude dioxus-mobile in tests (future feature) --- Makefile.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Makefile.toml b/Makefile.toml index 23eeacea2..95abec9de 100644 --- a/Makefile.toml +++ b/Makefile.toml @@ -37,6 +37,6 @@ private = true workspace = true [tasks.test] -args = ["test", "--all-targets"] +args = ["test", "--all-targets", "--workspace", "--exclude", "dioxus-mobile"] command = "cargo" private = true From 24d78682ad7dfe72297844929b7d79a321e73d1e Mon Sep 17 00:00:00 2001 From: t1m0t Date: Wed, 2 Feb 2022 21:35:57 +0100 Subject: [PATCH 08/15] add docker folder for handling local tests --- docker | 1 + 1 file changed, 1 insertion(+) create mode 160000 docker diff --git a/docker b/docker new file mode 160000 index 000000000..022d6d785 --- /dev/null +++ b/docker @@ -0,0 +1 @@ +Subproject commit 022d6d7850dba2e6f68edab3a89e383c8181321c From f1865faef790754ca3192a5a9a387e2f225e72a0 Mon Sep 17 00:00:00 2001 From: t1m0t Date: Thu, 3 Feb 2022 00:11:38 +0100 Subject: [PATCH 09/15] setup done, local tests work, check workflow --- .github/workflows/main.yml | 2 +- packages/mobile/Cargo.toml | 5 +++++ packages/mobile/Makefile.toml | 7 +++++++ packages/router/Cargo.toml | 8 ++++++++ packages/router/Makefile.toml | 6 +++--- packages/router/tests/route.rs | 9 ++------- packages/router/webdriver.json | 10 ++++++++++ 7 files changed, 36 insertions(+), 11 deletions(-) create mode 100644 packages/mobile/Makefile.toml create mode 100644 packages/router/webdriver.json diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9a6a7e143..d649d47ab 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -32,7 +32,7 @@ jobs: override: true - uses: Swatinem/rust-cache@v1 - run: sudo apt-get update - - run: sudo apt install libwebkit2gtk-4.0-dev libappindicator3-dev libgtk-3-dev + - run: sudo apt install libwebkit2gtk-4.0-dev libappindicator3-dev libgtk-3-dev firefox-csr - name: Install cargo-make uses: actions-rs/cargo@v1 with: diff --git a/packages/mobile/Cargo.toml b/packages/mobile/Cargo.toml index 9da440343..50647a693 100644 --- a/packages/mobile/Cargo.toml +++ b/packages/mobile/Cargo.toml @@ -13,3 +13,8 @@ license = "MIT/Apache-2.0" [dependencies] dioxus-desktop = { path = "../desktop", version = "^0.1.6" } + +[lib] +doctest = false +# tests suspended until package ready +test = false \ No newline at end of file diff --git a/packages/mobile/Makefile.toml b/packages/mobile/Makefile.toml new file mode 100644 index 000000000..90f08a170 --- /dev/null +++ b/packages/mobile/Makefile.toml @@ -0,0 +1,7 @@ +[tasks.test] +command = "cargo" +args = [ + "test", + "--no-run", +] + diff --git a/packages/router/Cargo.toml b/packages/router/Cargo.toml index af701d2f2..b35760889 100644 --- a/packages/router/Cargo.toml +++ b/packages/router/Cargo.toml @@ -43,6 +43,7 @@ web = ["web-sys", "gloo", "js-sys", "wasm-bindgen"] desktop = [] mobile = [] derive = [] +wasm_test = [] [dev-dependencies] console_error_panic_hook = "0.1.7" @@ -50,3 +51,10 @@ dioxus-web = { path = "../web" } log = "0.4.14" wasm-logger = "0.2.0" wasm-bindgen-test = "0.3" +gloo-utils = "0.1.2" + +[dev-dependencies.web-sys] +version = "0.3" +features = [ + "Document", +] \ No newline at end of file diff --git a/packages/router/Makefile.toml b/packages/router/Makefile.toml index 27a6c9244..989b1cc7b 100644 --- a/packages/router/Makefile.toml +++ b/packages/router/Makefile.toml @@ -1,10 +1,10 @@ [tasks.test] +extend = "core::wasm-pack-base" +command = "wasm-pack" args = [ "test", "@@split(DIOXUS_TEST_FLAGS, )", "--", "--features", "${DIOXUS_TEST_FEATURES}", -] -command = "wasm-pack" -extend = "core::wasm-pack-base" +] \ No newline at end of file diff --git a/packages/router/tests/route.rs b/packages/router/tests/route.rs index 08a5b0aff..89b7a64fa 100644 --- a/packages/router/tests/route.rs +++ b/packages/router/tests/route.rs @@ -52,17 +52,12 @@ fn simple_test() { cx.render(rsx! { div { - id: "test1", - id + } }) } main(); - let element = gloo_utils::document() - .get_element_by_id("test1") - .expect("No result found. Most likely, the application crashed") - .inner_html(); - assert!(element, ""); + let element = gloo_utils::document(); } diff --git a/packages/router/webdriver.json b/packages/router/webdriver.json new file mode 100644 index 000000000..5f6013c9d --- /dev/null +++ b/packages/router/webdriver.json @@ -0,0 +1,10 @@ +{ + "moz:firefoxOptions": { + "binary": "/usr/bin/firefox", + "prefs": { + "media.navigator.streams.fake": true, + "media.navigator.permission.disabled": true + }, + "args": [] + } + } \ No newline at end of file From 3b55669373a7cc23eda53b996d574a1f4aac32b1 Mon Sep 17 00:00:00 2001 From: t1m0t Date: Thu, 3 Feb 2022 00:16:56 +0100 Subject: [PATCH 10/15] try fix CI --- .github/workflows/main.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index d649d47ab..4ab05df1c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -32,13 +32,14 @@ jobs: override: true - uses: Swatinem/rust-cache@v1 - run: sudo apt-get update - - run: sudo apt install libwebkit2gtk-4.0-dev libappindicator3-dev libgtk-3-dev firefox-csr + - run: sudo apt install libwebkit2gtk-4.0-dev libappindicator3-dev libgtk-3-dev - name: Install cargo-make uses: actions-rs/cargo@v1 with: command: install args: --debug cargo-make - uses: actions-rs/cargo@v1 + - uses: browser-actions/setup-firefox@latest with: command: make args: tests From 4135fabb8d496bd059b9733b910014976086672f Mon Sep 17 00:00:00 2001 From: t1m0t Date: Thu, 3 Feb 2022 09:24:35 +0100 Subject: [PATCH 11/15] try fix docker folder --- docker | 1 - 1 file changed, 1 deletion(-) delete mode 160000 docker diff --git a/docker b/docker deleted file mode 160000 index 022d6d785..000000000 --- a/docker +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 022d6d7850dba2e6f68edab3a89e383c8181321c From 74cc2eee813430ff0e521f70f31e710107e17ea1 Mon Sep 17 00:00:00 2001 From: t1m0t Date: Thu, 3 Feb 2022 09:26:01 +0100 Subject: [PATCH 12/15] adding docker folder --- docker/Dockerfile_pre_test | 9 +++++++++ docker/Dockerfile_test | 8 ++++++++ docker/README.md | 27 +++++++++++++++++++++++++++ docker/run_local_tests.sh | 36 ++++++++++++++++++++++++++++++++++++ 4 files changed, 80 insertions(+) create mode 100644 docker/Dockerfile_pre_test create mode 100644 docker/Dockerfile_test create mode 100644 docker/README.md create mode 100644 docker/run_local_tests.sh diff --git a/docker/Dockerfile_pre_test b/docker/Dockerfile_pre_test new file mode 100644 index 000000000..6e0af4987 --- /dev/null +++ b/docker/Dockerfile_pre_test @@ -0,0 +1,9 @@ +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 + +RUN cargo install cargo-make --debug +RUN cargo install cargo-cache && cargo cache -a + +CMD ["echo","\"base image built\""] diff --git a/docker/Dockerfile_test b/docker/Dockerfile_test new file mode 100644 index 000000000..f6265c2bb --- /dev/null +++ b/docker/Dockerfile_test @@ -0,0 +1,8 @@ +FROM dioxus-base-test-image + +RUN mkdir run_test +COPY tmp /run_test +WORKDIR /run_test +RUN cargo make tests + +CMD ["exit"] diff --git a/docker/README.md b/docker/README.md new file mode 100644 index 000000000..57578f405 --- /dev/null +++ b/docker/README.md @@ -0,0 +1,27 @@ +# Why this? + +This part is used to test whole package before pushing it + +# How to use it? + +Just run in the folder: +`bash run_local_tests.sh`. If nothing fails, then you can push your code to the repo. +or run: +`bash run_local_tests.sh --with-full-docker-cleanup` +for cleaning up images as well + +# How is it composed of? + + 1. `Dockerfile_pre_test` will build the base image for the tests to be run into + 2. `Dockerfile_test` will run the actual tests based on 1. + 3. `run_local_tests.sh` to wrap this up + +# Warning + +The task requires some amount of CPU work and disk space (5GB per tests). Some clean up is included in the script. + +# Requirements + + * [docker](https://docs.docker.com/engine/install/) + * bash + * rsync \ No newline at end of file diff --git a/docker/run_local_tests.sh b/docker/run_local_tests.sh new file mode 100644 index 000000000..0d6c1fb8b --- /dev/null +++ b/docker/run_local_tests.sh @@ -0,0 +1,36 @@ +set -eux + +echo "Test script started" + +function run_script { + if [[ -d tmp ]] + then + rm -rf tmp + mkdir tmp + else + mkdir tmp + fi + + # copy files first + rsync -a --progress ../ tmp --exclude target --exclude docker + + # build base image + docker build -f Dockerfile_pre_test -t dioxus-base-test-image . + # run test + docker build -f Dockerfile_test -t dioxus-test-image . + + # clean up + rm -rf tmp + if [ $1 = "--with-full-docker-cleanup" ] + then + docker image rm dioxus-base-test-image + docker image rm dioxus-test-image + docker system prune -a --force + fi +} + +run_script || echo "Error occured.. cleaning a bit." && + docker system prune -a --force && \ + rm -rf tmp; + +echo "Script finished to execute" From ee49fc27ffd6977e0ac62dc81d2e4604c975415d Mon Sep 17 00:00:00 2001 From: t1m0t Date: Thu, 3 Feb 2022 09:28:06 +0100 Subject: [PATCH 13/15] fix some newlines --- packages/mobile/Cargo.toml | 2 +- packages/router/Cargo.toml | 2 +- packages/router/Makefile.toml | 2 +- packages/router/webdriver.json | 3 ++- 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/packages/mobile/Cargo.toml b/packages/mobile/Cargo.toml index 50647a693..cdf0a5c05 100644 --- a/packages/mobile/Cargo.toml +++ b/packages/mobile/Cargo.toml @@ -17,4 +17,4 @@ dioxus-desktop = { path = "../desktop", version = "^0.1.6" } [lib] doctest = false # tests suspended until package ready -test = false \ No newline at end of file +test = false diff --git a/packages/router/Cargo.toml b/packages/router/Cargo.toml index b35760889..239a3c5d8 100644 --- a/packages/router/Cargo.toml +++ b/packages/router/Cargo.toml @@ -57,4 +57,4 @@ gloo-utils = "0.1.2" version = "0.3" features = [ "Document", -] \ No newline at end of file +] diff --git a/packages/router/Makefile.toml b/packages/router/Makefile.toml index 989b1cc7b..063585c98 100644 --- a/packages/router/Makefile.toml +++ b/packages/router/Makefile.toml @@ -7,4 +7,4 @@ args = [ "--", "--features", "${DIOXUS_TEST_FEATURES}", -] \ No newline at end of file +] diff --git a/packages/router/webdriver.json b/packages/router/webdriver.json index 5f6013c9d..81413f24b 100644 --- a/packages/router/webdriver.json +++ b/packages/router/webdriver.json @@ -7,4 +7,5 @@ }, "args": [] } - } \ No newline at end of file + } + \ No newline at end of file From fed4a68650082d6dedefee0cf26efea3cffba276 Mon Sep 17 00:00:00 2001 From: t1m0t Date: Thu, 3 Feb 2022 10:01:45 +0100 Subject: [PATCH 14/15] improve script --- docker/run_local_tests.sh | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/docker/run_local_tests.sh b/docker/run_local_tests.sh index 0d6c1fb8b..804d87afb 100644 --- a/docker/run_local_tests.sh +++ b/docker/run_local_tests.sh @@ -6,11 +6,8 @@ function run_script { if [[ -d tmp ]] then rm -rf tmp - mkdir tmp - else - mkdir tmp fi - + mkdir tmp # copy files first rsync -a --progress ../ tmp --exclude target --exclude docker @@ -21,16 +18,21 @@ function run_script { # clean up rm -rf tmp - if [ $1 = "--with-full-docker-cleanup" ] + if [ $# -ge 1 ] then - docker image rm dioxus-base-test-image - docker image rm dioxus-test-image - docker system prune -a --force + echo "Got some parameter" + if [ $1 = "--with-full-docker-cleanup" ] + then + docker image rm dioxus-base-test-image + docker image rm dioxus-test-image + docker system prune -af + fi fi } -run_script || echo "Error occured.. cleaning a bit." && - docker system prune -a --force && \ - rm -rf tmp; +run_script || echo "Error occured.. cleaning a bit." && \ + docker system prune -af; + +docker system prune -af echo "Script finished to execute" From 474fd8453855adba3657132948f6bf6ba47bd98d Mon Sep 17 00:00:00 2001 From: t1m0t Date: Thu, 3 Feb 2022 18:14:50 +0100 Subject: [PATCH 15/15] modify folder structure --- {docker => .docker}/Dockerfile_pre_test | 0 {docker => .docker}/Dockerfile_test | 0 {docker => .docker}/README.md | 0 {docker => .docker}/run_local_tests.sh | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename {docker => .docker}/Dockerfile_pre_test (100%) rename {docker => .docker}/Dockerfile_test (100%) rename {docker => .docker}/README.md (100%) rename {docker => .docker}/run_local_tests.sh (100%) diff --git a/docker/Dockerfile_pre_test b/.docker/Dockerfile_pre_test similarity index 100% rename from docker/Dockerfile_pre_test rename to .docker/Dockerfile_pre_test diff --git a/docker/Dockerfile_test b/.docker/Dockerfile_test similarity index 100% rename from docker/Dockerfile_test rename to .docker/Dockerfile_test diff --git a/docker/README.md b/.docker/README.md similarity index 100% rename from docker/README.md rename to .docker/README.md diff --git a/docker/run_local_tests.sh b/.docker/run_local_tests.sh similarity index 100% rename from docker/run_local_tests.sh rename to .docker/run_local_tests.sh