[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