[llvm-commits] [zorg] r152056 - /zorg/trunk/zorg/buildbot/builders/LNTBuilder.py
Tobias Grosser
grosser at fim.uni-passau.de
Mon Mar 5 12:36:52 PST 2012
Author: grosser
Date: Mon Mar 5 14:36:52 2012
New Revision: 152056
URL: http://llvm.org/viewvc/llvm-project?rev=152056&view=rev
Log:
Small fixes to the LNTBuilder
With these fixes the LNTBuilder survives a run and submits the reports
to a LNT server. The errors where mostly syntax errors or forgotten
includes.
Modified:
zorg/trunk/zorg/buildbot/builders/LNTBuilder.py
Modified: zorg/trunk/zorg/buildbot/builders/LNTBuilder.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/LNTBuilder.py?rev=152056&r1=152055&r2=152056&view=diff
==============================================================================
--- zorg/trunk/zorg/buildbot/builders/LNTBuilder.py (original)
+++ zorg/trunk/zorg/buildbot/builders/LNTBuilder.py Mon Mar 5 14:36:52 2012
@@ -2,30 +2,43 @@
Builders for using LNT to test LLVM/Clang.
"""
+import os
+
+import buildbot
+from buildbot.steps.source.svn import SVN
+from buildbot.process.properties import WithProperties
+
+import zorg
+from zorg.buildbot.builders import ClangBuilder
+
# The URL of our local package cache.
g_package_url = "http://lab.llvm.org/packages"
def getLNTFactory(triple, nt_flags, xfails=[], clean=True, test=False,
**kwargs):
+ submitURL = kwargs.pop("submitURL", "http://llvm.org/perf/submitRun")
+
# Build compiler to test.
f = ClangBuilder.getClangBuildFactory(
triple, outOfDir=True, clean=clean, test=test,
- always_install=True, **kwargs)
+ always_install=True, stage1_config='Release+Asserts', **kwargs)
# Add an LNT test runner.
AddLNTTestsToFactory(f, nt_flags,
- cc_path="llvm.install/bin/clang",
- cxx_path="llvm.install/bin/clang++")
+ cc_path="llvm.install.1/bin/clang",
+ cxx_path="llvm.install.1/bin/clang++",
+ submitURL = submitURL)
return f
def AddLNTTestsToFactory(f, nt_flags, cc_path, cxx_path,
- parallel = False, jobs = '%(jobs)s'):
+ parallel = False, jobs = '%(jobs)s',
+ submitURL = "http://llvm.org/perf/submitRun"):
"""
Add the buildbot steps necessary to run an LNT driven test of a compiler.
This assumes at a minimum that the factory has already been set up to
- contain a builddir proeprty which points at the full path to the build
+ contain a builddir property which points at the full path to the build
directory.
"""
@@ -34,7 +47,7 @@
# We assume any relative paths are relative to the build directory (which
# prior steps will have presumably populated with a compiler).
cc_path = WithProperties(os.path.join('%(builddir)s', cc_path))
- cxx_path = WithProperties(os.path.join'%(builddir)s', cxx_path))
+ cxx_path = WithProperties(os.path.join('%(builddir)s', cxx_path))
# Add --liblto-path if necessary. We assume it will be in a lib directory
# adjacent to cc_path.
@@ -43,9 +56,8 @@
if '-flto' in nt_flags:
base_directory = os.path.dirname(os.path.dirname(cc_path))
lnt_flags.extend(['--liblto-path', WithProperties(
- os.path.join('%(builddir)s',
- os.path.join(base_directory, 'lib',
- 'libLTO.dylib'))
+ os.path.join('%(builddir)s', base_directory, 'lib',
+ 'libLTO.dylib'))])
# Get the Zorg sources, for LNT.
f.addStep(SVN(name='pull.zorg', mode='incremental', method='fresh',
@@ -62,7 +74,7 @@
f.addStep(buildbot.steps.shell.ShellCommand(
name='venv.lnt.clean', command=['rm', '-rf', 'lnt.venv'],
haltOnFailure=True, description=['clean', 'LNT', 'venv'],
- workdir='%(builddir)s'))
+ workdir=WithProperties('%(builddir)s')))
f.addStep(buildbot.steps.shell.ShellCommand(
name='venv.lnt.create', command=['virtualenv', 'lnt.venv'],
haltOnFailure=True, description=['create', 'LNT', 'venv'],
@@ -87,8 +99,10 @@
args = [WithProperties('%(builddir)s/lnt.venv/bin/python'),
WithProperties('%(builddir)s/lnt.venv/bin/lnt'),
'runtest', '--verbose',
- '--submit', 'http://llvm.org/perf/submitRun',
+ '--submit', submitURL,
+ '--commit=1',
'nt', '--sandbox', 'nt',
+ '--no-timestamp',
'--cc', cc_path, '--cxx', cxx_path,
'--without-llvm',
'--test-suite', WithProperties('%(builddir)s/test-suite'),
More information about the llvm-commits
mailing list