def create_manifest2(name, description="", buildtool_depends=["catkin"], build_depends=[], depends=[], buildtool_export_depends=[], build_export_depends=[], exec_depends=[], test_depends=[], meta=False): package = Package( name=name, version="0.0.0", package_format=2, description=description, maintainers=[Person("John Foo", "*****@*****.**")], depends=[Dependency(d) for d in depends], buildtool_depends=[Dependency(d) for d in buildtool_depends], build_depends=[Dependency(d) for d in build_depends], buildtool_export_depends=[ Dependency(d) for d in buildtool_export_depends ], build_export_depends=[Dependency(d) for d in build_export_depends], exec_depends=[Dependency(d) for d in exec_depends], test_depends=[Dependency(d) for d in test_depends], exports=[Export("metapackage")] if meta else []) if hasattr(package, "evaluate_conditions"): package.evaluate_conditions({}) return package
def test_evaluate_conditions(self): """Test if dependency conditions are properly evaluated""" env = create_env(system_pkgs=['python-yaml']) pkg = Package( name="mock", package_format=3, exec_depends=[ Dependency('python-yaml', condition='$ROS_PYTHON_VERSION == 2'), Dependency('python3-yaml', condition='$ROS_PYTHON_VERSION == 3') ], ) pkg.evaluate_conditions({'ROS_PYTHON_VERSION': 2}) result = mock_lint(env, pkg, "", checks=cc.depends) self.assertEqual([], result) pkg.evaluate_conditions({'ROS_PYTHON_VERSION': 3}) result = mock_lint(env, pkg, "", checks=cc.depends) self.assertEqual(["UNKNOWN_PACKAGE"], result)