This is an archive of the discontinued LLVM Phabricator instance.

[zorg] Enable running 'lnt runtest test-suite' instead of 'lnt runtest nt'.
ClosedPublic

Authored by kristof.beyls on Jul 14 2017, 1:17 AM.

Details

Summary

With this patch, a typical configuration for a builder using 'lnt runtest test-suite' to track performance
of code generated by LLVM could be:

{

'name': "builder-name",
'slavenames': ["slave-name"],
'builddir': "builder-builddir",
'factory': ClangBuilder.getClangCMakeBuildFactory(
              jobs=8,
              clean=False,
              checkout_compiler_rt=False,
              checkout_lld=False,
              test=False,
              useTwoStage=False,
              runTestSuite=True,
              env={'PATH':'/usr/lib/ccache:/usr/local/sbin:'+
                          '/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin'},
              testsuite_flags=['--cppflags', '-O3',
                               '--threads=1',
                               '--build-threads=8',
                               '--use-perf=all',
                               '--run-under', 'taskset -c 1',
                               '--benchmarking-only',
                               '--exec-multisample=3',
                               '--exclude-stat-from-submission=compile'],
              extra_cmake_args=["-DLLVM_TARGETS_TO_BUILD='AArch64'",
                                "-DLLVM_PARALLEL_LINK_JOBS=4"],
              submitURL='http://lnt.llvm.org/submitRun',
              testerName='LNT-AArch64-O3'),
'category': 'clang'

}

The only difference to using the somewhat deprecated 'lnt runtest nt'
is that a "testsuite_flags" parameter is defined instead of an
"nt_flags" parameter.

Diff Detail

Event Timeline

kristof.beyls created this revision.Jul 14 2017, 1:17 AM
rovka accepted this revision.Jul 14 2017, 7:47 AM

Hi, I tested this on our internal buildmaster and it seems to work. LGTM.

zorg/buildbot/builders/ClangBuilder.py
779

Could you throw an error or assert or something to make sure people don't pass in both nt_flags and testsuite_flags?

This revision is now accepted and ready to land.Jul 14 2017, 7:47 AM
kristof.beyls marked an inline comment as done.Aug 9 2017, 8:40 AM
kristof.beyls added a subscriber: vleschuk.
kristof.beyls added inline comments.
zorg/buildbot/builders/ClangBuilder.py
779

I tried adding

assert len(nt_flags) == 0 or len(testsuite_flags) == 0

but when you let it trigger by a bot defining both, you get an assertion failure when trying to start up the buildbot master.
That means that Galina or @vleschuk would fail to start the buildbot master if just one slave configuration triggered the assert.
Overall, it feels to me that it's better to not assert on the buildbot master, and put the onus on the bot owners to make sure their bot does what they intend them to do.

This revision was automatically updated to reflect the committed changes.