diff --git a/Makefile b/Makefile index b82b49125..bd1ddfe8a 100644 --- a/Makefile +++ b/Makefile @@ -190,15 +190,12 @@ test-reproducibility: { echo -e "\e[91mFailure: the binary changed between builds.\e[39m"; exit 1; } # Fluffy related targets + # builds the fluffy client fluffy: | build deps echo -e $(BUILD_MSG) "build/$@" && \ $(ENV_SCRIPT) nim fluffy $(NIM_PARAMS) nimbus.nims -lc-proxy: | build deps - echo -e $(BUILD_MSG) "build/$@" && \ - $(ENV_SCRIPT) nim lc_proxy $(NIM_PARAMS) nimbus.nims - # primitive reproducibility test fluffy-test-reproducibility: + [ -e build/fluffy ] || $(MAKE) V=0 fluffy; \ @@ -211,7 +208,7 @@ fluffy-test-reproducibility: # builds and runs the fluffy test suite fluffy-test: | build deps - $(ENV_SCRIPT) nim testfluffy $(NIM_PARAMS) nimbus.nims + $(ENV_SCRIPT) nim fluffy_test $(NIM_PARAMS) nimbus.nims # builds the fluffy tools fluffy-tools: | build deps @@ -227,15 +224,22 @@ utp-test: | build deps # Build fluffy test_portal_testnet fluffy-test-portal-testnet: | build deps - $(ENV_SCRIPT) nim test_portal_testnet $(NIM_PARAMS) nimbus.nims + $(ENV_SCRIPT) nim fluffy_test_portal_testnet $(NIM_PARAMS) nimbus.nims + +# Light Client Proxy related targets + +# Builds the lc proxy client +lc-proxy: | build deps + echo -e $(BUILD_MSG) "build/$@" && \ + $(ENV_SCRIPT) nim lc_proxy $(NIM_PARAMS) nimbus.nims # builds and runs the lc proxy test suite lc-proxy-test: | build deps - $(ENV_SCRIPT) nim testlcproxy $(NIM_PARAMS) nimbus.nims + $(ENV_SCRIPT) nim lc_proxy_test $(NIM_PARAMS) nimbus.nims # usual cleaning clean: | clean-common - rm -rf build/{nimbus,fluffy,$(TOOLS_CSV),all_tests,db/test_kvstore_rocksdb,test_rpc,all_fluffy_tests,portalcli,*.dSYM} + rm -rf build/{nimbus,fluffy,lc_proxy,$(TOOLS_CSV),all_tests,test_kvstore_rocksdb,test_rpc,all_fluffy_tests,all_fluffy_portal_spec_tests,test_portal_testnet,portalcli,blockwalk,eth_data_exporter,utp_test_app,utp_test,*.dSYM} ifneq ($(USE_LIBBACKTRACE), 0) + $(MAKE) -C vendor/nim-libbacktrace clean $(HANDLE_OUTPUT) endif diff --git a/nimbus.nimble b/nimbus.nimble index ba094e84d..5f88b66d3 100644 --- a/nimbus.nimble +++ b/nimbus.nimble @@ -66,11 +66,18 @@ task test, "Run tests": task test_rocksdb, "Run rocksdb tests": test "tests/db", "test_kvstore_rocksdb", "-d:chronicles_log_level=ERROR -d:unittest2DisableParamFiltering" +## Fluffy tasks + task fluffy, "Build fluffy": buildBinary "fluffy", "fluffy/", "-d:chronicles_log_level=TRACE -d:chronosStrictException -d:PREFER_BLST_SHA256=false" -task lc_proxy, "Build light client proxy": - buildBinary "lc_proxy", "lc_proxy/", "-d:chronicles_log_level=TRACE -d:chronosStrictException -d:PREFER_BLST_SHA256=false -d:libp2p_pki_schemes=secp256k1" +task fluffy_test, "Run fluffy tests": + # Need the nimbus_db_backend in state network tests as we need a Hexary to + # start from, even though it only uses the MemoryDb. + test "fluffy/tests/portal_spec_tests/mainnet", "all_fluffy_portal_spec_tests", "-d:chronicles_log_level=ERROR -d:chronosStrictException -d:nimbus_db_backend=sqlite -d:PREFER_BLST_SHA256=false -d:canonicalVerify=true" + # Running tests with a low `mergeBlockNumber` to make the tests faster. + # Using the real mainnet merge block number is not realistic for these tests. + test "fluffy/tests", "all_fluffy_tests", "-d:chronicles_log_level=ERROR -d:chronosStrictException -d:nimbus_db_backend=sqlite -d:PREFER_BLST_SHA256=false -d:canonicalVerify=true -d:mergeBlockNumber:38130" task fluffy_tools, "Build fluffy tools": buildBinary "portalcli", "fluffy/tools/", "-d:chronicles_log_level=TRACE -d:chronosStrictException -d:PREFER_BLST_SHA256=false" @@ -83,16 +90,13 @@ task utp_test_app, "Build uTP test app": task utp_test, "Run uTP integration tests": test "fluffy/tools/utp_testing", "utp_test", "-d:chronicles_log_level=ERROR -d:chronosStrictException" -task test_portal_testnet, "Build test_portal_testnet": +task fluffy_test_portal_testnet, "Build test_portal_testnet": buildBinary "test_portal_testnet", "fluffy/scripts/", "-d:chronicles_log_level=DEBUG -d:chronosStrictException -d:unittest2DisableParamFiltering -d:PREFER_BLST_SHA256=false" -task testfluffy, "Run fluffy tests": - # Need the nimbus_db_backend in state network tests as we need a Hexary to - # start from, even though it only uses the MemoryDb. - test "fluffy/tests/portal_spec_tests/mainnet", "all_fluffy_portal_spec_tests", "-d:chronicles_log_level=ERROR -d:chronosStrictException -d:nimbus_db_backend=sqlite -d:PREFER_BLST_SHA256=false -d:canonicalVerify=true" - # Running tests with a low `mergeBlockNumber` to make the tests faster. - # Using the real mainnet merge block number is not realistic for these tests. - test "fluffy/tests", "all_fluffy_tests", "-d:chronicles_log_level=ERROR -d:chronosStrictException -d:nimbus_db_backend=sqlite -d:PREFER_BLST_SHA256=false -d:canonicalVerify=true -d:mergeBlockNumber:38130" +## Light Client Proxy tasks -task testlcproxy, "Run light proxy tests": +task lc_proxy, "Build light client proxy": + buildBinary "lc_proxy", "lc_proxy/", "-d:chronicles_log_level=TRACE -d:chronosStrictException -d:PREFER_BLST_SHA256=false -d:libp2p_pki_schemes=secp256k1" + +task lc_proxy_test, "Run light proxy tests": test "lc_proxy/tests", "test_proof_validation", "-d:chronicles_log_level=ERROR -d:chronosStrictException -d:nimbus_db_backend=sqlite -d:PREFER_BLST_SHA256=false"