def start(self): self.workerEnvironment[RESULTS_SERVER_API_KEY] = os.getenv( RESULTS_SERVER_API_KEY) self.log_observer = logobserver.BufferLogObserver() self.addLogObserver('stdio', self.log_observer) self.failedTestCount = 0 platform = self.getProperty('platform') architecture = self.getProperty("architecture") # Currently run-javascriptcore-test doesn't support run javascript core test binaries list below remotely if architecture in ['mips', 'armv7', 'aarch64']: self.command += [ '--no-testmasm', '--no-testair', '--no-testb3', '--no-testdfg', '--no-testapi' ] # Linux bots have currently problems with JSC tests that try to use large amounts of memory. # Check: https://bugs.webkit.org/show_bug.cgi?id=175140 if platform in ('gtk', 'wpe', 'jsc-only'): self.setCommand(self.command + ['--memory-limited', '--verbose']) # WinCairo uses the Windows command prompt, not Cygwin. elif platform == 'wincairo': self.setCommand(self.command + ['--test-writer=ruby']) appendCustomBuildFlags(self, platform, self.getProperty('fullPlatform')) return shell.Test.start(self)
def __init__(self, property=None, extract_fn=None, strip=True, includeStdout=True, includeStderr=False, **kwargs): self.property = property self.extract_fn = extract_fn self.strip = strip self.includeStdout = includeStdout self.includeStderr = includeStderr if not ((property is not None) ^ (extract_fn is not None)): config.error("Exactly one of property and extract_fn must be set") super().__init__(**kwargs) if self.extract_fn: self.includeStderr = True self.observer = logobserver.BufferLogObserver( wantStdout=self.includeStdout, wantStderr=self.includeStderr) self.addLogObserver('stdio', self.observer) self.property_changes = {}
def __init__(self, **kwargs): super(PrintConfiguration, self).__init__(timeout=60, **kwargs) self.commands = [] self.log_observer = logobserver.BufferLogObserver(wantStderr=True) self.addLogObserver('stdio', self.log_observer) # FIXME: Check platform before running platform specific commands. for command in self.command_list: self.commands.append( util.ShellArg(command=command, logfile='stdio'))
def start(self): self.log_observer = logobserver.BufferLogObserver() self.addLogObserver('stdio', self.log_observer) revision = self.getProperty('got_revision') self.setCommand([ 'python', 'Tools/Scripts/git-webkit', 'find', 'r{}'.format(revision) ]) return shell.ShellCommand.start(self)
def __init__(self, **kwargs): self.rootName = kwargs.pop('rootName', '') self.targetTestSet = kwargs.pop('targetTestSet', 'pyworkflow') self.blacklist = kwargs.pop('blacklist', []) self.stageEnvs = kwargs.pop('stageEnvs', {}) self.env = kwargs.pop('env', {}) self.pattern = kwargs.pop('pattern', '') self.stagePrefix = kwargs.pop('stagePrefix', []) self.failOnEmptyTestStages = kwargs.pop('failOnEmptyTestStages', True) kwargs = self.setupShellMixin(kwargs) steps.BuildStep.__init__(self, **kwargs) self.observer = logobserver.BufferLogObserver() self.addLogObserver('stdio', self.observer) self.timeout = kwargs.get('timeout', None) or timeOutExecute
def __init__(self, property=None, extract_fn=None, strip=True, **kwargs): self.property = property self.extract_fn = extract_fn self.strip = strip if not ((property is not None) ^ (extract_fn is not None)): config.error("Exactly one of property and extract_fn must be set") ShellCommand.__init__(self, **kwargs) self.observer = logobserver.BufferLogObserver( wantStdout=True, wantStderr=self.extract_fn) self.addLogObserver('stdio', self.observer) self.property_changes = {}
def __init__(self, compareToRef='master', dataName='diffinfo-master', **kwargs): try: from unidiff import PatchSet [PatchSet] # silence pylint except ImportError: config.error( 'unidiff package must be installed in order to use GitDiffInfo' ) kwargs = self.setupShellMixin(kwargs, prohibitArgs=['command']) super().__init__(**kwargs) self._compare_to_ref = compareToRef self._data_name = dataName self._observer = logobserver.BufferLogObserver()
def __init__(self, branch): super(GetCommitShortVersion, self).__init__(name='get the commit short_revision', command=[ 'git', 'rev-parse', '--verify', '--short=10', branch, ], hideStepIf=util.hideStepIfSuccess, property='commit_short_revision', haltOnFailure=True, logEnviron=False) self.observer = logobserver.BufferLogObserver(wantStdout=True, wantStderr=True) self.addLogObserver('stdio', self.observer)
def __init__(self, directory: str, game_id: str, debugflags: Optional[str] = None, **kwargs: Any): if not directory: config.error("directory must be a string") if not game_id: config.error("game_id must be a string") self.directory = directory self.game_id = game_id self.debugflags = "" if debugflags: self.debugflags = f"--debugflags={debugflags}" kwargs = self.setupShellMixin(kwargs) super().__init__(**kwargs) self.observer = logobserver.BufferLogObserver() self.addLogObserver("stdio", self.observer)
def __init__(self, stage, **kwargs): assert 'command' not in kwargs name = kwargs.pop('name', 'get artifacts name from stage: %s' % str(stage)) super(GetArtifactsFromStage, self).__init__( name=name, command=[ 'curl', '-L', '--fail', '--silent', '--show-error', '-I', Interpolate('http://artifacts/last_success/{}.{}'.format( get_artifacts_base_name(), stage)), ], **kwargs) self.observer = logobserver.BufferLogObserver(wantStdout=True, wantStderr=True) self.addLogObserver('stdio', self.observer)
def __init__(self, source, urls=None, **kwargs): name = kwargs.pop('name', 'send artifacts to artifact repository') self._retry = kwargs.pop('retry', (0, 1)) self.source = source self._kwargs = kwargs self._urls = urls self._upload_max_time = kwargs.get('maxTime', self.DEFAULT_UPLOAD_MAX_TIME) kwargs['workdir'] = kwargs.get( 'workdir', util.Transform(os.path.join, 'build', source)) super(Upload, self).__init__(name=name, haltOnFailure=True, command=util.Transform(self.set_command, urls), maxTime=self._upload_max_time + 10, **kwargs) self.observer = logobserver.BufferLogObserver(wantStdout=True, wantStderr=True) self.addLogObserver('stdio', self.observer)
def __init__(self, label, context_dir, dockerfile=None, **kwargs): kwargs.setdefault('name', '[{0}] fingerprint'.format(label)[:49]) command = ( 'tar -c --mtime="1990-02-11 00:00Z" --group=0 ' '--owner=0 --numeric-owner --sort=name --mode=0 ' '{context_dir} {dockerfile} ' '| sha256sum | cut -f 1 -d " "' ).format( context_dir=context_dir, dockerfile=str(dockerfile or '') ) super(DockerComputeImageFingerprint, self).__init__( label, context_dir, command, **kwargs ) self.observer = logobserver.BufferLogObserver(wantStdout=True, wantStderr=True) self.addLogObserver('stdio', self.observer)
def getSchedulersAndProperties(self): """Bread and butter. This triggers all the needed PKGBUILDS and resolves the dependencies""" self.sp = [] self._build_requests = [] # I simply dont know how to make the yield stuff recursive # so we find all .SRCINFOs available and make a list self.observer = logobserver.BufferLogObserver() self.addLogObserver('stdio', self.observer) cmd = yield self.makeRemoteShellCommand(command="cat */.SRCINFO") yield self.runCommand(cmd) self.dependencies = self.extract_deps(self.observer.getStdout()) # Build one package from the force scheduler if self.getProperty("build_package"): package = self.getProperty("build_package") self.add_package(package) return self.sp # Build all packages if self.getProperty("build_all_packages"): for package in self.dependencies.keys(): self.add_package(package) return self.sp changed = self.build.allFiles() packages = [] for i in changed: file = i.split("/")[0] if file in self.dependencies.keys() and file not in config["ignore_packages"]: packages.append(file) for package in set(packages): self.add_package(package) return self.sp
def __init__(self, **kwargs): kwargs = self.setupShellMixin(kwargs) super().__init__(**kwargs) self.observer = logobserver.BufferLogObserver(wantStdout=True, wantStderr=True) self.addLogObserver('stdio', self.observer)
def __init__(self, **kwargs): ShellCommand.__init__(self, **kwargs) self.observer = logobserver.BufferLogObserver(wantStdout=True, wantStderr=True) self.addLogObserver('stdio', self.observer)
def __init__(self, **kwargs): kwargs = self.setupShellMixin(kwargs) super().__init__(**kwargs) self.observer = logobserver.BufferLogObserver() self.addLogObserver("stdio", self.observer)
def start(self): self.log_observer = logobserver.BufferLogObserver(wantStderr=True) self.addLogObserver('stdio', self.log_observer) return super(TransferToS3, self).start()
def start(self): self.log_observer = logobserver.BufferLogObserver() self.addLogObserver('json', self.log_observer) return shell.ShellCommand.start(self)
def start(self): self.log_observer = logobserver.BufferLogObserver(wantStderr=True) self.addLogObserver('stdio', self.log_observer) return shell.Test.start(self)
def setUp(self): self.log = logobserver.BufferLogObserver(wantStdout=True, wantStderr=True)
def __init__(self, **kwargs): kwargs = self.setupShellMixin(kwargs) steps.BuildStep.__init__(self, **kwargs) self.observer = logobserver.BufferLogObserver() self.addLogObserver('stdio', self.observer)
def test_both(self): lo = logobserver.BufferLogObserver(wantStdout=True, wantStderr=True) yield self.do_test_sequence(lo) self.assertEqual(lo.getStdout(), 'hello\nmulti\nline\nchunk\n') self.assertEqual(lo.getStderr(), 'cruel\n')
def test_stdout_only(self): lo = logobserver.BufferLogObserver(wantStdout=True, wantStderr=False) yield self.do_test_sequence(lo) self.assertEqual(lo.getStdout(), u'hello\nmulti\nline\nchunk\n') self.assertEqual(lo.getStderr(), u'')