[zorg] r174533 - LitTestCommand: Include the verbose log start/stop markers in the extracted log.

David Blaikie dblaikie at gmail.com
Wed Feb 6 13:24:33 PST 2013


On Wed, Feb 6, 2013 at 11:41 AM, Daniel Dunbar <daniel at zuster.org> wrote:
> Author: ddunbar
> Date: Wed Feb  6 13:41:05 2013
> New Revision: 174533
>
> URL: http://llvm.org/viewvc/llvm-project?rev=174533&view=rev
> Log:
> LitTestCommand: Include the verbose log start/stop markers in the extracted log.
>
>  - The start marker in particular is a nice header for the log, and clearly
>    calls out the test name. The stop marker is just nice to include for bracing
>    the text and matching up to the lit output.

Would it make more/as much sense to just include the original log line
("FAIL: ...") & skip the start/stop markers? (that way you don't need
such a special case for the context-less failure case: as soon as you
see the failure code, log that & whatever context comes after it, if
any)?

>
> Modified:
>     zorg/trunk/zorg/buildbot/commands/LitTestCommand.py
>
> Modified: zorg/trunk/zorg/buildbot/commands/LitTestCommand.py
> URL: http://llvm.org/viewvc/llvm-project/zorg/trunk/zorg/buildbot/commands/LitTestCommand.py?rev=174533&r1=174532&r2=174533&view=diff
> ==============================================================================
> --- zorg/trunk/zorg/buildbot/commands/LitTestCommand.py (original)
> +++ zorg/trunk/zorg/buildbot/commands/LitTestCommand.py Wed Feb  6 13:41:05 2013
> @@ -38,13 +38,12 @@ class LitLogObserver(LogLineObserver):
>          return True
>
>    def handleVerboseLogLine(self, line):
> -    # If this isn't a stop marker, just append it and continue.
> -    if not self.kTestVerboseLogStopRE.match(line):
> -      self.activeVerboseLog.append(line)
> -      return
> +    # Append to the log.
> +    self.activeVerboseLog.append(line)
>
> -    # Otherwise, the log and test info are finished.
> -    self.testInfoFinished()
> +    # If this is a stop marker, process the test info.
> +    if self.kTestVerboseLogStopRE.match(line):
> +      self.testInfoFinished()
>
>    def testInfoFinished(self):
>      # We have finished getting information for one test, handle it.
> @@ -77,7 +76,7 @@ class LitLogObserver(LogLineObserver):
>      # Check for the test verbose log start marker.
>      m = self.kTestVerboseLogStartRE.match(line.strip())
>      if m:
> -      self.activeVerboseLog = []
> +      self.activeVerboseLog = [line]
>        if m.group(1) != self.lastTestResult[1]:
>          # This is bogus, the verbose log test name doesn't match what we
>          # expect. Just note it in the log but otherwise accumulate as normal.
> @@ -176,7 +175,7 @@ PASS: test-three (3 of 3)
>      obs = self.parse_log("""
>  FAIL: test-one (1 of 3)
>  FAIL: test-two (2 of 3)
> -**** TEST 'test-two' ****
> +**** TEST 'test-two' FAILED ****
>  bla bla bla
>  **********
>  FAIL: test-three (3 of 3)
> @@ -185,7 +184,10 @@ FAIL: test-three (3 of 3)
>      self.assertEqual(obs.resultCounts, { 'FAIL' : 3 })
>      self.assertEqual(obs.step.logs, [
>          ('test-one', 'FAIL: test-one'),
> -        ('test-two', 'bla bla bla'),
> +        ('test-two', """\
> +**** TEST 'test-two' FAILED ****
> +bla bla bla
> +**********"""),
>          ('test-three', 'FAIL: test-three')])
>
>  class TestCommand(unittest.TestCase):
>
>
> _______________________________________________
> 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