def validate_options(self): if self.options.cloud_provider: # Turn on expensive tests execution os.environ['EXPENSIVE_TESTS'] = 'True' if self.options.coverage and any(( self.options.name, os.geteuid() != 0, not self.options.run_destructive)) \ and self._check_enabled_suites(include_unit=True): self.error('No sense in generating the tests coverage report when ' 'not running the full test suite, including the ' 'destructive tests, as \'root\'. It would only produce ' 'incorrect results.') # When no tests are specifically enumerated on the command line, setup # a default run: +unit -cloud_provider if not self.options.name and not \ self._check_enabled_suites(include_unit=True, include_cloud_provider=True): self._enable_suites(include_unit=True) self.start_coverage( branch=True, source=[os.path.join(SALT_ROOT, 'salt')], ) # Transplant configuration TestDaemon.transplant_configs(transport=self.options.transport)
def validate_options(self): if self.options.cloud_provider_tests: # Turn on expensive tests execution os.environ['EXPENSIVE_TESTS'] = 'True' if self.options.coverage and any(( self.options.module, self.options.cli, self.options.client, self.options.shell, self.options.unit, self.options.state, self.options.runners, self.options.renderers, self.options.loader, self.options.name, self.options.outputter, self.options.fileserver, self.options.wheel, self.options.api, os.geteuid() != 0, not self.options.run_destructive)): self.error( 'No sense in generating the tests coverage report when ' 'not running the full test suite, including the ' 'destructive tests, as \'root\'. It would only produce ' 'incorrect results.' ) # Set test suite defaults if no specific suite options are provided if not any((self.options.module, self.options.client, self.options.cli, self.options.shell, self.options.unit, self.options.state, self.options.runners, self.options.loader, self.options.name, self.options.outputter, self.options.cloud_provider_tests, self.options.fileserver, self.options.wheel, self.options.api, self.options.renderers)): self.options.module = True self.options.cli = True self.options.client = True self.options.shell = True self.options.unit = True self.options.runners = True self.options.renderers = True self.options.state = True self.options.loader = True self.options.outputter = True self.options.fileserver = True self.options.wheel = True self.options.api = True self.start_coverage( branch=True, source=[os.path.join(SALT_ROOT, 'salt')], ) # Transplant configuration TestDaemon.transplant_configs(transport=self.options.transport)
def validate_options(self): if self.options.cloud_provider_tests: # Turn on expensive tests execution os.environ['EXPENSIVE_TESTS'] = 'True' if self.options.coverage and any(( self.options.module, self.options.cli, self.options.client, self.options.shell, self.options.unit, self.options.state, self.options.runners, self.options.loader, self.options.name, self.options.outputter, self.options.fileserver, self.options.wheel, self.options.api, os.geteuid() != 0, not self.options.run_destructive)): self.error( 'No sense in generating the tests coverage report when ' 'not running the full test suite, including the ' 'destructive tests, as \'root\'. It would only produce ' 'incorrect results.' ) # Set test suite defaults if no specific suite options are provided if not any((self.options.module, self.options.client, self.options.cli, self.options.shell, self.options.unit, self.options.state, self.options.runners, self.options.loader, self.options.name, self.options.outputter, self.options.cloud_provider_tests, self.options.fileserver, self.options.wheel, self.options.api)): self.options.module = True self.options.cli = True self.options.client = True self.options.shell = True self.options.unit = True self.options.runners = True self.options.state = True self.options.loader = True self.options.outputter = True self.options.fileserver = True self.options.wheel = True self.options.api = True self.start_coverage( branch=True, source=[os.path.join(SALT_ROOT, 'salt')], ) # Transplant configuration TestDaemon.transplant_configs(transport=self.options.transport)
def test_daemon(request): from collections import namedtuple from integration import TestDaemon, PNUM values = (('transport', request.config.getoption('--transport')), ('sysinfo', request.config.getoption('--sysinfo')), ('no_colors', request.config.getoption('--no-colors')), ('output_columns', request.config.getoption('--output-columns')), ('ssh', request.config.getoption('--ssh'))) options = namedtuple('options', [n for n, v in values])(*[v for n, v in values]) fake_parser = namedtuple('parser', 'options')(options) # Transplant configuration TestDaemon.transplant_configs(transport=fake_parser.options.transport) tg = TestDaemon(fake_parser) with tg: yield TestDaemon.clean()
def validate_options(self): if self.options.cloud_provider: # Turn on expensive tests execution os.environ['EXPENSIVE_TESTS'] = 'True' import salt.utils if salt.utils.is_windows(): import salt.utils.win_functions current_user = salt.utils.win_functions.get_current_user() if current_user == 'SYSTEM': is_admin = True else: is_admin = salt.utils.win_functions.is_admin(current_user) else: is_admin = os.geteuid() == 0 if self.options.coverage and any(( self.options.name, is_admin, not self.options.run_destructive)) \ and self._check_enabled_suites(include_unit=True): self.error( 'No sense in generating the tests coverage report when ' 'not running the full test suite, including the ' 'destructive tests, as \'root\'. It would only produce ' 'incorrect results.' ) # When no tests are specifically enumerated on the command line, setup # a default run: +unit -cloud_provider if not self.options.name and not \ self._check_enabled_suites(include_unit=True, include_cloud_provider=True): self._enable_suites(include_unit=True) self.start_coverage( branch=True, source=[os.path.join(SALT_ROOT, 'salt')], ) # Print out which version of python this test suite is running on print(' * Python Version: {0}'.format(' '.join(sys.version.split()))) # Transplant configuration TestDaemon.transplant_configs(transport=self.options.transport)