 
   ##  Helpers
 
-  defp on_exit_reload_config(extra \\ []) do
-    old_config = ExUnit.configuration()
-    on_exit(fn -> ExUnit.configure(extra ++ old_config) end)
-  end
-
   defp run_with_filter(filters, cases) do
     Enum.each(cases, &ExUnit.Server.add_sync_module/1)
     ExUnit.Server.modules_loaded()
-    opts = Keyword.merge(ExUnit.configuration(), filters)
+
+    opts =
+      ExUnit.configuration()
+      |> Keyword.merge(filters)
+      |> Keyword.merge(colors: [enabled: false])
+
     output = capture_io(fn -> Process.put(:capture_result, ExUnit.Runner.run(opts, nil)) end)
     {Process.get(:capture_result), output}
   end

  end

  test "does not set timeout to infinity and the max cases to 1 with trace disabled" do
    on_exit_reload_config()
    ExUnit.start(trace: false, autorun: false)
    config = ExUnit.configuration()
    refute config[:trace]

      end

      ExUnit.Server.modules_loaded()
      configure_and_reload_on_exit([])

      output =
        capture_io(fn ->
