@@ -198,3 +198,31 @@ def package_info(self):
198
198
c .run ("create . --name=pkg --version=0.1 -c tools.cmake.cmakedeps:new=will_break_next" )
199
199
assert "CMakeConfigDeps: cmake_set_interface_link_directories deprecated and invalid. " \
200
200
"The package 'package_info()' must correctly define the (CPS) information" in c .out
201
+
202
+ def test_consuming_cpp_info_with_components_dependency_from_same_package ():
203
+ c = TestClient ()
204
+ conanfile = textwrap .dedent ("""
205
+ from conan import ConanFile
206
+ class Pkg(ConanFile):
207
+ def package_info(self):
208
+ self.cpp_info.components["lib"].type = 'shared-library'
209
+ self.cpp_info.components["lib_extended"].type = 'shared-library'
210
+ self.cpp_info.components["lib_extended"].requires = ['lib']
211
+ """ )
212
+ test_package = textwrap .dedent ("""
213
+ from conan import ConanFile
214
+ class TestPkg(ConanFile):
215
+ settings = "os", "compiler", "arch", "build_type"
216
+ generators = "VirtualRunEnv", "CMakeDeps"
217
+
218
+ def requirements(self):
219
+ self.requires(self.tested_reference_str)
220
+
221
+ def test(self):
222
+ pass
223
+ """ )
224
+ c .save ({"conanfile.py" : conanfile ,
225
+ "test_package/conanfile.py" :test_package })
226
+
227
+ c .run ("create . --name=pkg --version=0.1 -c tools.cmake.cmakedeps:new=will_break_next" )
228
+ assert "(test package): Running test()'" in c .out
0 commit comments