From 1588ee980f729e9abe7f24752db57d4b3fdb3494 Mon Sep 17 00:00:00 2001 From: Martin Paulucci Date: Tue, 30 Jan 2024 17:31:05 +0100 Subject: [PATCH 1/2] Move test runners back to test folder. --- Makefile | 2 +- lib/lambda_ethereum_consensus/p2p/block_downloader.ex | 1 - lib/mix/tasks/generate_spec_tests.ex | 2 +- mix.exs | 7 +++++-- {lib => test}/spec/runner_behaviour.ex | 0 {lib => test}/spec/runners/bls.ex | 0 {lib => test}/spec/runners/epoch_processing.ex | 0 {lib => test}/spec/runners/finality.ex | 0 {lib => test}/spec/runners/fork_choice.ex | 0 {lib => test}/spec/runners/helpers/process_blocks.ex | 0 .../runners/helpers/ssz_static_containers/bits_struct.ex | 0 .../helpers/ssz_static_containers/complex_test_struct.ex | 0 .../helpers/ssz_static_containers/fixed_test_struct.ex | 0 .../ssz_static_containers/single_field_test_struct.ex | 0 .../helpers/ssz_static_containers/small_test_struct.ex | 0 .../helpers/ssz_static_containers/var_test_struct.ex | 0 {lib => test}/spec/runners/light_client.ex | 0 {lib => test}/spec/runners/operations.ex | 0 {lib => test}/spec/runners/random.ex | 0 {lib => test}/spec/runners/rewards.ex | 0 {lib => test}/spec/runners/sanity.ex | 0 {lib => test}/spec/runners/shuffling.ex | 0 {lib => test}/spec/runners/ssz_generic.ex | 0 {lib => test}/spec/runners/ssz_static.ex | 0 {lib => test}/spec/runners/sync.ex | 0 {lib => test}/spec/testcase.ex | 0 {lib => test}/spec/utils.ex | 0 27 files changed, 7 insertions(+), 5 deletions(-) rename {lib => test}/spec/runner_behaviour.ex (100%) rename {lib => test}/spec/runners/bls.ex (100%) rename {lib => test}/spec/runners/epoch_processing.ex (100%) rename {lib => test}/spec/runners/finality.ex (100%) rename {lib => test}/spec/runners/fork_choice.ex (100%) rename {lib => test}/spec/runners/helpers/process_blocks.ex (100%) rename {lib => test}/spec/runners/helpers/ssz_static_containers/bits_struct.ex (100%) rename {lib => test}/spec/runners/helpers/ssz_static_containers/complex_test_struct.ex (100%) rename {lib => test}/spec/runners/helpers/ssz_static_containers/fixed_test_struct.ex (100%) rename {lib => test}/spec/runners/helpers/ssz_static_containers/single_field_test_struct.ex (100%) rename {lib => test}/spec/runners/helpers/ssz_static_containers/small_test_struct.ex (100%) rename {lib => test}/spec/runners/helpers/ssz_static_containers/var_test_struct.ex (100%) rename {lib => test}/spec/runners/light_client.ex (100%) rename {lib => test}/spec/runners/operations.ex (100%) rename {lib => test}/spec/runners/random.ex (100%) rename {lib => test}/spec/runners/rewards.ex (100%) rename {lib => test}/spec/runners/sanity.ex (100%) rename {lib => test}/spec/runners/shuffling.ex (100%) rename {lib => test}/spec/runners/ssz_generic.ex (100%) rename {lib => test}/spec/runners/ssz_static.ex (100%) rename {lib => test}/spec/runners/sync.ex (100%) rename {lib => test}/spec/testcase.ex (100%) rename {lib => test}/spec/utils.ex (100%) diff --git a/Makefile b/Makefile index 0c822c710..a6e70b496 100644 --- a/Makefile +++ b/Makefile @@ -160,7 +160,7 @@ $(VECTORS_DIR)/%: $(SPECTEST_ROOTDIR)/%_${SPECTEST_VERSION}.tar.gz -rm -rf $@ tar -xzmf "$<" -C $(SPECTEST_ROOTDIR) -$(SPECTEST_GENERATED_ROOTDIR): $(VECTORS_DIR)/mainnet $(VECTORS_DIR)/minimal $(VECTORS_DIR)/general lib/spec/runners/*.ex lib/mix/tasks/generate_spec_tests.ex +$(SPECTEST_GENERATED_ROOTDIR): $(VECTORS_DIR)/mainnet $(VECTORS_DIR)/minimal $(VECTORS_DIR)/general test/spec/runners/*.ex lib/mix/tasks/generate_spec_tests.ex mix generate_spec_tests #⬇️ download-vectors: @ Download the spec test vectors files. diff --git a/lib/lambda_ethereum_consensus/p2p/block_downloader.ex b/lib/lambda_ethereum_consensus/p2p/block_downloader.ex index fb222d1fe..af035471f 100644 --- a/lib/lambda_ethereum_consensus/p2p/block_downloader.ex +++ b/lib/lambda_ethereum_consensus/p2p/block_downloader.ex @@ -50,7 +50,6 @@ defmodule LambdaEthereumConsensus.P2P.BlockDownloader do {:ok, chunks} <- parse_response(response_chunk), {:ok, blocks} <- decode_chunks(chunks), :ok <- verify_batch(blocks, slot, count) do - # TODO: handle cases where slot is empty tags = %{result: "success", type: "by_slot", reason: "success"} :telemetry.execute([:network, :request], %{blocks: count}, tags) {:ok, blocks} diff --git a/lib/mix/tasks/generate_spec_tests.ex b/lib/mix/tasks/generate_spec_tests.ex index 567f4e617..6d1da628f 100644 --- a/lib/mix/tasks/generate_spec_tests.ex +++ b/lib/mix/tasks/generate_spec_tests.ex @@ -16,7 +16,7 @@ defmodule Mix.Tasks.GenerateSpecTests do @shortdoc "Generates tests for spec test files" @impl Mix.Task def run(_args) do - {:ok, file_names} = File.ls(Path.join(["lib", "spec", "runners"])) + {:ok, file_names} = File.ls(Path.join(["test", "spec", "runners"])) runners = Enum.map(file_names, &Path.basename(&1, ".ex")) # Generate all tests for Capella fork diff --git a/mix.exs b/mix.exs index 3cbe53c6f..7d511740f 100644 --- a/mix.exs +++ b/mix.exs @@ -12,7 +12,8 @@ defmodule LambdaEthereumConsensus.MixProject do elixirc_paths: compiler_paths(Mix.env()), warn_test_pattern: "_remove_warning.exs", preferred_cli_env: [ - dialyzer: :test + dialyzer: :test, + generate_spec_tests: :test ] ] end @@ -69,6 +70,8 @@ defmodule LambdaEthereumConsensus.MixProject do ] end - defp compiler_paths(:test), do: ["test/spec", "test/fixtures"] ++ compiler_paths(:prod) + defp compiler_paths(:test), + do: ["test/spec", "test/fixtures"] ++ compiler_paths(:prod) + defp compiler_paths(_), do: ["lib", "proto"] end diff --git a/lib/spec/runner_behaviour.ex b/test/spec/runner_behaviour.ex similarity index 100% rename from lib/spec/runner_behaviour.ex rename to test/spec/runner_behaviour.ex diff --git a/lib/spec/runners/bls.ex b/test/spec/runners/bls.ex similarity index 100% rename from lib/spec/runners/bls.ex rename to test/spec/runners/bls.ex diff --git a/lib/spec/runners/epoch_processing.ex b/test/spec/runners/epoch_processing.ex similarity index 100% rename from lib/spec/runners/epoch_processing.ex rename to test/spec/runners/epoch_processing.ex diff --git a/lib/spec/runners/finality.ex b/test/spec/runners/finality.ex similarity index 100% rename from lib/spec/runners/finality.ex rename to test/spec/runners/finality.ex diff --git a/lib/spec/runners/fork_choice.ex b/test/spec/runners/fork_choice.ex similarity index 100% rename from lib/spec/runners/fork_choice.ex rename to test/spec/runners/fork_choice.ex diff --git a/lib/spec/runners/helpers/process_blocks.ex b/test/spec/runners/helpers/process_blocks.ex similarity index 100% rename from lib/spec/runners/helpers/process_blocks.ex rename to test/spec/runners/helpers/process_blocks.ex diff --git a/lib/spec/runners/helpers/ssz_static_containers/bits_struct.ex b/test/spec/runners/helpers/ssz_static_containers/bits_struct.ex similarity index 100% rename from lib/spec/runners/helpers/ssz_static_containers/bits_struct.ex rename to test/spec/runners/helpers/ssz_static_containers/bits_struct.ex diff --git a/lib/spec/runners/helpers/ssz_static_containers/complex_test_struct.ex b/test/spec/runners/helpers/ssz_static_containers/complex_test_struct.ex similarity index 100% rename from lib/spec/runners/helpers/ssz_static_containers/complex_test_struct.ex rename to test/spec/runners/helpers/ssz_static_containers/complex_test_struct.ex diff --git a/lib/spec/runners/helpers/ssz_static_containers/fixed_test_struct.ex b/test/spec/runners/helpers/ssz_static_containers/fixed_test_struct.ex similarity index 100% rename from lib/spec/runners/helpers/ssz_static_containers/fixed_test_struct.ex rename to test/spec/runners/helpers/ssz_static_containers/fixed_test_struct.ex diff --git a/lib/spec/runners/helpers/ssz_static_containers/single_field_test_struct.ex b/test/spec/runners/helpers/ssz_static_containers/single_field_test_struct.ex similarity index 100% rename from lib/spec/runners/helpers/ssz_static_containers/single_field_test_struct.ex rename to test/spec/runners/helpers/ssz_static_containers/single_field_test_struct.ex diff --git a/lib/spec/runners/helpers/ssz_static_containers/small_test_struct.ex b/test/spec/runners/helpers/ssz_static_containers/small_test_struct.ex similarity index 100% rename from lib/spec/runners/helpers/ssz_static_containers/small_test_struct.ex rename to test/spec/runners/helpers/ssz_static_containers/small_test_struct.ex diff --git a/lib/spec/runners/helpers/ssz_static_containers/var_test_struct.ex b/test/spec/runners/helpers/ssz_static_containers/var_test_struct.ex similarity index 100% rename from lib/spec/runners/helpers/ssz_static_containers/var_test_struct.ex rename to test/spec/runners/helpers/ssz_static_containers/var_test_struct.ex diff --git a/lib/spec/runners/light_client.ex b/test/spec/runners/light_client.ex similarity index 100% rename from lib/spec/runners/light_client.ex rename to test/spec/runners/light_client.ex diff --git a/lib/spec/runners/operations.ex b/test/spec/runners/operations.ex similarity index 100% rename from lib/spec/runners/operations.ex rename to test/spec/runners/operations.ex diff --git a/lib/spec/runners/random.ex b/test/spec/runners/random.ex similarity index 100% rename from lib/spec/runners/random.ex rename to test/spec/runners/random.ex diff --git a/lib/spec/runners/rewards.ex b/test/spec/runners/rewards.ex similarity index 100% rename from lib/spec/runners/rewards.ex rename to test/spec/runners/rewards.ex diff --git a/lib/spec/runners/sanity.ex b/test/spec/runners/sanity.ex similarity index 100% rename from lib/spec/runners/sanity.ex rename to test/spec/runners/sanity.ex diff --git a/lib/spec/runners/shuffling.ex b/test/spec/runners/shuffling.ex similarity index 100% rename from lib/spec/runners/shuffling.ex rename to test/spec/runners/shuffling.ex diff --git a/lib/spec/runners/ssz_generic.ex b/test/spec/runners/ssz_generic.ex similarity index 100% rename from lib/spec/runners/ssz_generic.ex rename to test/spec/runners/ssz_generic.ex diff --git a/lib/spec/runners/ssz_static.ex b/test/spec/runners/ssz_static.ex similarity index 100% rename from lib/spec/runners/ssz_static.ex rename to test/spec/runners/ssz_static.ex diff --git a/lib/spec/runners/sync.ex b/test/spec/runners/sync.ex similarity index 100% rename from lib/spec/runners/sync.ex rename to test/spec/runners/sync.ex diff --git a/lib/spec/testcase.ex b/test/spec/testcase.ex similarity index 100% rename from lib/spec/testcase.ex rename to test/spec/testcase.ex diff --git a/lib/spec/utils.ex b/test/spec/utils.ex similarity index 100% rename from lib/spec/utils.ex rename to test/spec/utils.ex From d98a143520e11f5fedee660f76cc6fc526836c0d Mon Sep 17 00:00:00 2001 From: Martin Paulucci Date: Tue, 30 Jan 2024 18:06:21 +0100 Subject: [PATCH 2/2] Move task itself to test to avoid warnings. --- Makefile | 2 +- {lib/mix => test/spec}/tasks/generate_spec_tests.ex | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename {lib/mix => test/spec}/tasks/generate_spec_tests.ex (100%) diff --git a/Makefile b/Makefile index a6e70b496..cd664555f 100644 --- a/Makefile +++ b/Makefile @@ -160,7 +160,7 @@ $(VECTORS_DIR)/%: $(SPECTEST_ROOTDIR)/%_${SPECTEST_VERSION}.tar.gz -rm -rf $@ tar -xzmf "$<" -C $(SPECTEST_ROOTDIR) -$(SPECTEST_GENERATED_ROOTDIR): $(VECTORS_DIR)/mainnet $(VECTORS_DIR)/minimal $(VECTORS_DIR)/general test/spec/runners/*.ex lib/mix/tasks/generate_spec_tests.ex +$(SPECTEST_GENERATED_ROOTDIR): $(VECTORS_DIR)/mainnet $(VECTORS_DIR)/minimal $(VECTORS_DIR)/general test/spec/runners/*.ex test/spec/tasks/*.ex mix generate_spec_tests #⬇️ download-vectors: @ Download the spec test vectors files. diff --git a/lib/mix/tasks/generate_spec_tests.ex b/test/spec/tasks/generate_spec_tests.ex similarity index 100% rename from lib/mix/tasks/generate_spec_tests.ex rename to test/spec/tasks/generate_spec_tests.ex