@@ -121,7 +121,13 @@ def __init__(self) -> None:
121121 self ._filename = 'conanfile.py'
122122
123123 @staticmethod
124- def _create_conanfile (conan_file : Path , dependencies : list [ConanDependency ], name : str , version : str ) -> None :
124+ def _create_conanfile (
125+ conan_file : Path ,
126+ dependencies : list [ConanDependency ],
127+ dependency_groups : dict [str , list [ConanDependency ]],
128+ name : str ,
129+ version : str ,
130+ ) -> None :
125131 """Creates a conanfile.py file with the necessary content."""
126132 template_string = """
127133 import os
@@ -134,6 +140,7 @@ class AutoPackage(ConanFile):
134140 version = "${version}"
135141 settings = "os", "compiler", "build_type", "arch"
136142 requires = ${dependencies}
143+ test_requires = ${test_requires}
137144
138145 def layout(self):
139146 cmake_layout(self)
@@ -168,10 +175,13 @@ def export_sources(self):
168175
169176 template = Template (dedent (template_string ))
170177
178+ test_dependencies = dependency_groups .get ('test' , [])
179+
171180 values = {
172181 'name' : name ,
173182 'version' : version ,
174183 'dependencies' : [dependency .requires () for dependency in dependencies ],
184+ 'test_requires' : [dependency .requires () for dependency in test_dependencies ],
175185 }
176186
177187 result = template .substitute (values )
@@ -183,6 +193,7 @@ def generate_conanfile(
183193 self ,
184194 directory : DirectoryPath ,
185195 dependencies : list [ConanDependency ],
196+ dependency_groups : dict [str , list [ConanDependency ]],
186197 name : str ,
187198 version : str ,
188199 ) -> None :
@@ -199,4 +210,4 @@ def generate_conanfile(
199210 conan_file .write_text (modified .code , encoding = 'utf-8' )
200211 else :
201212 directory .mkdir (parents = True , exist_ok = True )
202- self ._create_conanfile (conan_file , dependencies , name , version )
213+ self ._create_conanfile (conan_file , dependencies , dependency_groups , name , version )
0 commit comments