Index: buildbot/osuosl/master/config/builders.py =================================================================== --- buildbot/osuosl/master/config/builders.py +++ buildbot/osuosl/master/config/builders.py @@ -703,6 +703,10 @@ test_compiler="clang", build_type="Debug", env={'SHELL':"/bin/bash"})}, + {'name': "lldb-x86_64-darwin-13.4", + 'slavenames': ["lldb-x86_64-darwin-13.4"], + 'builddir': "buildDir", + 'factory': LLDBBuilder.getLLDBxcodebuildFactory()}, ] # Offline. Index: buildbot/osuosl/master/config/slaves.py =================================================================== --- buildbot/osuosl/master/config/slaves.py +++ buildbot/osuosl/master/config/slaves.py @@ -175,7 +175,8 @@ create_slave("lldb-build1-ubuntu-1404", properties={'jobs': 16, 'loadaverage': 32}, max_builds=1), - + # Darwin 13.4.0, x86_64 + create_slave("lldb-x86_64-darwin-13.4", properties={'jobs': 16, 'loadaverage':32}, max_builds=1), # Defunct. # Intel(R) Pentium(R) CPU G620 @ 2.60GHz, Ubuntu i686 #create_slave("botether", properties={'jobs': 2}, max_builds=1), Index: zorg/buildbot/builders/LLDBBuilder.py =================================================================== --- zorg/buildbot/builders/LLDBBuilder.py +++ zorg/buildbot/builders/LLDBBuilder.py @@ -317,6 +317,12 @@ workdir='.')) lldb_srcdir = 'lldb.src' OBJROOT='%(builddir)s/' + lldb_srcdir + '/build' + f.addStep(SetProperty(name='get_bindir', + command=['echo', + WithProperties('%(builddir)s/' + lldb_srcdir + '/build/Debug')], + property='lldb_bindir', + description='set bin dir', + workdir='.')) # cleaning out the build directory is vital for codesigning. f.addStep(ShellCommand(name='clean.lldb-buid', command=['rm', '-rf', WithProperties(OBJROOT)], @@ -366,7 +372,18 @@ '-configuration', 'Debug', WithProperties('SYMROOT=' + OBJROOT), WithProperties('OBJROOT=' + OBJROOT)], - haltOnFailure=True, + haltOnFailure=False, + workdir=lldb_srcdir)) + +# Currently the first build always fail, so ignore the first result and add retry as workaround + + f.addStep(ShellCommand(name='lldb-build-Retry', + command=['xcrun', 'xcodebuild', '-workspace', + 'lldb.xcworkspace', '-scheme', 'lldb-tool', + '-configuration', 'Debug', + WithProperties('SYMROOT=' + OBJROOT), + WithProperties('OBJROOT=' + OBJROOT)], + haltOnFailure=False, workdir=lldb_srcdir)) # Testing # @@ -384,12 +401,16 @@ property='use_cc', description='set cc', workdir=lldb_srcdir)) - - f.addStep(ShellCommand(name='lldb-test', - command=['./dotest.py', '-v', '-C', - WithProperties('%(use_cc)s')], - haltOnFailure=True, - workdir='%s/test' % lldb_srcdir)) +# Fix me +# since we need to run export in the same shell with ./dosep, need to use connectors to conbine two commands +# using a list to pass command parameters will make the connectors being treated as normal input string thus will be quoted +# create a long string command as workaround + + testCmd=WithProperties("export DYLD_FRAMEWORK_PATH=%(lldb_bindir)s && ./dosep.py --options '-m --executable %(lldb_bindir)s/lldb --framework %(lldb_bindir)s/LLDB.framework -A x86_64 -C clang -s ../DerivedData/lldb-test-results'") + f.addStep(LitTestCommand(name='lldb-test', + command=testCmd, + haltOnFailure=True, + workdir='%s/test' % lldb_srcdir)) # Results go in a directory coded named according to the date and time of the test run, e.g.: #