def test_options_parse_scoped(self): options_bootstrapper = self._ob( args=( "./pants", "-ldebug", "--backend-packages=pants.backend.python", "binary", "src/python::", ), env=dict(PANTS_PANTSD="True", PANTS_BUILD_IGNORE='["ignoreme/"]'), ) global_options_params = Params(Scope(str(GLOBAL_SCOPE)), options_bootstrapper) python_setup_options_params = Params(Scope(str("python-setup")), options_bootstrapper) global_options, python_setup_options = self.scheduler.product_request( ScopedOptions, [global_options_params, python_setup_options_params], ) self.assertEqual(global_options.options.level, LogLevel.DEBUG) self.assertEqual(global_options.options.pantsd, True) self.assertEqual(global_options.options.build_ignore, ["ignoreme/"]) self.assertEqual(python_setup_options.options.platforms, ["current"])
def test_options_parse_scoped(self): options_bootstrapper = self._ob( args=[ './pants', '-ldebug', '--python-setup-wheel-version=3.13.37', 'binary', 'src/python::' ], env=dict(PANTS_ENABLE_PANTSD='True', PANTS_BINARIES_BASEURLS='["https://bins.com"]'), ) global_options_params = Params(Scope(str(GLOBAL_SCOPE)), options_bootstrapper) python_setup_options_params = Params(Scope(str('python-setup')), options_bootstrapper) global_options, python_setup_options = self.scheduler.product_request( ScopedOptions, [global_options_params, python_setup_options_params], ) self.assertEqual(global_options.options.level, 'debug') self.assertEqual(global_options.options.enable_pantsd, True) self.assertEqual(global_options.options.binaries_baseurls, ['https://bins.com']) self.assertEqual(python_setup_options.options.wheel_version, '3.13.37')
def test_options_parse_scoped(rule_runner: RuleRunner) -> None: rule_runner.set_options( ["-ldebug"], env=dict(PANTS_PANTSD="True", PANTS_BUILD_IGNORE='["ignoreme/"]') ) global_options = rule_runner.request(ScopedOptions, [Scope(GLOBAL_SCOPE)]) python_setup_options = rule_runner.request(ScopedOptions, [Scope("python-setup")]) assert global_options.options.level == LogLevel.DEBUG assert global_options.options.pantsd is True assert global_options.options.build_ignore == ["ignoreme/"] assert python_setup_options.options.platforms == ["current"]
def test_options_parse_scoped(rule_runner: RuleRunner) -> None: rule_runner.set_options( ["-ldebug"], env=dict(PANTS_PANTSD="True", PANTS_BUILD_IGNORE='["ignoreme/"]') ) global_options = rule_runner.request(ScopedOptions, [Scope(GLOBAL_SCOPE)]) python_repos_options = rule_runner.request(ScopedOptions, [Scope("python-repos")]) assert global_options.options.level == LogLevel.DEBUG assert global_options.options.pantsd is True assert global_options.options.build_ignore == ["ignoreme/"] assert python_repos_options.options.indexes == ["https://pypi.org/simple/"]
def test_options_parse_scoped(self): options_bootstrapper = create_options_bootstrapper( args=["-ldebug"], env=dict(PANTS_PANTSD="True", PANTS_BUILD_IGNORE='["ignoreme/"]')) global_options = self.request_product( ScopedOptions, [Scope(GLOBAL_SCOPE), options_bootstrapper]) python_setup_options = self.request_product( ScopedOptions, [Scope("python-setup"), options_bootstrapper]) self.assertEqual(global_options.options.level, LogLevel.DEBUG) self.assertEqual(global_options.options.pantsd, True) self.assertEqual(global_options.options.build_ignore, ["ignoreme/"]) self.assertEqual(python_setup_options.options.platforms, ["current"])
def fast_list_and_die_for_testing(console, addresses): """A fast and deadly variant of `./pants list`.""" options = yield Get(ScopedOptions, Scope(str('list'))) console.print_stderr('>>> Got an interesting option: {}'.format( options.options.documented)) for address in addresses.dependencies: console.print_stdout(address.spec) raise GracefulTerminationException(exit_code=42)
def test_options_parse_scoped(self): options_bootstrapper = self._ob( args=["./pants", "-ldebug", "binary", "src/python::"], env=dict(PANTS_ENABLE_PANTSD="True", PANTS_BINARIES_BASEURLS='["https://bins.com"]'), ) global_options_params = Params(Scope(str(GLOBAL_SCOPE)), options_bootstrapper) python_setup_options_params = Params(Scope(str("python-setup")), options_bootstrapper) global_options, python_setup_options = self.scheduler.product_request( ScopedOptions, [global_options_params, python_setup_options_params], ) self.assertEqual(global_options.options.level, LogLevel.DEBUG) self.assertEqual(global_options.options.enable_pantsd, True) self.assertEqual(global_options.options.binaries_baseurls, ["https://bins.com"]) self.assertEqual(python_setup_options.options.platforms, ["current"])
async def _construct_optionable(optionable_factory): scope = optionable_factory.options_scope scoped_options = await Get(ScopedOptions, Scope(str(scope))) return optionable_factory.optionable_cls(scope, scoped_options.options)
def parse(ob): params = Params(Scope(str(GLOBAL_SCOPE)), ob) return self.request_single_product(ScopedOptions, params)
async def _construct_subsytem(subsystem_typ: type[_T]) -> _T: scoped_options = await Get(ScopedOptions, Scope(str(subsystem_typ.options_scope))) return subsystem_typ(scoped_options.options)
def parse() -> ScopedOptions: # This will create a new `OptionsBootstrapper` and set it as a `SessionValue` on the engine # session. rule_runner.set_options([]) return rule_runner.request(ScopedOptions, [Scope(GLOBAL_SCOPE)])
def parse(ob): params = Params(Scope(str(GLOBAL_SCOPE)), ob) return self.scheduler.product_request(ScopedOptions, [params])
def _construct_optionable(optionable_factory): scope = optionable_factory.options_scope scoped_options = yield Get(ScopedOptions, Scope(str(scope))) yield optionable_factory.optionable_cls(scope, scoped_options.options)
def parse(ob): return self.request_product(ScopedOptions, [Scope(GLOBAL_SCOPE), ob])