From f9d2f5b1bae73a4e1263e169ce0292abb4745012 Mon Sep 17 00:00:00 2001 From: edgurgel Date: Sat, 22 Jun 2024 20:53:08 +1200 Subject: [PATCH] Fix struct test and fix warnings Also ensure compiler warnings happen on GA --- .github/workflows/main.yml | 6 +++--- lib/mimic/server.ex | 6 +++--- test/mimic_test.exs | 2 ++ 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 9006483..47dd86c 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -18,15 +18,15 @@ jobs: - name: Install dependencies run: mix deps.get + - name: Compile with --warnings-as-errors + run: mix compile --warnings-as-errors + - name: Run "mix format" run: mix format --check-formatted - name: Credo run: mix credo --strict - - name: Compile with --warnings-as-errors - run: mix compile --warnings-as-errors - test: name: Test (Elixir ${{matrix.elixir}} | Erlang/OTP ${{matrix.otp}}) runs-on: ubuntu-latest diff --git a/lib/mimic/server.ex b/lib/mimic/server.ex index f961729..6af1f13 100644 --- a/lib/mimic/server.ex +++ b/lib/mimic/server.ex @@ -288,7 +288,7 @@ defmodule Mimic.Server do internal_functions = [__info__: 1, module_info: 0, module_info: 1] stubs = - module.module_info[:exports] + module.module_info(:exports) |> Enum.filter(&(&1 not in internal_functions)) |> Enum.reduce(state.stubs, fn {fn_name, arity}, stubs -> func = stub_function(module, fn_name, arity) @@ -317,12 +317,12 @@ defmodule Mimic.Server do internal_functions = [__info__: 1, module_info: 0, module_info: 1] mocked_public_functions = - original_module.module_info[:exports] + original_module.module_info(:exports) |> Enum.filter(&(&1 not in internal_functions)) |> MapSet.new() mocking_public_functions = - mocking_module.module_info[:exports] + mocking_module.module_info(:exports) |> Enum.filter(&(&1 not in internal_functions)) |> MapSet.new() diff --git a/test/mimic_test.exs b/test/mimic_test.exs index 7eb07e1..61b0456 100644 --- a/test/mimic_test.exs +++ b/test/mimic_test.exs @@ -947,6 +947,8 @@ defmodule Mimic.Test do end describe "structs" do + setup :set_mimic_private + test "copies struct fields" do struct_fields = Structs.__info__(:struct)