I’ve run into a strange issue after upgrading Elixir in my local environment from 1.13 to 1.14.
I have an umbrella app, in which I can successfully execute “mix test” using Elixir 1.13. However when trying the same with Elixir 1.14 I get:
** (exit) exited in: GenServer.call(ExUnit.Server, :modules_loaded, :infinity)
** (EXIT) no process: the process is not alive or there's no process currently associated with the given name, possibly because its application isn't started
(elixir 1.14.1) lib/gen_server.ex:1027: GenServer.call/3
(ex_unit 1.14.1) lib/ex_unit.ex:376: ExUnit.run/1
(mix 1.14.1) lib/mix/compilers/test.ex:42: Mix.Compilers.Test.require_and_run/4
(mix 1.14.1) lib/mix/tasks/test.ex:546: Mix.Tasks.Test.do_run/3
(mix 1.14.1) lib/mix/task.ex:421: anonymous fn/3 in Mix.Task.run_task/4
(mix 1.14.1) lib/mix/project.ex:397: Mix.Project.in_project/4
(elixir 1.14.1) lib/file.ex:1607: File.cd!/2
(mix 1.14.1) lib/mix/task.ex:577: anonymous fn/4 in Mix.Task.run_in_children_projects/2
This continues to happen even if I remove the "apps/*/test"
folders in every child application. I noticed however, that if I include the apps: Path.wildcard("apps/*/test") |> Enum.map(& String.split(&1, "/") |> Enum.at(1) |> String.to_atom)
key to the mix project, the mix test
is able to execute.
Any idea what is wrong, and if adding the apps: umbrella_apps
to the project can be avoided?