@@ -437,78 +437,79 @@ def test_deploy_incorrect_folder():
437
437
assert "ERROR: Deployer folder cannot be created" in c .out
438
438
439
439
440
- def test_runtime_deploy ():
441
- c = TestClient ()
442
- conanfile = textwrap .dedent ("""
443
- from conan import ConanFile
444
- from conan.tools.files import copy
445
- class Pkg(ConanFile):
446
- package_type = "shared-library"
447
- def package(self):
448
- copy(self, "*.so", src=self.build_folder, dst=self.package_folder)
449
- copy(self, "*.dll", src=self.build_folder, dst=self.package_folder)
450
- """ )
451
- c .save ({"pkga/conanfile.py" : conanfile ,
452
- "pkga/lib/pkga.so" : "" ,
453
- "pkga/bin/pkga.dll" : "" ,
454
- "pkgb/conanfile.py" : conanfile ,
455
- "pkgb/lib/pkgb.so" : "" })
456
- c .run ("export-pkg pkga --name=pkga --version=1.0" )
457
- c .run ("export-pkg pkgb --name=pkgb --version=1.0" )
458
- c .run ("install --requires=pkga/1.0 --requires=pkgb/1.0 --deployer=runtime_deploy "
459
- "--deployer-folder=myruntime -vvv" )
460
-
461
- expected = sorted (["pkga.so" , "pkgb.so" , "pkga.dll" ])
462
- assert sorted (os .listdir (os .path .join (c .current_folder , "myruntime" ))) == expected
463
-
464
- def test_runtime_not_deploy ():
465
- # https://github.com/conan-io/conan/issues/16712
466
- # If no run=False (no package-type), then no runtime is deployed
467
- c = TestClient ()
468
- conanfile = textwrap .dedent ("""
469
- from conan import ConanFile
470
- from conan.tools.files import copy
471
- class Pkg(ConanFile):
472
- def package(self):
473
- copy(self, "*.so", src=self.build_folder, dst=self.package_folder)
474
- copy(self, "*.dll", src=self.build_folder, dst=self.package_folder)
475
- """ )
476
- c .save ({"pkga/conanfile.py" : conanfile ,
477
- "pkga/lib/pkga.so" : "" ,
478
- "pkga/bin/pkga.dll" : "" })
479
- c .run ("export-pkg pkga --name=pkga --version=1.0" )
480
- c .run ("install --requires=pkga/1.0 --deployer=runtime_deploy --deployer-folder=myruntime" )
481
- assert os .listdir (os .path .join (c .current_folder , "myruntime" )) == []
482
-
483
- def test_runtime_deploy_components ():
484
- c = TestClient ()
485
- conanfile = textwrap .dedent ("""
486
- import os
487
- from conan import ConanFile
488
- from conan.tools.files import copy
489
- class Pkg(ConanFile):
490
- package_type = "shared-library"
491
- def package(self):
492
- copy(self, "*.so", src=self.build_folder,
493
- dst=os.path.join(self.package_folder, "a"))
494
- copy(self, "*.dll", src=self.build_folder,
495
- dst=os.path.join(self.package_folder, "b"))
496
- def package_info(self):
497
- self.cpp_info.components["a"].libdirs = ["a"]
498
- self.cpp_info.components["b"].bindirs = ["b"]
499
- """ )
500
- c .save ({"pkga/conanfile.py" : conanfile ,
501
- "pkga/lib/pkga.so" : "" ,
502
- "pkga/bin/pkga.dll" : "" ,
503
- "pkgb/conanfile.py" : conanfile ,
504
- "pkgb/lib/pkgb.so" : "" })
505
- c .run ("export-pkg pkga --name=pkga --version=1.0" )
506
- c .run ("export-pkg pkgb --name=pkgb --version=1.0" )
507
- c .run ("install --requires=pkga/1.0 --requires=pkgb/1.0 --deployer=runtime_deploy "
508
- "--deployer-folder=myruntime -vvv" )
509
-
510
- expected = sorted (["pkga.so" , "pkgb.so" , "pkga.dll" ])
511
- assert sorted (os .listdir (os .path .join (c .current_folder , "myruntime" ))) == expected
440
+ class TestRuntimeDeployer :
441
+ def test_runtime_deploy (self ):
442
+ c = TestClient ()
443
+ conanfile = textwrap .dedent ("""
444
+ from conan import ConanFile
445
+ from conan.tools.files import copy
446
+ class Pkg(ConanFile):
447
+ package_type = "shared-library"
448
+ def package(self):
449
+ copy(self, "*.so", src=self.build_folder, dst=self.package_folder)
450
+ copy(self, "*.dll", src=self.build_folder, dst=self.package_folder)
451
+ """ )
452
+ c .save ({"pkga/conanfile.py" : conanfile ,
453
+ "pkga/lib/pkga.so" : "" ,
454
+ "pkga/bin/pkga.dll" : "" ,
455
+ "pkgb/conanfile.py" : conanfile ,
456
+ "pkgb/lib/pkgb.so" : "" })
457
+ c .run ("export-pkg pkga --name=pkga --version=1.0" )
458
+ c .run ("export-pkg pkgb --name=pkgb --version=1.0" )
459
+ c .run ("install --requires=pkga/1.0 --requires=pkgb/1.0 --deployer=runtime_deploy "
460
+ "--deployer-folder=myruntime -vvv" )
461
+
462
+ expected = sorted (["pkga.so" , "pkgb.so" , "pkga.dll" ])
463
+ assert sorted (os .listdir (os .path .join (c .current_folder , "myruntime" ))) == expected
464
+
465
+ def test_runtime_not_deploy (self ):
466
+ # https://github.com/conan-io/conan/issues/16712
467
+ # If no run=False (no package-type), then no runtime is deployed
468
+ c = TestClient ()
469
+ conanfile = textwrap .dedent ("""
470
+ from conan import ConanFile
471
+ from conan.tools.files import copy
472
+ class Pkg(ConanFile):
473
+ def package(self):
474
+ copy(self, "*.so", src=self.build_folder, dst=self.package_folder)
475
+ copy(self, "*.dll", src=self.build_folder, dst=self.package_folder)
476
+ """ )
477
+ c .save ({"pkga/conanfile.py" : conanfile ,
478
+ "pkga/lib/pkga.so" : "" ,
479
+ "pkga/bin/pkga.dll" : "" })
480
+ c .run ("export-pkg pkga --name=pkga --version=1.0" )
481
+ c .run ("install --requires=pkga/1.0 --deployer=runtime_deploy --deployer-folder=myruntime" )
482
+ assert os .listdir (os .path .join (c .current_folder , "myruntime" )) == []
483
+
484
+ def test_runtime_deploy_components (self ):
485
+ c = TestClient ()
486
+ conanfile = textwrap .dedent ("""
487
+ import os
488
+ from conan import ConanFile
489
+ from conan.tools.files import copy
490
+ class Pkg(ConanFile):
491
+ package_type = "shared-library"
492
+ def package(self):
493
+ copy(self, "*.so", src=self.build_folder,
494
+ dst=os.path.join(self.package_folder, "a"))
495
+ copy(self, "*.dll", src=self.build_folder,
496
+ dst=os.path.join(self.package_folder, "b"))
497
+ def package_info(self):
498
+ self.cpp_info.components["a"].libdirs = ["a"]
499
+ self.cpp_info.components["b"].bindirs = ["b"]
500
+ """ )
501
+ c .save ({"pkga/conanfile.py" : conanfile ,
502
+ "pkga/lib/pkga.so" : "" ,
503
+ "pkga/bin/pkga.dll" : "" ,
504
+ "pkgb/conanfile.py" : conanfile ,
505
+ "pkgb/lib/pkgb.so" : "" })
506
+ c .run ("export-pkg pkga --name=pkga --version=1.0" )
507
+ c .run ("export-pkg pkgb --name=pkgb --version=1.0" )
508
+ c .run ("install --requires=pkga/1.0 --requires=pkgb/1.0 --deployer=runtime_deploy "
509
+ "--deployer-folder=myruntime -vvv" )
510
+
511
+ expected = sorted (["pkga.so" , "pkgb.so" , "pkga.dll" ])
512
+ assert sorted (os .listdir (os .path .join (c .current_folder , "myruntime" ))) == expected
512
513
513
514
514
515
def test_runtime_deploy_symlinks ():
0 commit comments