File tree Expand file tree Collapse file tree 1 file changed +13
-2
lines changed Expand file tree Collapse file tree 1 file changed +13
-2
lines changed Original file line number Diff line number Diff line change @@ -634,11 +634,18 @@ defmodule Mix.Tasks.Test do
634634 # get a list of all files in the test folders, which we filter by the test_load_filters
635635 potential_test_files = Mix.Utils . extract_files ( test_files , test_pattern )
636636
637- { unfiltered_test_files , _ignored_files , warn_files } =
637+ { load_files , _ignored_files , warn_files } =
638638 classify_test_files ( potential_test_files , project )
639639
640+ # ensure that files given as direct argument to mix test are loaded,
641+ # even if the test_load_filters don't match
642+ load_files =
643+ if files != [ ] ,
644+ do: Enum . uniq ( load_files ++ directly_included_test_files ( files ) ) ,
645+ else: load_files
646+
640647 matched_test_files =
641- unfiltered_test_files
648+ load_files
642649 |> filter_to_allowed_files ( allowed_files )
643650 |> filter_by_partition ( shell , partitions )
644651
@@ -713,6 +720,10 @@ defmodule Mix.Tasks.Test do
713720 end
714721 end
715722
723+ defp directly_included_test_files ( files ) do
724+ Enum . filter ( files , fn path -> :elixir_utils . read_file_type ( path ) == { :ok , :regular } end )
725+ end
726+
716727 defp classify_test_files ( potential_test_files , project ) do
717728 test_load_filters = project [ :test_load_filters ] || [ ~r/ .*_test\. exs$/ ]
718729 elixirc_paths = project [ :elixirc_paths ] || [ ]
You can’t perform that action at this time.
0 commit comments