Hi danalbert, gribozavr, gkistanova,

This change makes it so that the builder takes a list of standard versions to 
test against. The default list is just c++11. For each standard on the list a 
job is added.
This also changes the builder so it invokes LIT directly for libcxx instead of 
using `check-libcxx`.

http://reviews.llvm.org/D5114

Files:
  zorg/buildbot/builders/LibcxxAndAbiBuilder.py
Index: zorg/buildbot/builders/LibcxxAndAbiBuilder.py
===================================================================
--- zorg/buildbot/builders/LibcxxAndAbiBuilder.py
+++ zorg/buildbot/builders/LibcxxAndAbiBuilder.py
@@ -42,7 +42,7 @@
     return f
 
 
-def getLibcxxAndAbiBuilder(f=None, env={}):
+def getLibcxxAndAbiBuilder(f=None, env={}, standards=['c++11']):
     if f is None:
         f = buildbot.process.factory.BuildFactory()
 
@@ -56,6 +56,8 @@
 
     src_root = properties.WithProperties('%(builddir)s/llvm')
     build_path = properties.WithProperties('%(builddir)s/build')
+    lit_exe = os.path.join(src_root, 'utils/lit/lit.py')
+    libcxx_test_path = os.path.join(build_path, 'projects/libcxx/test')
 
     f = getLibcxxWholeTree(f, src_root)
 
@@ -87,9 +89,14 @@
         name='test.libcxxabi', command=['make', 'check-libcxxabi'],
         workdir=build_path))
 
-    # Test libc++
-    f.addStep(buildbot.steps.shell.ShellCommand(
-        name='test.libcxx', command=['make', 'check-libcxx'],
-        workdir=build_path))
+    for std in standards:
+        f.addStep(lit_test_command.LitTestCommand(
+            name='test.libcxx.%s' % std,
+            command=[lit_exe, '-v', '--show-unsupported', '--show-xfail',
+                     properties.WithProperties('--threads=%(jobs)s'),
+                     '--param=std=%s' % std,
+                    libcxx_test_path],
+            workdir='.'))
 
+
     return f
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to