def Main(argv):
    parser = optparse.OptionParser()
    parser.add_option('-c',
                      '--chromeos_version',
                      dest='chromeos_version',
                      default='quarterly',
                      help='ChromeOS version to use.')
    parser.add_option('-t',
                      '--toolchain',
                      dest='toolchain',
                      default='latest-toolchain',
                      help='Toolchain to use {latest-toolchain,gcc_46}.')
    parser.add_option('-b',
                      '--board',
                      dest='board',
                      default='x86-generic',
                      help='Board to use for the nightly job.')
    options = parser.parse_args(argv)[0]

    toolchain = options.toolchain
    board = options.board
    chromeos_version = options.chromeos_version

    # Build toolchain
    jobs_factory = chromeos.JobsFactory(chromeos_version=chromeos_version,
                                        board=board,
                                        toolchain=toolchain)
    benchmark_job = jobs_factory.BuildAndBenchmark()

    group_label = 'nightly_client_%s' % board
    group = job_group.JobGroup(group_label, [benchmark_job], True, False)

    server = xmlrpclib.Server('http://localhost:8000')
    server.ExecuteJobGroup(pickle.dumps(group))
Exemplo n.º 2
0
  def CreateJobGroup(self):
    factory = crosstool.JobsFactory()

    checkout_crosstool_job, checkout_dir, manifests_dir = \
        factory.CheckoutCrosstool(self._target)

    all_jobs = [checkout_crosstool_job]

    # Build crosstool target
    build_release_job, build_tree_dir = factory.BuildRelease(checkout_dir,
                                                             self._target)
    all_jobs.append(build_release_job)

    testruns = []

    # Perform crosstool tests
    for board in self._boards:
      for component in ('gcc', 'binutils'):
        test_job, testrun_dir = factory.RunTests(checkout_dir, build_tree_dir,
                                                 self._target, board, component)
        all_jobs.append(test_job)
        testruns.append(testrun_dir)

    if testruns:
      all_jobs.append(factory.GenerateReport(testruns, manifests_dir,
                                             self._target, self._boards))

    return job_group.JobGroup('Crosstool Nightly Build (%s)' % self._target,
                              all_jobs, True, False)
Exemplo n.º 3
0
def Main():
  server = xmlrpclib.Server('http://localhost:8000')

  command = ['echo These following 3 lines should be the same', 'pwd', '$(pwd)',
             'echo ${PWD}']

  pwd_job = job.Job('pwd_job', ' && '.join(command))
  pwd_job.DependsOnMachine(machine.MachineSpecification(os='linux'))

  group = job_group.JobGroup('pwd_client', [pwd_job])
  server.ExecuteJobGroup(pickle.dumps(group))
def Main():
    server = xmlrpclib.Server('http://localhost:8000')

    command = os.path.join(os.path.dirname(sys.argv[0]),
                           '../../produce_output.py')

    pwd_job = job.Job('pwd_job', command)
    pwd_job.DependsOnMachine(machine.MachineSpecification(os='linux'))

    group = job_group.JobGroup('pwd_client', [pwd_job])
    server.ExecuteJobGroup(pickle.dumps(group))
 def CreateJobGroup(self):
     chain = cmd.Chain(
         self.CheckoutV14Dir(),
         cmd.Shell('python',
                   os.path.join(self.P4_VERSION_DIR, 'test_gcc_dejagnu.py'),
                   '--board=%s' % self._board, '--remote=%s' % self._remote,
                   '--cleanup=%s' % self._cleanup))
     label = 'dejagnu'
     job = jobs.CreateLinuxJob(label, chain, timeout=8 * 60 * 60)
     return job_group.JobGroup(label, [job],
                               cleanup_on_failure=True,
                               cleanup_on_completion=True)
Exemplo n.º 6
0
    def CreateJobGroup(self):
        chain = cmd.Chain(
            self.CheckoutV14Dir(),
            cmd.Shell(
                'python',
                os.path.join(self.P4_VERSION_DIR, 'test_toolchains.py'),
                '--force-mismatch',
                '--clean',
                '--public',  # crbug.com/145822
                '--board=%s' % self._board,
                '--remote=%s' % self._remote,
                '--githashes=%s' % self._gcc_githash))
        label = 'testlabel'
        job = jobs.CreateLinuxJob(label, chain, timeout=24 * 60 * 60)

        return job_group.JobGroup(label, [job], True, False)