def test_in(self): package_options = PackageOptions.loads("{static: [True, False]}") sut = Options(package_options) self.assertTrue("static" in sut) self.assertFalse("shared" in sut) self.assertTrue("shared" not in sut) self.assertFalse("static" not in sut)
def setUp(self): package_options = PackageOptions.loads("""{static: [True, False], optimized: [2, 3, 4], path: ANY}""") package_options.values = Values.loads( "static=True\noptimized=3\npath=NOTDEF") self.sut = Options(package_options)
def setUp(self): self.test_folder = temp_folder() self.layout_filepath = os.path.join(self.test_folder, "layout") self.editable_cpp_info = EditableLayout(self.layout_filepath) self.settings = Settings.loads(get_default_settings_yml()) self.options = Options(PackageOptions({"shared": [True, False]}))
def setUp(self): package_options = PackageOptions.loads("""{static: [True, False], optimized: [2, 3, 4], path: ANY}""") values = PackageOptionValues() values.add_option("static", True) values.add_option("optimized", 3) values.add_option("path", "NOTDEF") package_options.values = values self.sut = Options(package_options)
def __init__(self, shared=None): self.command = None self.path = None self.conanfile_directory = "." self.source_folder = self.build_folder = "." self.settings = None self.options = Options(PackageOptions.loads("")) self.deps_cpp_info = namedtuple("deps_cpp_info", "sysroot")("/path/to/sysroot") self.output = TestBufferConanOutput() if shared is not None: self.options = namedtuple("options", "shared")(shared)
def __init__(self, shared=None): self.command = None self.path = None self.source_folder = self.build_folder = "." self.settings = None self.options = Options(PackageOptions.loads("")) self.deps_cpp_info = namedtuple("deps_cpp_info", "sysroot")("/path/to/sysroot") self.output = TestBufferConanOutput() self.in_local_cache = False self.install_folder = "myinstallfolder" if shared is not None: self.options = namedtuple("options", "shared")(shared)
def test_propagate_in_options(self): package_options = PackageOptions.loads("""{opt: [None, "a", "b"],}""") values = PackageOptionValues() values.add_option("opt", "a") package_options.values = values sut = Options(package_options) other_options = PackageOptionValues() other_options.add_option("opt", None) options = {"whatever.*": other_options} down_ref = ConanFileReference.loads("Boost.Assert/0.1@diego/testing") own_ref = ConanFileReference.loads("Boost.Assert/0.1@diego/testing") sut.propagate_upstream(options, down_ref, own_ref) self.assertEqual(sut.values.as_list(), [("opt", "a"), ("whatever.*:opt", "None"), ])
def create_options(conanfile): try: package_options = PackageOptions(getattr(conanfile, "options", None)) options = Options(package_options) default_options = getattr(conanfile, "default_options", None) if default_options: if isinstance(default_options, (list, tuple, dict)): default_values = OptionsValues(default_options) elif isinstance(default_options, str): default_values = OptionsValues.loads(default_options) else: raise ConanException("Please define your default_options as list, " "multiline string or dictionary") options.values = default_values return options except Exception as e: raise ConanException("Error while initializing options. %s" % str(e))
def __init__(self, shared=None, options=None, options_values=None): options = options or "" self.command = None self.path = None self.source_folder = self.build_folder = "." self.settings = None self.options = Options(PackageOptions.loads(options)) if options_values: for var, value in options_values.items(): self.options._data[var] = value self.deps_cpp_info = namedtuple("deps_cpp_info", "sysroot")("/path/to/sysroot") self.output = TestBufferConanOutput() self.in_local_cache = False self.install_folder = "myinstallfolder" if shared is not None: self.options = namedtuple("options", "shared")(shared) self.should_configure = True self.should_build = True self.should_install = True
def create_options(conanfile): try: package_options = PackageOptions(getattr(conanfile, "options", None)) options = Options(package_options) default_options = getattr(conanfile, "default_options", None) if default_options: if isinstance(default_options, tuple): default_values = OptionsValues.loads( "\n".join(default_options)) elif isinstance(default_options, list): default_values = OptionsValues.from_list(default_options) elif isinstance(default_options, basestring): default_values = OptionsValues.loads(default_options) else: raise ConanException( "Please define your default_options as list or " "multiline string") options.values = default_values return options except Exception as e: raise ConanException("Error while initializing options. %s" % str(e))