[llvm-commits] [zorg] r100868 - in /zorg/trunk: test/buildbot/builders/Import.py zorg/buildbot/builders/NightlytestBuilder.py

Daniel Dunbar daniel at zuster.org
Fri Apr 9 09:21:02 PDT 2010


Author: ddunbar
Date: Fri Apr  9 11:21:02 2010
New Revision: 100868

URL: http://llvm.org/viewvc/llvm-project?rev=100868&view=rev
Log:
buildbot: Add "fast nightly test" build factory.

Modified:
    zorg/trunk/test/buildbot/builders/Import.py
    zorg/trunk/zorg/buildbot/builders/NightlytestBuilder.py

Modified: zorg/trunk/test/buildbot/builders/Import.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/test/buildbot/builders/Import.py?rev=100868&r1=100867&r2=100868&view=diff
==============================================================================
--- zorg/trunk/test/buildbot/builders/Import.py (original)
+++ zorg/trunk/test/buildbot/builders/Import.py Fri Apr  9 11:21:02 2010
@@ -2,6 +2,7 @@
 
 import zorg
 from zorg.buildbot.builders import ClangBuilder, LLVMBuilder, LLVMGCCBuilder
+from zorg.buildbot.builders import NightlytestBuilder
 
 # Just check that we can instantiate the build factors, what else can we do?
 
@@ -10,3 +11,5 @@
 print LLVMBuilder.getLLVMBuildFactory()
 
 print LLVMGCCBuilder.getLLVMGCCBuildFactory()
+
+print NightlytestBuilder.getFastNightlyTestBuildFactory('x86_64-apple-darwin10')

Modified: zorg/trunk/zorg/buildbot/builders/NightlytestBuilder.py
URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/NightlytestBuilder.py?rev=100868&r1=100867&r2=100868&view=diff
==============================================================================
--- zorg/trunk/zorg/buildbot/builders/NightlytestBuilder.py (original)
+++ zorg/trunk/zorg/buildbot/builders/NightlytestBuilder.py Fri Apr  9 11:21:02 2010
@@ -1,7 +1,11 @@
-from buildbot.steps.shell import ShellCommand
+from buildbot.steps.shell import Configure, ShellCommand
 from buildbot.process.properties import WithProperties
+from buildbot.steps.source import SVN
+
+from zorg.buildbot.commands.NightlyTestCommand import NightlyTestCommand
 
 import LLVMGCCBuilder
+import ClangBuilder
 
 def getNightlytestBuildFactory(submitAux=None, *args, **kwargs):
   f = LLVMGCCBuilder.getLLVMGCCBuildFactory(*args, **kwargs)
@@ -41,3 +45,55 @@
                          workdir="llvm.nt",
                          description="nightlytest"))
   return f
+
+def getFastNightlyTestBuildFactory(triple, clean=True, test=True, xfails=set()):
+  # Build compiler to test.
+  f = ClangBuilder.getClangBuildFactory(
+    triple, outOfDir=True, clean=clean, test=test,
+    # FIXME: We shouldn't need this, but --without-llvmgcc is broken.
+    extra_configure_args=['--with-llvmcc=clang'])
+
+  # Get the test-suite sources.
+  f.addStep(SVN(name='svn-test-suite',
+                mode='update',
+                baseURL='http://llvm.org/svn/llvm-project/test-suite/',
+                defaultBranch='trunk',
+                workdir='test-suite.src'))
+
+  # Clean up.
+  if clean:
+      f.addStep(ShellCommand(name="rm.test-suite",
+                             command=["rm", "-rf", "test-suite.obj"],
+                             haltOnFailure=True,
+                             description="rm test-suite build dir",
+                             workdir="."))
+
+  # Configure.
+  f.addStep(Configure(name="configure.test-suite",
+                      command=['../test-suite.src/configure',
+                               WithProperties("--with-llvmsrc=%(builddir)s/llvm.src"),
+                               WithProperties("--with-llvmobj=%(builddir)s/llvm.obj")],
+                      haltOnFailure=True,
+                      workdir='test-suite.obj',
+                      description=["configure", "test-suite"]))
+
+  # Build and test.
+  f.addStep(ShellCommand(name="rm.test-suite.report",
+                         command=["rm", "-rf",
+                                  "test-suite.obj/report.nightly.raw.out",
+                                  "test-suite.obj/report.nightly.txt"],
+                         haltOnFailure=True,
+                         description="rm test-suite report",
+                         workdir="."))
+  f.addStep(NightlyTestCommand(name="make.test-suite",
+                               command=["make", WithProperties("-j%(jobs)s"),
+                                        "ENABLE_PARALLEL_REPORT=1",
+                                        "DISABLE_CBE=1", "DISABLE_JIT=1",
+                                        "TEST=nightly", "report"],
+                               haltOnFailure=True,
+                               workdir='test-suite.obj',
+                               description=["run", "test-suite"],
+                               logfiles={ 'report' : 'report.nightly.txt' },
+                               xfails=xfails))
+
+  return f





More information about the llvm-commits mailing list