[llvm-commits] [zorg] r171416 - in /zorg/trunk/zorg/buildbot: builders/ClangBuilder.py builders/LNTBuilder.py commands/LitTestCommand.py commands/__init__.py
David Blaikie
dblaikie at gmail.com
Sat Jan 12 13:00:39 PST 2013
On Mon, Jan 7, 2013 at 2:18 PM, Daniel Dunbar <daniel at zuster.org> wrote:
> They are similar, but you deleted the wrong one I think. The LitTestCommand
> came later and some stuff was factored out into the StandardizedTest class,
> and the code is somewhat cleaner. I think it would be better to delete
> ClangTestCommand and use LitTestCommand instead.
Done in r172327 & r172328, though I basically rewrote LitTestCommand
in a similar way to the new DejaGNUCommand. They could, possibly,
share a little code, but they're so short that I'm not sure that
sharing would really be beneficial.
The only thing left is the StandardizedTestCommand base class & it's
one user, SuppressionDejaGNUCommand - which I'm happy enough to leave
to stagnate, but we could refactor/tidy up if desired.
- David
>
> - Daniel
>
>
> On Sat, Jan 5, 2013 at 10:18 AM, David Blaikie <dblaikie at gmail.com> wrote:
>>
>> On Sat, Jan 5, 2013 at 12:15 AM, NAKAMURA Takumi <geek4civic at gmail.com>
>> wrote:
>> > David, as I addressed in PR11317, I don't agree to delete
>> > LitTestCommand.
>> > http://llvm.org/bugs/show_bug.cgi?id=11317
>> > (It could be closed as RESOLVED. I could file new one instead.)
>> >
>> > FYI, my builders are using LitTestCommand.
>>
>> Is there any particular reason? Perhaps we could discuss the relevant
>> differences between the two & figure out if/how they can be
>> aggregated. They seemed similar enough to me that it was a fairly
>> arbitrary choice based on which one was used more often. I'm open to
>> other ideas.
>>
>> >
>> > ...Takumi
>> >
>> > 2013/1/3 David Blaikie <dblaikie at gmail.com>:
>> >> Author: dblaikie
>> >> Date: Wed Jan 2 15:50:47 2013
>> >> New Revision: 171416
>> >>
>> >> URL: http://llvm.org/viewvc/llvm-project?rev=171416&view=rev
>> >> Log:
>> >> Remove redundant LitTestCommand in favor of ClangTestCommand.
>> >>
>> >> The latter could be renamed to LitTestCommand (as per the FIXIT) at
>> >> some point.
>> >>
>> >> My first intention, though, is to smoosh StandardTest into
>> >> ClangTestCommand and
>> >> then make it a bit more functional, including reporting all kinds of
>> >> lit
>> >> results rather than just warn/pass/fail.
>> >>
>> >> Removed:
>> >> zorg/trunk/zorg/buildbot/commands/LitTestCommand.py
>> >> Modified:
>> >> zorg/trunk/zorg/buildbot/builders/ClangBuilder.py
>> >> zorg/trunk/zorg/buildbot/builders/LNTBuilder.py
>> >> zorg/trunk/zorg/buildbot/commands/__init__.py
>> >>
>> >> Modified: zorg/trunk/zorg/buildbot/builders/ClangBuilder.py
>> >> URL:
>> >> http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/ClangBuilder.py?rev=171416&r1=171415&r2=171416&view=diff
>> >>
>> >> ==============================================================================
>> >> --- zorg/trunk/zorg/buildbot/builders/ClangBuilder.py (original)
>> >> +++ zorg/trunk/zorg/buildbot/builders/ClangBuilder.py Wed Jan 2
>> >> 15:50:47 2013
>> >> @@ -12,7 +12,6 @@
>> >> from zorg.buildbot.commands import DejaGNUCommand
>> >> from zorg.buildbot.commands.BatchFileDownload import BatchFileDownload
>> >> from zorg.buildbot.commands.ClangTestCommand import ClangTestCommand
>> >> -from zorg.buildbot.commands.LitTestCommand import LitTestCommand
>> >> from zorg.buildbot.PhasedBuilderUtils import GetLatestValidated,
>> >> find_cc
>> >>
>> >> def getClangBuildFactory(
>> >> @@ -745,12 +744,8 @@
>> >> # Save artifacts of this build for use by other builders.
>> >> f = uploadArtifacts(f)
>> >> # Run the LLVM and Clang regression tests.
>> >> - f.addStep(LitTestCommand(name='run.llvm.tests',
>> >> haltOnFailure=True,
>> >> + f.addStep(ClangTestCommand(name='check-all', haltOnFailure=True,
>> >> command=['make', '-j',
>> >> WithProperties('%(jobs)s'),
>> >> - 'VERBOSE=1'], description=['llvm',
>> >> 'tests'],
>> >> - workdir='%s/test' % clang_build_dir))
>> >> - f.addStep(LitTestCommand(name='run.clang.tests',
>> >> haltOnFailure=True,
>> >> - command=['make', '-j',
>> >> WithProperties('%(jobs)s'),
>> >> - 'VERBOSE=1'], description=['clang',
>> >> 'tests'],
>> >> - workdir='%s/tools/clang/test' %
>> >> clang_build_dir))
>> >> + 'VERBOSE=1'], description=['all',
>> >> 'tests'],
>> >> + workdir=clang_build_dir))
>> >> return f
>> >>
>> >> Modified: zorg/trunk/zorg/buildbot/builders/LNTBuilder.py
>> >> URL:
>> >> http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/builders/LNTBuilder.py?rev=171416&r1=171415&r2=171416&view=diff
>> >>
>> >> ==============================================================================
>> >> --- zorg/trunk/zorg/buildbot/builders/LNTBuilder.py (original)
>> >> +++ zorg/trunk/zorg/buildbot/builders/LNTBuilder.py Wed Jan 2 15:50:47
>> >> 2013
>> >> @@ -124,7 +124,7 @@
>> >> if parallel:
>> >> args.extend(['-j', WithProperties(jobs)])
>> >> args.extend(nt_flags)
>> >> - f.addStep(zorg.buildbot.commands.LitTestCommand.LitTestCommand(
>> >> +
>> >> f.addStep(zorg.buildbot.commands.ClangTestCommand.ClangTestCommand(
>> >> name='lnt.nightly-test', command=args, haltOnFailure=True,
>> >> description=['nightly test'], workdir='tests',
>> >> logfiles={'configure.log' : 'nt/build/configure.log',
>> >>
>> >> Removed: zorg/trunk/zorg/buildbot/commands/LitTestCommand.py
>> >> URL:
>> >> http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/commands/LitTestCommand.py?rev=171415&view=auto
>> >>
>> >> ==============================================================================
>> >> --- zorg/trunk/zorg/buildbot/commands/LitTestCommand.py (original)
>> >> +++ zorg/trunk/zorg/buildbot/commands/LitTestCommand.py (removed)
>> >> @@ -1,50 +0,0 @@
>> >> -import re
>> >> -import StandardizedTest
>> >> -
>> >> -class LitTestCommand(StandardizedTest.StandardizedTest):
>> >> - kTestLineRE = re.compile(r'([^ ]*): (.*) \(.*.*\)')
>> >> - kTestFailureLogStartRE = re.compile(r"""\*{4,80} TEST '(.*)' .*""")
>> >> - kTestFailureLogStopRE = re.compile(r"""\*{10,80}""")
>> >> -
>> >> - def parseLog(self, lines):
>> >> - results = []
>> >> - results_by_name = {}
>> >> - failureLogs = []
>> >> - lines = self.getLog('stdio').readlines()
>> >> -
>> >> - it = iter(lines)
>> >> - inFailure = None
>> >> - for ln in it:
>> >> - # See if we are inside a failure log.
>> >> - if inFailure:
>> >> - inFailure[1].append(ln)
>> >> - if self.kTestFailureLogStopRE.match(ln):
>> >> - name,log = inFailure
>> >> - if name not in results_by_name:
>> >> - raise ValueError,'Invalid log result with no status line!'
>> >> - results_by_name[name][2] = ''.join(log) + '\n'
>> >> - inFailure = None
>> >> - continue
>> >> -
>> >> - ln = ln.strip()
>> >> - if not ln:
>> >> - continue
>> >> -
>> >> - # Check for test failure logs.
>> >> - m = self.kTestFailureLogStartRE.match(ln)
>> >> - if m:
>> >> - inFailure = (m.group(1), [ln])
>> >> - continue
>> >> -
>> >> - # Otherwise expect a test status line.
>> >> - m = self.kTestLineRE.match(ln)
>> >> - if m:
>> >> - code, name = m.group(1),m.group(2)
>> >> - results.append( [code, name, None] )
>> >> - results_by_name[name] = results[-1]
>> >> -
>> >> - if inFailure:
>> >> - raise ValueError,("Unexpected clang test running output, "
>> >> - "unterminated failure log!")
>> >> -
>> >> - return results
>> >>
>> >> Modified: zorg/trunk/zorg/buildbot/commands/__init__.py
>> >> URL:
>> >> http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/commands/__init__.py?rev=171416&r1=171415&r2=171416&view=diff
>> >>
>> >> ==============================================================================
>> >> --- zorg/trunk/zorg/buildbot/commands/__init__.py (original)
>> >> +++ zorg/trunk/zorg/buildbot/commands/__init__.py Wed Jan 2 15:50:47
>> >> 2013
>> >> @@ -1,7 +1,6 @@
>> >> import AnalyzerCompareCommand
>> >> import BatchFileDownload
>> >> import ClangTestCommand
>> >> -import LitTestCommand
>> >> import DejaGNUCommand
>> >> import GTestCommand
>> >>
>> >>
>> >>
>> >> _______________________________________________
>> >> llvm-commits mailing list
>> >> llvm-commits at cs.uiuc.edu
>> >> http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>
>
More information about the llvm-commits
mailing list