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