diff --git a/Makefile b/Makefile index 0c822c710..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 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 test/spec/tasks/*.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/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/mix/tasks/generate_spec_tests.ex b/test/spec/tasks/generate_spec_tests.ex similarity index 97% rename from lib/mix/tasks/generate_spec_tests.ex rename to test/spec/tasks/generate_spec_tests.ex index 567f4e617..6d1da628f 100644 --- a/lib/mix/tasks/generate_spec_tests.ex +++ b/test/spec/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/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