From 931b4dce7bdce676065a85ea0bda7a1bc38b50fb Mon Sep 17 00:00:00 2001 From: Tsvetomir Dimitrov Date: Thu, 19 Jan 2023 21:41:55 +0200 Subject: [PATCH 1/6] Make zombienet tests native friendly --- zombienet_tests/README.md | 29 +++++++++++++++ .../functional/0001-parachains-pvf.toml | 35 ++++++++++--------- .../functional/0001-parachains-pvf.zndsl | 6 ++-- .../functional/0002-parachains-disputes.toml | 12 +++---- .../functional/0003-beefy-and-mmr.toml | 2 +- .../0003-parachains-garbage-candidate.toml | 12 +++---- zombienet_tests/misc/0001-paritydb.toml | 10 +++--- zombienet_tests/misc/0002-upgrade-node.toml | 5 +-- .../smoke/0001-parachains-smoke-test.toml | 4 +-- .../0002-parachains-upgrade-smoke-test.toml | 4 +-- ...3-deregister-register-validator-smoke.toml | 3 +- 11 files changed, 76 insertions(+), 46 deletions(-) diff --git a/zombienet_tests/README.md b/zombienet_tests/README.md index 5760e203d958..fbc3b067630c 100644 --- a/zombienet_tests/README.md +++ b/zombienet_tests/README.md @@ -12,6 +12,35 @@ _The content of this directory is meant to be used by Parity's private CI/CD inf * [zombienet repo](https://github.com/paritytech/zombienet) * [zombienet book](https://paritytech.github.io/zombienet/) +## Running tests locally + +To run any test locally use the native provider (`zombienet test -p native ...`) and set `ZOMBIENET_NATIVE_BINARY_PREFIX` environment variable with a full path to a directory containing polkadot/cumulus binaries. E.g. `ZOMBIENET_NATIVE_BINARY_PREFIX=/home/user/local-run/`. **The path should contain a trailing slash!** + +You need the following binaries: +* adder-collator -> polkadot/target/testnet/adder-collator +* malus -> polkadot/target/testnet/malus +* polkadot -> polkadot/target/testnet/polkadot +* polkadot-collator -> cumulus/target/release/polkadot-parachain +* undying-collator -> polkadot/target/testnet/undying-collator + +To build them use: +* adder-collator -> `cargo build --profile testnet -p test-parachain-adder-collator` +* undying-collator -> `cargo build --profile testnet -p test-parachain-undying-collator` +* malus -> cargo build --profile testnet -p polkadot-test-malus +* polkadot (in polkadot repo) and polkadot-collator (in cumulus repo) -> `cargo build --profile testnet` + +One solution is to have a directory with symlinks to the corresponding binaries in your source tree. E.g.: +``` +$ ls -l +total 24 +lrwxrwxrwx. 1 ceco ceco 53 Jan 19 15:03 adder-collator -> /home/ceco/src/polkadot/target/testnet/adder-collator +-rw-r--r--. 1 ceco ceco 221 Jan 18 16:35 build_cmds.txt +lrwxrwxrwx. 1 ceco ceco 44 Jan 18 16:47 malus -> /home/user/src/polkadot/target/testnet/malus +lrwxrwxrwx. 1 ceco ceco 47 Jan 18 11:33 polkadot -> /home/user/src/polkadot/target/testnet/polkadot +lrwxrwxrwx. 1 ceco ceco 56 Jan 19 15:53 polkadot-collator -> /home/user/src/cumulus/target/release/polkadot-parachain +lrwxrwxrwx. 1 ceco ceco 55 Jan 18 13:58 undying-collator -> /home/user/src/polkadot/target/testnet/undying-collator +``` +And set this directory in `ZOMBIENET_NATIVE_BINARY_PREFIX`. This way you won't have to copy files on each rebuild. ## Questions / permissions Ping in element Javier (@javier:matrix.parity.io) to ask questions or grant permission to run the test from your local setup. diff --git a/zombienet_tests/functional/0001-parachains-pvf.toml b/zombienet_tests/functional/0001-parachains-pvf.toml index 9ae4d899e690..406de08dcbea 100644 --- a/zombienet_tests/functional/0001-parachains-pvf.toml +++ b/zombienet_tests/functional/0001-parachains-pvf.toml @@ -3,8 +3,9 @@ timeout = 1000 [relaychain] default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}" +default_command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot" chain = "rococo-local" -chain_spec_command = "polkadot build-spec --chain rococo-local --disable-default-bootnode" +chain_spec_command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot build-spec --chain rococo-local --disable-default-bootnode" [relaychain.default_resources] limits = { memory = "4G", cpu = "2" } @@ -45,89 +46,89 @@ requests = { memory = "2G", cpu = "1" } [[parachains]] id = 2000 addToGenesis = true -genesis_state_generator = "undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=1" +genesis_state_generator = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=1" [parachains.collator] name = "collator01" image = "{{COL_IMAGE}}" - command = "undying-collator" + command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator" args = ["-lparachain=debug", "--pov-size=100000", "--pvf-complexity=1", "--parachain-id=2000"] [[parachains]] id = 2001 addToGenesis = true -genesis_state_generator = "undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=10" +genesis_state_generator = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=10" [parachains.collator] name = "collator02" image = "{{COL_IMAGE}}" - command = "undying-collator" + command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator" args = ["-lparachain=debug", "--pov-size=100000", "--parachain-id=2001", "--pvf-complexity=10"] [[parachains]] id = 2002 addToGenesis = true -genesis_state_generator = "undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=100" +genesis_state_generator = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=100" [parachains.collator] name = "collator03" image = "{{COL_IMAGE}}" - command = "undying-collator" + command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator" args = ["-lparachain=debug", "--pov-size=100000", "--parachain-id=2002", "--pvf-complexity=100"] [[parachains]] id = 2003 addToGenesis = true -genesis_state_generator = "undying-collator export-genesis-state --pov-size=20000 --pvf-complexity=300" +genesis_state_generator = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator export-genesis-state --pov-size=20000 --pvf-complexity=300" [parachains.collator] name = "collator04" image = "{{COL_IMAGE}}" - command = "undying-collator" + command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator" args = ["-lparachain=debug", "--pov-size=20000", "--parachain-id=2003", "--pvf-complexity=300"] [[parachains]] id = 2004 addToGenesis = true -genesis_state_generator = "undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=300" +genesis_state_generator = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=300" [parachains.collator] name = "collator05" image = "{{COL_IMAGE}}" - command = "undying-collator" + command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator" args = ["-lparachain=debug", "--pov-size=100000", "--parachain-id=2004", "--pvf-complexity=300"] [[parachains]] id = 2005 addToGenesis = true -genesis_state_generator = "undying-collator export-genesis-state --pov-size=20000 --pvf-complexity=400" +genesis_state_generator = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator export-genesis-state --pov-size=20000 --pvf-complexity=400" [parachains.collator] name = "collator06" image = "{{COL_IMAGE}}" - command = "undying-collator" + command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator" args = ["-lparachain=debug", "--pov-size=20000", "--pvf-complexity=400", "--parachain-id=2005"] [[parachains]] id = 2006 addToGenesis = true -genesis_state_generator = "undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=300" +genesis_state_generator = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=300" [parachains.collator] name = "collator07" image = "{{COL_IMAGE}}" - command = "undying-collator" + command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator" args = ["-lparachain=debug", "--pov-size=100000", "--pvf-complexity=300", "--parachain-id=2006"] [[parachains]] id = 2007 addToGenesis = true -genesis_state_generator = "undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=300" +genesis_state_generator = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=300" [parachains.collator] name = "collator08" image = "{{COL_IMAGE}}" - command = "undying-collator" + command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator" args = ["-lparachain=debug", "--pov-size=100000", "--pvf-complexity=300", "--parachain-id=2007"] [types.Header] diff --git a/zombienet_tests/functional/0001-parachains-pvf.zndsl b/zombienet_tests/functional/0001-parachains-pvf.zndsl index 1f187498d78f..259f05b8f68b 100644 --- a/zombienet_tests/functional/0001-parachains-pvf.zndsl +++ b/zombienet_tests/functional/0001-parachains-pvf.zndsl @@ -63,7 +63,7 @@ eve: reports histogram polkadot_pvf_preparation_time has at least 1 samples in b one: reports histogram polkadot_pvf_preparation_time has at least 1 samples in buckets ["0.1", "0.5", "1", "2", "3", "10"] within 10 seconds two: reports histogram polkadot_pvf_preparation_time has at least 1 samples in buckets ["0.1", "0.5", "1", "2", "3", "10"] within 10 seconds -# Check all buckets >= 20. +# Check all buckets >= 20. alice: reports histogram polkadot_pvf_preparation_time has 0 samples in buckets ["20", "30", "60", "180", "+Inf"] within 10 seconds bob: reports histogram polkadot_pvf_preparation_time has 0 samples in buckets ["20", "30", "60", "180", "+Inf"] within 10 seconds charlie: reports histogram polkadot_pvf_preparation_time has 0 samples in buckets ["20", "30", "60", "180", "+Inf"] within 10 seconds @@ -78,8 +78,8 @@ two: reports histogram polkadot_pvf_preparation_time has 0 samples in buckets [" # APPROVAL_EXECUTION_TIMEOUT(6s). Currently these are not differentiated by metrics # because the metrics are defined in `polkadot-node-core-pvf` which is a level below # the relevant subsystems. -# That being said, we will take the simplifying assumption of testing only the -# 2s timeout. +# That being said, we will take the simplifying assumption of testing only the +# 2s timeout. # We do this check by ensuring all executions fall into bucket le="2" or lower. # First, check if we have at least 1 sample, but we should have many more. alice: reports histogram polkadot_pvf_execution_time has at least 1 samples in buckets ["0.1", "0.5", "1", "2"] within 10 seconds diff --git a/zombienet_tests/functional/0002-parachains-disputes.toml b/zombienet_tests/functional/0002-parachains-disputes.toml index a0a87d60d4e3..4b1adb15852a 100644 --- a/zombienet_tests/functional/0002-parachains-disputes.toml +++ b/zombienet_tests/functional/0002-parachains-disputes.toml @@ -8,8 +8,8 @@ timeout = 1000 [relaychain] default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}" chain = "rococo-local" -chain_spec_command = "polkadot build-spec --chain rococo-local --disable-default-bootnode" -default_command = "polkadot" +chain_spec_command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot build-spec --chain rococo-local --disable-default-bootnode" +default_command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot" [relaychain.default_resources] limits = { memory = "4G", cpu = "2" } @@ -18,13 +18,13 @@ requests = { memory = "2G", cpu = "1" } [[relaychain.nodes]] image = "{{MALUS_IMAGE}}" name = "alice" - command = "malus dispute-ancestor --fake-validation approval-invalid" + command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}malus dispute-ancestor --fake-validation approval-invalid" args = [ "--alice", " -lparachain=debug,MALUS=trace" ] [[relaychain.nodes]] image = "{{MALUS_IMAGE}}" name = "bob" - command = "malus dispute-ancestor --fake-validation approval-invalid" + command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}malus dispute-ancestor --fake-validation approval-invalid" args = [ "--bob", "-lparachain=debug,MALUS=trace"] [[relaychain.nodes]] @@ -55,12 +55,12 @@ requests = { memory = "2G", cpu = "1" } [[parachains]] id = {{id}} addToGenesis = true -genesis_state_generator = "undying-collator export-genesis-state --pov-size={{25000*(id-1999)}} --pvf-complexity={{id - 1999}}" +genesis_state_generator = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator export-genesis-state --pov-size={{25000*(id-1999)}} --pvf-complexity={{id - 1999}}" [parachains.collator] image = "{{COL_IMAGE}}" name = "collator" - command = "undying-collator" + command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator" args = ["-lparachain=debug", "--pov-size={{25000*(id-1999)}}", "--parachain-id={{id}}", "--pvf-complexity={{id - 1999}}"] {% endfor %} diff --git a/zombienet_tests/functional/0003-beefy-and-mmr.toml b/zombienet_tests/functional/0003-beefy-and-mmr.toml index 1608976abdf2..3067c4ee309e 100644 --- a/zombienet_tests/functional/0003-beefy-and-mmr.toml +++ b/zombienet_tests/functional/0003-beefy-and-mmr.toml @@ -4,7 +4,7 @@ timeout = 1000 [relaychain] default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}" chain = "rococo-local" -command = "polkadot" +default_command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot" [[relaychain.node_groups]] name = "validator" diff --git a/zombienet_tests/functional/0003-parachains-garbage-candidate.toml b/zombienet_tests/functional/0003-parachains-garbage-candidate.toml index 8f82d30e2ac6..5a9e709eb7a6 100644 --- a/zombienet_tests/functional/0003-parachains-garbage-candidate.toml +++ b/zombienet_tests/functional/0003-parachains-garbage-candidate.toml @@ -9,8 +9,8 @@ bootnode = true [relaychain] default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}" chain = "rococo-local" -chain_spec_command = "polkadot build-spec --chain rococo-local --disable-default-bootnode" -default_command = "polkadot" +chain_spec_command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot build-spec --chain rococo-local --disable-default-bootnode" +default_command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot" [relaychain.default_resources] limits = { memory = "4G", cpu = "2" } @@ -24,19 +24,19 @@ requests = { memory = "2G", cpu = "1" } [[relaychain.node_groups]] image = "{{MALUS_IMAGE}}" name = "malus-validator" - command = "malus suggest-garbage-candidate" + command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}malus suggest-garbage-candidate" args = ["-lparachain=debug,MALUS=trace"] count = 1 - + {% for id in range(2000,2003) %} [[parachains]] id = {{id}} addToGenesis = true -genesis_state_generator = "undying-collator export-genesis-state --pov-size={{10000*(id-1999)}} --pvf-complexity={{id - 1999}}" +genesis_state_generator = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator export-genesis-state --pov-size={{10000*(id-1999)}} --pvf-complexity={{id - 1999}}" [parachains.collator] image = "{{COL_IMAGE}}" name = "collator" - command = "undying-collator" + command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator" args = ["-lparachain=debug", "--pov-size={{10000*(id-1999)}}", "--parachain-id={{id}}", "--pvf-complexity={{id - 1999}}"] {% endfor %} diff --git a/zombienet_tests/misc/0001-paritydb.toml b/zombienet_tests/misc/0001-paritydb.toml index c40e0969d084..f22933640b7c 100644 --- a/zombienet_tests/misc/0001-paritydb.toml +++ b/zombienet_tests/misc/0001-paritydb.toml @@ -9,8 +9,8 @@ bootnode = true [relaychain] default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}" chain = "rococo-local" -chain_spec_command = "polkadot build-spec --chain rococo-local" -default_command = "polkadot" +chain_spec_command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot build-spec --chain rococo-local" +default_command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot" [relaychain.default_resources] limits = { memory = "4G", cpu = "2" } @@ -20,16 +20,16 @@ requests = { memory = "2G", cpu = "1" } name = "validator" count = 10 args = ["-lparachain=debug", "--db=paritydb"] - + {% for id in range(2000,2010) %} [[parachains]] id = {{id}} addToGenesis = true -genesis_state_generator = "undying-collator export-genesis-state --pov-size={{10000*(id-1999)}} --pvf-complexity={{id - 1999}}" +genesis_state_generator = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator export-genesis-state --pov-size={{10000*(id-1999)}} --pvf-complexity={{id - 1999}}" [parachains.collator] name = "collator" image = "{{COL_IMAGE}}" - command = "undying-collator" + command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator" args = ["-lparachain=debug", "--pov-size={{10000*(id-1999)}}", "--parachain-id={{id}}", "--pvf-complexity={{id - 1999}}"] {% endfor %} diff --git a/zombienet_tests/misc/0002-upgrade-node.toml b/zombienet_tests/misc/0002-upgrade-node.toml index ef3fa54dc200..dd8badd50a0c 100644 --- a/zombienet_tests/misc/0002-upgrade-node.toml +++ b/zombienet_tests/misc/0002-upgrade-node.toml @@ -3,6 +3,7 @@ timeout = 1000 [relaychain] default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}" +default_command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot" chain = "rococo-local" @@ -30,7 +31,7 @@ addToGenesis = true [parachains.collator] name = "collator01" image = "{{COL_IMAGE}}" - command = "undying-collator" + command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator" args = ["-lparachain=debug"] [[parachains]] @@ -40,7 +41,7 @@ addToGenesis = true [parachains.collator] name = "collator02" image = "{{COL_IMAGE}}" - command = "undying-collator" + command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator" args = ["-lparachain=debug"] [types.Header] diff --git a/zombienet_tests/smoke/0001-parachains-smoke-test.toml b/zombienet_tests/smoke/0001-parachains-smoke-test.toml index 4d4324822f43..db5595af2423 100644 --- a/zombienet_tests/smoke/0001-parachains-smoke-test.toml +++ b/zombienet_tests/smoke/0001-parachains-smoke-test.toml @@ -4,7 +4,7 @@ timeout = 1000 [relaychain] default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}" chain = "rococo-local" -command = "polkadot" +default_command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot" [[relaychain.nodes]] name = "alice" @@ -21,7 +21,7 @@ addToGenesis = false [parachains.collator] name = "collator01" image = "{{COL_IMAGE}}" - command = "/usr/local/bin/adder-collator" + command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}adder-collator" args = [ "-lruntime=debug,parachain=trace" ] [types.Header] diff --git a/zombienet_tests/smoke/0002-parachains-upgrade-smoke-test.toml b/zombienet_tests/smoke/0002-parachains-upgrade-smoke-test.toml index 0becb408550a..73adcb4adaa9 100644 --- a/zombienet_tests/smoke/0002-parachains-upgrade-smoke-test.toml +++ b/zombienet_tests/smoke/0002-parachains-upgrade-smoke-test.toml @@ -5,7 +5,7 @@ bootnode = true [relaychain] default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}" chain = "rococo-local" -command = "polkadot" +default_command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot" [[relaychain.nodes]] name = "alice" @@ -31,7 +31,7 @@ cumulus_based = true [parachains.collator] name = "collator01" image = "{{COL_IMAGE}}" - command = "polkadot-collator" + command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot-collator" # Should become `polkadot-parachain` [[parachains.collator.env]] name = "RUST_LOG" diff --git a/zombienet_tests/smoke/0003-deregister-register-validator-smoke.toml b/zombienet_tests/smoke/0003-deregister-register-validator-smoke.toml index bc1dbe6d3ed5..2eb790ffac2f 100644 --- a/zombienet_tests/smoke/0003-deregister-register-validator-smoke.toml +++ b/zombienet_tests/smoke/0003-deregister-register-validator-smoke.toml @@ -4,7 +4,7 @@ timeout = 1000 [relaychain] default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}" chain = "rococo-local" -command = "polkadot" +default_command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot" [[relaychain.nodes]] name = "alice" @@ -21,4 +21,3 @@ command = "polkadot" [[relaychain.nodes]] name = "dave" args = [ "-lruntime=debug,parachain=trace" ] - \ No newline at end of file From 523e2c6f2dba810d9c02943979759806cce15b02 Mon Sep 17 00:00:00 2001 From: Tsvetomir Dimitrov Date: Sat, 21 Jan 2023 15:17:40 +0200 Subject: [PATCH 2/6] Update zombienet_tests/README.md MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Bastian Köcher --- zombienet_tests/README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/zombienet_tests/README.md b/zombienet_tests/README.md index fbc3b067630c..c168dda3249a 100644 --- a/zombienet_tests/README.md +++ b/zombienet_tests/README.md @@ -40,7 +40,8 @@ lrwxrwxrwx. 1 ceco ceco 47 Jan 18 11:33 polkadot -> /home/user/src/polkadot/tar lrwxrwxrwx. 1 ceco ceco 56 Jan 19 15:53 polkadot-collator -> /home/user/src/cumulus/target/release/polkadot-parachain lrwxrwxrwx. 1 ceco ceco 55 Jan 18 13:58 undying-collator -> /home/user/src/polkadot/target/testnet/undying-collator ``` -And set this directory in `ZOMBIENET_NATIVE_BINARY_PREFIX`. This way you won't have to copy files on each rebuild. +And set `ZOMBIENET_NATIVE_BINARY_PREFIX` to the path of this directory. This way you won't have to copy files on each rebuild. + ## Questions / permissions Ping in element Javier (@javier:matrix.parity.io) to ask questions or grant permission to run the test from your local setup. From 7d182d20545656fbce7bde12fab07ea5ccd5e9c3 Mon Sep 17 00:00:00 2001 From: Tsvetomir Dimitrov Date: Sat, 21 Jan 2023 15:24:52 +0200 Subject: [PATCH 3/6] Get rid of `{{ZOMBIENET_NATIVE_BINARY_PREFIX}}` --- zombienet_tests/README.md | 13 +++++-- .../functional/0001-parachains-pvf.toml | 36 +++++++++---------- .../functional/0002-parachains-disputes.toml | 12 +++---- .../functional/0003-beefy-and-mmr.toml | 2 +- .../0003-parachains-garbage-candidate.toml | 10 +++--- zombienet_tests/misc/0001-paritydb.toml | 8 ++--- zombienet_tests/misc/0002-upgrade-node.toml | 6 ++-- .../smoke/0001-parachains-smoke-test.toml | 4 +-- .../0002-parachains-upgrade-smoke-test.toml | 4 +-- ...3-deregister-register-validator-smoke.toml | 2 +- 10 files changed, 52 insertions(+), 45 deletions(-) diff --git a/zombienet_tests/README.md b/zombienet_tests/README.md index c168dda3249a..d4bf9af2fee2 100644 --- a/zombienet_tests/README.md +++ b/zombienet_tests/README.md @@ -14,9 +14,8 @@ _The content of this directory is meant to be used by Parity's private CI/CD inf ## Running tests locally -To run any test locally use the native provider (`zombienet test -p native ...`) and set `ZOMBIENET_NATIVE_BINARY_PREFIX` environment variable with a full path to a directory containing polkadot/cumulus binaries. E.g. `ZOMBIENET_NATIVE_BINARY_PREFIX=/home/user/local-run/`. **The path should contain a trailing slash!** +To run any test locally use the native provider (`zombienet test -p native ...`) and prepare a directory containing all required polkadot/cumulus binaries. They are: -You need the following binaries: * adder-collator -> polkadot/target/testnet/adder-collator * malus -> polkadot/target/testnet/malus * polkadot -> polkadot/target/testnet/polkadot @@ -40,7 +39,15 @@ lrwxrwxrwx. 1 ceco ceco 47 Jan 18 11:33 polkadot -> /home/user/src/polkadot/tar lrwxrwxrwx. 1 ceco ceco 56 Jan 19 15:53 polkadot-collator -> /home/user/src/cumulus/target/release/polkadot-parachain lrwxrwxrwx. 1 ceco ceco 55 Jan 18 13:58 undying-collator -> /home/user/src/polkadot/target/testnet/undying-collator ``` -And set `ZOMBIENET_NATIVE_BINARY_PREFIX` to the path of this directory. This way you won't have to copy files on each rebuild. + +Then when you execute a test you set PATH as `PATH=/your/zombienet/binaries/dir:$PATH`. It's important to put your dir at the beginning of PATH otherwise zombienet might pick another binary. + +Example: + +The directory with the zombienet binaries is `/home/user/zombienet_bins/`. You can run a test locally by executing: +``` +PATH=/home/user/zombienet_bins:$PATH zombienet test -p native 0001-parachains-pvf.zndsl +``` ## Questions / permissions diff --git a/zombienet_tests/functional/0001-parachains-pvf.toml b/zombienet_tests/functional/0001-parachains-pvf.toml index 406de08dcbea..9f4aa699ec8a 100644 --- a/zombienet_tests/functional/0001-parachains-pvf.toml +++ b/zombienet_tests/functional/0001-parachains-pvf.toml @@ -3,9 +3,9 @@ timeout = 1000 [relaychain] default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}" -default_command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot" +default_command = "polkadot" chain = "rococo-local" -chain_spec_command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot build-spec --chain rococo-local --disable-default-bootnode" +chain_spec_command = "polkadot build-spec --chain rococo-local --disable-default-bootnode" [relaychain.default_resources] limits = { memory = "4G", cpu = "2" } @@ -46,89 +46,89 @@ requests = { memory = "2G", cpu = "1" } [[parachains]] id = 2000 addToGenesis = true -genesis_state_generator = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=1" +genesis_state_generator = "undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=1" [parachains.collator] name = "collator01" image = "{{COL_IMAGE}}" - command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator" + command = "undying-collator" args = ["-lparachain=debug", "--pov-size=100000", "--pvf-complexity=1", "--parachain-id=2000"] [[parachains]] id = 2001 addToGenesis = true -genesis_state_generator = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=10" +genesis_state_generator = "undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=10" [parachains.collator] name = "collator02" image = "{{COL_IMAGE}}" - command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator" + command = "undying-collator" args = ["-lparachain=debug", "--pov-size=100000", "--parachain-id=2001", "--pvf-complexity=10"] [[parachains]] id = 2002 addToGenesis = true -genesis_state_generator = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=100" +genesis_state_generator = "undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=100" [parachains.collator] name = "collator03" image = "{{COL_IMAGE}}" - command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator" + command = "undying-collator" args = ["-lparachain=debug", "--pov-size=100000", "--parachain-id=2002", "--pvf-complexity=100"] [[parachains]] id = 2003 addToGenesis = true -genesis_state_generator = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator export-genesis-state --pov-size=20000 --pvf-complexity=300" +genesis_state_generator = "undying-collator export-genesis-state --pov-size=20000 --pvf-complexity=300" [parachains.collator] name = "collator04" image = "{{COL_IMAGE}}" - command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator" + command = "undying-collator" args = ["-lparachain=debug", "--pov-size=20000", "--parachain-id=2003", "--pvf-complexity=300"] [[parachains]] id = 2004 addToGenesis = true -genesis_state_generator = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=300" +genesis_state_generator = "undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=300" [parachains.collator] name = "collator05" image = "{{COL_IMAGE}}" - command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator" + command = "undying-collator" args = ["-lparachain=debug", "--pov-size=100000", "--parachain-id=2004", "--pvf-complexity=300"] [[parachains]] id = 2005 addToGenesis = true -genesis_state_generator = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator export-genesis-state --pov-size=20000 --pvf-complexity=400" +genesis_state_generator = "undying-collator export-genesis-state --pov-size=20000 --pvf-complexity=400" [parachains.collator] name = "collator06" image = "{{COL_IMAGE}}" - command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator" + command = "undying-collator" args = ["-lparachain=debug", "--pov-size=20000", "--pvf-complexity=400", "--parachain-id=2005"] [[parachains]] id = 2006 addToGenesis = true -genesis_state_generator = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=300" +genesis_state_generator = "undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=300" [parachains.collator] name = "collator07" image = "{{COL_IMAGE}}" - command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator" + command = "undying-collator" args = ["-lparachain=debug", "--pov-size=100000", "--pvf-complexity=300", "--parachain-id=2006"] [[parachains]] id = 2007 addToGenesis = true -genesis_state_generator = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=300" +genesis_state_generator = "undying-collator export-genesis-state --pov-size=100000 --pvf-complexity=300" [parachains.collator] name = "collator08" image = "{{COL_IMAGE}}" - command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator" + command = "undying-collator" args = ["-lparachain=debug", "--pov-size=100000", "--pvf-complexity=300", "--parachain-id=2007"] [types.Header] diff --git a/zombienet_tests/functional/0002-parachains-disputes.toml b/zombienet_tests/functional/0002-parachains-disputes.toml index 4b1adb15852a..a0a87d60d4e3 100644 --- a/zombienet_tests/functional/0002-parachains-disputes.toml +++ b/zombienet_tests/functional/0002-parachains-disputes.toml @@ -8,8 +8,8 @@ timeout = 1000 [relaychain] default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}" chain = "rococo-local" -chain_spec_command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot build-spec --chain rococo-local --disable-default-bootnode" -default_command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot" +chain_spec_command = "polkadot build-spec --chain rococo-local --disable-default-bootnode" +default_command = "polkadot" [relaychain.default_resources] limits = { memory = "4G", cpu = "2" } @@ -18,13 +18,13 @@ requests = { memory = "2G", cpu = "1" } [[relaychain.nodes]] image = "{{MALUS_IMAGE}}" name = "alice" - command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}malus dispute-ancestor --fake-validation approval-invalid" + command = "malus dispute-ancestor --fake-validation approval-invalid" args = [ "--alice", " -lparachain=debug,MALUS=trace" ] [[relaychain.nodes]] image = "{{MALUS_IMAGE}}" name = "bob" - command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}malus dispute-ancestor --fake-validation approval-invalid" + command = "malus dispute-ancestor --fake-validation approval-invalid" args = [ "--bob", "-lparachain=debug,MALUS=trace"] [[relaychain.nodes]] @@ -55,12 +55,12 @@ requests = { memory = "2G", cpu = "1" } [[parachains]] id = {{id}} addToGenesis = true -genesis_state_generator = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator export-genesis-state --pov-size={{25000*(id-1999)}} --pvf-complexity={{id - 1999}}" +genesis_state_generator = "undying-collator export-genesis-state --pov-size={{25000*(id-1999)}} --pvf-complexity={{id - 1999}}" [parachains.collator] image = "{{COL_IMAGE}}" name = "collator" - command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator" + command = "undying-collator" args = ["-lparachain=debug", "--pov-size={{25000*(id-1999)}}", "--parachain-id={{id}}", "--pvf-complexity={{id - 1999}}"] {% endfor %} diff --git a/zombienet_tests/functional/0003-beefy-and-mmr.toml b/zombienet_tests/functional/0003-beefy-and-mmr.toml index 3067c4ee309e..cb9322e5967e 100644 --- a/zombienet_tests/functional/0003-beefy-and-mmr.toml +++ b/zombienet_tests/functional/0003-beefy-and-mmr.toml @@ -4,7 +4,7 @@ timeout = 1000 [relaychain] default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}" chain = "rococo-local" -default_command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot" +default_command = "polkadot" [[relaychain.node_groups]] name = "validator" diff --git a/zombienet_tests/functional/0003-parachains-garbage-candidate.toml b/zombienet_tests/functional/0003-parachains-garbage-candidate.toml index 5a9e709eb7a6..7c4f5a9f1bca 100644 --- a/zombienet_tests/functional/0003-parachains-garbage-candidate.toml +++ b/zombienet_tests/functional/0003-parachains-garbage-candidate.toml @@ -9,8 +9,8 @@ bootnode = true [relaychain] default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}" chain = "rococo-local" -chain_spec_command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot build-spec --chain rococo-local --disable-default-bootnode" -default_command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot" +chain_spec_command = "polkadot build-spec --chain rococo-local --disable-default-bootnode" +default_command = "polkadot" [relaychain.default_resources] limits = { memory = "4G", cpu = "2" } @@ -24,7 +24,7 @@ requests = { memory = "2G", cpu = "1" } [[relaychain.node_groups]] image = "{{MALUS_IMAGE}}" name = "malus-validator" - command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}malus suggest-garbage-candidate" + command = "malus suggest-garbage-candidate" args = ["-lparachain=debug,MALUS=trace"] count = 1 @@ -32,11 +32,11 @@ requests = { memory = "2G", cpu = "1" } [[parachains]] id = {{id}} addToGenesis = true -genesis_state_generator = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator export-genesis-state --pov-size={{10000*(id-1999)}} --pvf-complexity={{id - 1999}}" +genesis_state_generator = "undying-collator export-genesis-state --pov-size={{10000*(id-1999)}} --pvf-complexity={{id - 1999}}" [parachains.collator] image = "{{COL_IMAGE}}" name = "collator" - command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator" + command = "undying-collator" args = ["-lparachain=debug", "--pov-size={{10000*(id-1999)}}", "--parachain-id={{id}}", "--pvf-complexity={{id - 1999}}"] {% endfor %} diff --git a/zombienet_tests/misc/0001-paritydb.toml b/zombienet_tests/misc/0001-paritydb.toml index f22933640b7c..38fa56898196 100644 --- a/zombienet_tests/misc/0001-paritydb.toml +++ b/zombienet_tests/misc/0001-paritydb.toml @@ -9,8 +9,8 @@ bootnode = true [relaychain] default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}" chain = "rococo-local" -chain_spec_command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot build-spec --chain rococo-local" -default_command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot" +chain_spec_command = "polkadot build-spec --chain rococo-local" +default_command = "polkadot" [relaychain.default_resources] limits = { memory = "4G", cpu = "2" } @@ -25,11 +25,11 @@ requests = { memory = "2G", cpu = "1" } [[parachains]] id = {{id}} addToGenesis = true -genesis_state_generator = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator export-genesis-state --pov-size={{10000*(id-1999)}} --pvf-complexity={{id - 1999}}" +genesis_state_generator = "undying-collator export-genesis-state --pov-size={{10000*(id-1999)}} --pvf-complexity={{id - 1999}}" [parachains.collator] name = "collator" image = "{{COL_IMAGE}}" - command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator" + command = "undying-collator" args = ["-lparachain=debug", "--pov-size={{10000*(id-1999)}}", "--parachain-id={{id}}", "--pvf-complexity={{id - 1999}}"] {% endfor %} diff --git a/zombienet_tests/misc/0002-upgrade-node.toml b/zombienet_tests/misc/0002-upgrade-node.toml index dd8badd50a0c..68f32cc8a80c 100644 --- a/zombienet_tests/misc/0002-upgrade-node.toml +++ b/zombienet_tests/misc/0002-upgrade-node.toml @@ -3,7 +3,7 @@ timeout = 1000 [relaychain] default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}" -default_command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot" +default_command = "polkadot" chain = "rococo-local" @@ -31,7 +31,7 @@ addToGenesis = true [parachains.collator] name = "collator01" image = "{{COL_IMAGE}}" - command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator" + command = "undying-collator" args = ["-lparachain=debug"] [[parachains]] @@ -41,7 +41,7 @@ addToGenesis = true [parachains.collator] name = "collator02" image = "{{COL_IMAGE}}" - command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}undying-collator" + command = "undying-collator" args = ["-lparachain=debug"] [types.Header] diff --git a/zombienet_tests/smoke/0001-parachains-smoke-test.toml b/zombienet_tests/smoke/0001-parachains-smoke-test.toml index db5595af2423..2e577d1a25c6 100644 --- a/zombienet_tests/smoke/0001-parachains-smoke-test.toml +++ b/zombienet_tests/smoke/0001-parachains-smoke-test.toml @@ -4,7 +4,7 @@ timeout = 1000 [relaychain] default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}" chain = "rococo-local" -default_command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot" +default_command = "polkadot" [[relaychain.nodes]] name = "alice" @@ -21,7 +21,7 @@ addToGenesis = false [parachains.collator] name = "collator01" image = "{{COL_IMAGE}}" - command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}adder-collator" + command = "adder-collator" args = [ "-lruntime=debug,parachain=trace" ] [types.Header] diff --git a/zombienet_tests/smoke/0002-parachains-upgrade-smoke-test.toml b/zombienet_tests/smoke/0002-parachains-upgrade-smoke-test.toml index 73adcb4adaa9..77efb77e3adc 100644 --- a/zombienet_tests/smoke/0002-parachains-upgrade-smoke-test.toml +++ b/zombienet_tests/smoke/0002-parachains-upgrade-smoke-test.toml @@ -5,7 +5,7 @@ bootnode = true [relaychain] default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}" chain = "rococo-local" -default_command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot" +default_command = "polkadot" [[relaychain.nodes]] name = "alice" @@ -31,7 +31,7 @@ cumulus_based = true [parachains.collator] name = "collator01" image = "{{COL_IMAGE}}" - command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot-collator" # Should become `polkadot-parachain` + command = "polkadot-collator" # Should become `polkadot-parachain` [[parachains.collator.env]] name = "RUST_LOG" diff --git a/zombienet_tests/smoke/0003-deregister-register-validator-smoke.toml b/zombienet_tests/smoke/0003-deregister-register-validator-smoke.toml index 2eb790ffac2f..11098bf5e583 100644 --- a/zombienet_tests/smoke/0003-deregister-register-validator-smoke.toml +++ b/zombienet_tests/smoke/0003-deregister-register-validator-smoke.toml @@ -4,7 +4,7 @@ timeout = 1000 [relaychain] default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}" chain = "rococo-local" -default_command = "{{ZOMBIENET_NATIVE_BINARY_PREFIX}}polkadot" +default_command = "polkadot" [[relaychain.nodes]] name = "alice" From a563ac6cc62cea6854e80a69ba56c25fe5f09cfa Mon Sep 17 00:00:00 2001 From: Tsvetomir Dimitrov Date: Mon, 23 Jan 2023 10:52:24 +0200 Subject: [PATCH 4/6] Remove pointless changes --- zombienet_tests/functional/0001-parachains-pvf.toml | 1 - zombienet_tests/functional/0003-beefy-and-mmr.toml | 2 +- zombienet_tests/misc/0002-upgrade-node.toml | 1 - zombienet_tests/smoke/0001-parachains-smoke-test.toml | 2 +- zombienet_tests/smoke/0002-parachains-upgrade-smoke-test.toml | 4 ++-- .../smoke/0003-deregister-register-validator-smoke.toml | 2 +- 6 files changed, 5 insertions(+), 7 deletions(-) diff --git a/zombienet_tests/functional/0001-parachains-pvf.toml b/zombienet_tests/functional/0001-parachains-pvf.toml index 9f4aa699ec8a..9ae4d899e690 100644 --- a/zombienet_tests/functional/0001-parachains-pvf.toml +++ b/zombienet_tests/functional/0001-parachains-pvf.toml @@ -3,7 +3,6 @@ timeout = 1000 [relaychain] default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}" -default_command = "polkadot" chain = "rococo-local" chain_spec_command = "polkadot build-spec --chain rococo-local --disable-default-bootnode" diff --git a/zombienet_tests/functional/0003-beefy-and-mmr.toml b/zombienet_tests/functional/0003-beefy-and-mmr.toml index cb9322e5967e..1608976abdf2 100644 --- a/zombienet_tests/functional/0003-beefy-and-mmr.toml +++ b/zombienet_tests/functional/0003-beefy-and-mmr.toml @@ -4,7 +4,7 @@ timeout = 1000 [relaychain] default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}" chain = "rococo-local" -default_command = "polkadot" +command = "polkadot" [[relaychain.node_groups]] name = "validator" diff --git a/zombienet_tests/misc/0002-upgrade-node.toml b/zombienet_tests/misc/0002-upgrade-node.toml index 68f32cc8a80c..ef3fa54dc200 100644 --- a/zombienet_tests/misc/0002-upgrade-node.toml +++ b/zombienet_tests/misc/0002-upgrade-node.toml @@ -3,7 +3,6 @@ timeout = 1000 [relaychain] default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}" -default_command = "polkadot" chain = "rococo-local" diff --git a/zombienet_tests/smoke/0001-parachains-smoke-test.toml b/zombienet_tests/smoke/0001-parachains-smoke-test.toml index 2e577d1a25c6..d132945aeea0 100644 --- a/zombienet_tests/smoke/0001-parachains-smoke-test.toml +++ b/zombienet_tests/smoke/0001-parachains-smoke-test.toml @@ -4,7 +4,7 @@ timeout = 1000 [relaychain] default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}" chain = "rococo-local" -default_command = "polkadot" +command = "polkadot" [[relaychain.nodes]] name = "alice" diff --git a/zombienet_tests/smoke/0002-parachains-upgrade-smoke-test.toml b/zombienet_tests/smoke/0002-parachains-upgrade-smoke-test.toml index 77efb77e3adc..0becb408550a 100644 --- a/zombienet_tests/smoke/0002-parachains-upgrade-smoke-test.toml +++ b/zombienet_tests/smoke/0002-parachains-upgrade-smoke-test.toml @@ -5,7 +5,7 @@ bootnode = true [relaychain] default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}" chain = "rococo-local" -default_command = "polkadot" +command = "polkadot" [[relaychain.nodes]] name = "alice" @@ -31,7 +31,7 @@ cumulus_based = true [parachains.collator] name = "collator01" image = "{{COL_IMAGE}}" - command = "polkadot-collator" # Should become `polkadot-parachain` + command = "polkadot-collator" [[parachains.collator.env]] name = "RUST_LOG" diff --git a/zombienet_tests/smoke/0003-deregister-register-validator-smoke.toml b/zombienet_tests/smoke/0003-deregister-register-validator-smoke.toml index 11098bf5e583..48c79a861bed 100644 --- a/zombienet_tests/smoke/0003-deregister-register-validator-smoke.toml +++ b/zombienet_tests/smoke/0003-deregister-register-validator-smoke.toml @@ -4,7 +4,7 @@ timeout = 1000 [relaychain] default_image = "{{ZOMBIENET_INTEGRATION_TEST_IMAGE}}" chain = "rococo-local" -default_command = "polkadot" +command = "polkadot" [[relaychain.nodes]] name = "alice" From 71006a923408ecd6ece836902c3a79ce0d1f51a6 Mon Sep 17 00:00:00 2001 From: Javier Viola Date: Wed, 25 Jan 2023 10:16:07 -0300 Subject: [PATCH 5/6] add set_env helper and doc in readme --- zombienet_tests/.set_env | 20 ++++++++++++++++++++ zombienet_tests/README.md | 34 ++++++++++++++++++++-------------- 2 files changed, 40 insertions(+), 14 deletions(-) create mode 100644 zombienet_tests/.set_env diff --git a/zombienet_tests/.set_env b/zombienet_tests/.set_env new file mode 100644 index 000000000000..bfbd318d9f97 --- /dev/null +++ b/zombienet_tests/.set_env @@ -0,0 +1,20 @@ +pathprepend() { + for ((i=$#; i>0; i--)); + do + ARG="$@[$i]" + if [ -d "$ARG" ] && [[ ":$PATH:" != *":$ARG:"* ]]; then + PATH="$ARG${PATH:+":$PATH"}" + fi + done +} + +# paths are prepend in order, so you can manage with version will run +# by the order of this array +CUSTOM_PATHS=( + "/polkadot/target/release" + "/polkadot/target/testnet" + "/cumulus/target/release" +) + +pathprepend $CUSTOM_PATHS +export PATH=$PATH \ No newline at end of file diff --git a/zombienet_tests/README.md b/zombienet_tests/README.md index d4bf9af2fee2..a74b0c498d87 100644 --- a/zombienet_tests/README.md +++ b/zombienet_tests/README.md @@ -14,7 +14,7 @@ _The content of this directory is meant to be used by Parity's private CI/CD inf ## Running tests locally -To run any test locally use the native provider (`zombienet test -p native ...`) and prepare a directory containing all required polkadot/cumulus binaries. They are: +To run any test locally use the native provider (`zombienet test -p native ...`) you need first build the binaries. They are: * adder-collator -> polkadot/target/testnet/adder-collator * malus -> polkadot/target/testnet/malus @@ -28,25 +28,31 @@ To build them use: * malus -> cargo build --profile testnet -p polkadot-test-malus * polkadot (in polkadot repo) and polkadot-collator (in cumulus repo) -> `cargo build --profile testnet` -One solution is to have a directory with symlinks to the corresponding binaries in your source tree. E.g.: +One solution is to use the `.set_env` file (from this directory) and fill the `CUSTOM_PATHS` before *source* it to patch the PATH of your system to find the binaries you just built. + +E.g.: ``` -$ ls -l -total 24 -lrwxrwxrwx. 1 ceco ceco 53 Jan 19 15:03 adder-collator -> /home/ceco/src/polkadot/target/testnet/adder-collator --rw-r--r--. 1 ceco ceco 221 Jan 18 16:35 build_cmds.txt -lrwxrwxrwx. 1 ceco ceco 44 Jan 18 16:47 malus -> /home/user/src/polkadot/target/testnet/malus -lrwxrwxrwx. 1 ceco ceco 47 Jan 18 11:33 polkadot -> /home/user/src/polkadot/target/testnet/polkadot -lrwxrwxrwx. 1 ceco ceco 56 Jan 19 15:53 polkadot-collator -> /home/user/src/cumulus/target/release/polkadot-parachain -lrwxrwxrwx. 1 ceco ceco 55 Jan 18 13:58 undying-collator -> /home/user/src/polkadot/target/testnet/undying-collator +$ cat .set_env +(...) +# by the order of this array +CUSTOM_PATHS=( + "/polkadot/target/release" + "/polkadot/target/testnet" + "/cumulus/target/release" +) +(...) + +source .set_env ``` -Then when you execute a test you set PATH as `PATH=/your/zombienet/binaries/dir:$PATH`. It's important to put your dir at the beginning of PATH otherwise zombienet might pick another binary. +Then you have your `PATH` customized and ready to run `zombienet`. + **NOTE**: You should need to do this ones per terminal session, since we are patching the `PATH` and re-exporting. Example: -The directory with the zombienet binaries is `/home/user/zombienet_bins/`. You can run a test locally by executing: -``` -PATH=/home/user/zombienet_bins:$PATH zombienet test -p native 0001-parachains-pvf.zndsl +You can run a test locally by executing: +```sh +zombienet test -p native 0001-parachains-pvf.zndsl ``` ## Questions / permissions From eaac8813143ffbcf0e27e040a6143d26a4cc17e5 Mon Sep 17 00:00:00 2001 From: Javier Viola Date: Thu, 26 Jan 2023 08:49:16 -0300 Subject: [PATCH 6/6] changes from feedback --- zombienet_tests/.set_env | 8 ++++---- zombienet_tests/README.md | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/zombienet_tests/.set_env b/zombienet_tests/.set_env index bfbd318d9f97..f5d09f218735 100644 --- a/zombienet_tests/.set_env +++ b/zombienet_tests/.set_env @@ -11,10 +11,10 @@ pathprepend() { # paths are prepend in order, so you can manage with version will run # by the order of this array CUSTOM_PATHS=( - "/polkadot/target/release" - "/polkadot/target/testnet" - "/cumulus/target/release" + "~/polkadot/target/release" + "~/polkadot/target/testnet" + "~/cumulus/target/release" ) pathprepend $CUSTOM_PATHS -export PATH=$PATH \ No newline at end of file +export PATH=$PATH diff --git a/zombienet_tests/README.md b/zombienet_tests/README.md index a74b0c498d87..021d3643e7f9 100644 --- a/zombienet_tests/README.md +++ b/zombienet_tests/README.md @@ -36,9 +36,9 @@ $ cat .set_env (...) # by the order of this array CUSTOM_PATHS=( - "/polkadot/target/release" - "/polkadot/target/testnet" - "/cumulus/target/release" + "~/polkadot/target/release" + "~/polkadot/target/testnet" + "~/cumulus/target/release" ) (...) @@ -46,7 +46,7 @@ source .set_env ``` Then you have your `PATH` customized and ready to run `zombienet`. - **NOTE**: You should need to do this ones per terminal session, since we are patching the `PATH` and re-exporting. + **NOTE**: You should need to do this ones per terminal session, since we are patching the `PATH` and re-exporting. **Or** you can also `source` this file in your `.bashrc` file to get executed automatically in each new session. Example: