@@ -22,7 +22,7 @@ defmodule Mix.Compilers.Test do
22
22
It expects all of the test patterns, the test files that were matched for the
23
23
test patterns, the test paths, and the opts from the test task.
24
24
"""
25
- def require_and_run ( matched_test_files , test_paths , opts ) do
25
+ def require_and_run ( matched_test_files , test_paths , elixirc_opts , opts ) do
26
26
stale = opts [ :stale ]
27
27
28
28
{ test_files , stale_manifest_pid , parallel_require_callbacks } =
@@ -39,7 +39,7 @@ defmodule Mix.Compilers.Test do
39
39
:noop
40
40
41
41
Keyword . get ( opts , :profile_require ) == "time" ->
42
- Kernel.ParallelCompiler . require ( test_files , profile: :time )
42
+ require ( test_files , [ profile: :time ] , elixirc_opts )
43
43
:noop
44
44
45
45
true ->
@@ -48,7 +48,7 @@ defmodule Mix.Compilers.Test do
48
48
49
49
try do
50
50
failed? =
51
- case Kernel.ParallelCompiler . require ( test_files , parallel_require_callbacks ) do
51
+ case require ( test_files , parallel_require_callbacks , elixirc_opts ) do
52
52
{ :ok , _ , [ _ | _ ] } when warnings_as_errors? -> true
53
53
{ :ok , _ , _ } -> false
54
54
{ :error , _ , _ } -> exit ( { :shutdown , 1 } )
@@ -81,6 +81,17 @@ defmodule Mix.Compilers.Test do
81
81
end
82
82
end
83
83
84
+ defp require ( files , require_opts , elixirc_opts ) do
85
+ elixirc_opts = Keyword . merge ( [ docs: false , debug_info: false ] , elixirc_opts )
86
+ previous_opts = Code . compiler_options ( elixirc_opts )
87
+
88
+ try do
89
+ Kernel.ParallelCompiler . require ( files , require_opts )
90
+ after
91
+ Code . compiler_options ( previous_opts )
92
+ end
93
+ end
94
+
84
95
defp set_up_stale ( matched_test_files , test_paths , opts ) do
85
96
manifest = manifest ( )
86
97
modified = Mix.Utils . last_modified ( manifest )
0 commit comments