示例#1
0
    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)
示例#2
0
文件: shell.py 项目: nvg24/lit
    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 = {}
示例#3
0
 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'))
示例#4
0
 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)
示例#5
0
 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
示例#6
0
    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 = {}
示例#7
0
    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()
示例#8
0
    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)
示例#9
0
    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)
示例#10
0
文件: artifacts.py 项目: scality/eve
 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)
示例#11
0
文件: artifacts.py 项目: scality/eve
    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)
示例#12
0
 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)
示例#13
0
    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
示例#14
0
 def __init__(self, **kwargs):
     kwargs = self.setupShellMixin(kwargs)
     super().__init__(**kwargs)
     self.observer = logobserver.BufferLogObserver(wantStdout=True,
                                                   wantStderr=True)
     self.addLogObserver('stdio', self.observer)
示例#15
0
 def __init__(self, **kwargs):
     ShellCommand.__init__(self, **kwargs)
     self.observer = logobserver.BufferLogObserver(wantStdout=True,
                                                   wantStderr=True)
     self.addLogObserver('stdio', self.observer)
示例#16
0
 def __init__(self, **kwargs):
     kwargs = self.setupShellMixin(kwargs)
     super().__init__(**kwargs)
     self.observer = logobserver.BufferLogObserver()
     self.addLogObserver("stdio", self.observer)
示例#17
0
 def start(self):
     self.log_observer = logobserver.BufferLogObserver(wantStderr=True)
     self.addLogObserver('stdio', self.log_observer)
     return super(TransferToS3, self).start()
示例#18
0
 def start(self):
     self.log_observer = logobserver.BufferLogObserver()
     self.addLogObserver('json', self.log_observer)
     return shell.ShellCommand.start(self)
示例#19
0
 def start(self):
     self.log_observer = logobserver.BufferLogObserver(wantStderr=True)
     self.addLogObserver('stdio', self.log_observer)
     return shell.Test.start(self)
示例#20
0
 def setUp(self):
     self.log = logobserver.BufferLogObserver(wantStdout=True,
                                              wantStderr=True)
示例#21
0
 def __init__(self, **kwargs):
     kwargs = self.setupShellMixin(kwargs)
     steps.BuildStep.__init__(self, **kwargs)
     self.observer = logobserver.BufferLogObserver()
     self.addLogObserver('stdio', self.observer)
示例#22
0
 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'')