@@ -97,3 +97,44 @@ def task_dummy():
9797
9898 assert session .exit_code == 0
9999 assert len (session .tasks ) == 1
100+
101+
102+ @pytest .mark .end_to_end
103+ @pytest .mark .parametrize (
104+ "task_files, pattern, expected_collected_tasks" ,
105+ [
106+ (["dummy_task.py" ], "*_task.py" , 1 ),
107+ (["tasks_dummy.py" ], "tasks_*" , 1 ),
108+ (["dummy_tasks.py" ], "*_tasks.py" , 1 ),
109+ (["task_dummy.py" , "tasks_dummy.py" ], "None" , 1 ),
110+ (["task_dummy.py" , "tasks_dummy.py" ], "tasks_*.py" , 1 ),
111+ (
112+ ["task_dummy.py" , "tasks_dummy.py" ],
113+ "\n task_*.py\n tasks_*.py" ,
114+ 2 ,
115+ ),
116+ ],
117+ )
118+ @pytest .mark .parametrize ("config_name" , ["pytask.ini" , "tox.ini" , "setup.cfg" ])
119+ def test_collect_files_w_custom_file_name_pattern (
120+ tmp_path , config_name , task_files , pattern , expected_collected_tasks
121+ ):
122+ config = textwrap .dedent (
123+ f"""
124+ [pytask]
125+ task_files = { pattern }
126+ """
127+ )
128+ tmp_path .joinpath (config_name ).write_text (config )
129+
130+ source = """
131+ def task_dummy():
132+ pass
133+ """
134+ for file in task_files :
135+ tmp_path .joinpath (file ).write_text (textwrap .dedent (source ))
136+
137+ session = main ({"paths" : tmp_path })
138+
139+ assert session .exit_code == 0
140+ assert len (session .tasks ) == expected_collected_tasks
0 commit comments