[llvm-commits] [llvm] r167971 - in /llvm/trunk: docs/TestingGuide.html utils/lit/lit/TestRunner.py

Eli Bendersky eliben at google.com
Wed Nov 14 14:07:07 PST 2012


I think that variable substitution is covered in the FileCheck
document. Enhancements to FileCheck's capabilities should probably be
documented there.

Eli

On Wed, Nov 14, 2012 at 2:00 PM, Sean Silva <silvas at purdue.edu> wrote:
> d0k, you're appearing on (one line of) the git blame for
> docs/CommandGuide/lit.rst, would you be able to flesh out mention of
> variable substitution there?
>
> -- Sean Silva
>
> On Wed, Nov 14, 2012 at 3:42 PM, Alexander Kornienko <alexfh at google.com> wrote:
>> BTW, lit.rst doesn't have a single mention of variables substitution.
>> Probably, someone (sorry, not me ;) ) has to document variables there.
>>
>>
>> On Wed, Nov 14, 2012 at 9:31 PM, Sean Silva <silvas at purdue.edu> wrote:
>>>
>>> Thanks for the docs!
>>>
>>> -- Sean Silva
>>>
>>> On Wed, Nov 14, 2012 at 3:26 PM, Alexander Kornienko <alexfh at google.com>
>>> wrote:
>>> > Author: alexfh
>>> > Date: Wed Nov 14 14:26:19 2012
>>> > New Revision: 167971
>>> >
>>> > URL: http://llvm.org/viewvc/llvm-project?rev=167971&view=rev
>>> > Log:
>>> > Added %(line), %(line+<number>), %(line-<number>) substitutions to lit
>>> >
>>> > Modified:
>>> >     llvm/trunk/docs/TestingGuide.html
>>> >     llvm/trunk/utils/lit/lit/TestRunner.py
>>> >
>>> > Modified: llvm/trunk/docs/TestingGuide.html
>>> > URL:
>>> > http://llvm.org/viewvc/llvm-project/llvm/trunk/docs/TestingGuide.html?rev=167971&r1=167970&r2=167971&view=diff
>>> >
>>> > ==============================================================================
>>> > --- llvm/trunk/docs/TestingGuide.html (original)
>>> > +++ llvm/trunk/docs/TestingGuide.html Wed Nov 14 14:26:19 2012
>>> > @@ -723,6 +723,11 @@
>>> >      <dd>The full path to the test case's source. This is suitable for
>>> > passing
>>> >      on the command line as the input to an llvm tool.</dd>
>>> >
>>> > +    <dt><b>%(line), %(line+<i>number</i>),
>>> > %(line-<i>number</i>)</b></dt>
>>> > +    <dd>The number of the line where this variable is used, with an
>>> > optional
>>> > +    integer offset. This can be used in tests with multiple RUN: lines,
>>> > which
>>> > +    reference test file's line numbers.</dd>
>>> > +
>>> >      <dt><b>$srcdir</b></dt>
>>> >      <dd>The source directory from where the "<tt>make check</tt>" was
>>> > run.</dd>
>>> >
>>> >
>>> > Modified: llvm/trunk/utils/lit/lit/TestRunner.py
>>> > URL:
>>> > http://llvm.org/viewvc/llvm-project/llvm/trunk/utils/lit/lit/TestRunner.py?rev=167971&r1=167970&r2=167971&view=diff
>>> >
>>> > ==============================================================================
>>> > --- llvm/trunk/utils/lit/lit/TestRunner.py (original)
>>> > +++ llvm/trunk/utils/lit/lit/TestRunner.py Wed Nov 14 14:26:19 2012
>>> > @@ -432,7 +432,9 @@
>>> >      script = []
>>> >      xfails = []
>>> >      requires = []
>>> > +    line_number = 0
>>> >      for ln in open(sourcepath):
>>> > +        line_number += 1
>>> >          if 'RUN:' in ln:
>>> >              # Isolate the command to run.
>>> >              index = ln.index('RUN:')
>>> > @@ -441,6 +443,15 @@
>>> >              # Trim trailing whitespace.
>>> >              ln = ln.rstrip()
>>> >
>>> > +            # Substitute line number expressions
>>> > +            ln = re.sub('%\(line\)', str(line_number), ln)
>>> > +            def replace_line_number(match):
>>> > +                if match.group(1) == '+':
>>> > +                    return str(line_number + int(match.group(2)))
>>> > +                if match.group(1) == '-':
>>> > +                    return str(line_number - int(match.group(2)))
>>> > +            ln = re.sub('%\(line *([\+-]) *(\d+)\)',
>>> > replace_line_number, ln)
>>> > +
>>> >              # Collapse lines with trailing '\\'.
>>> >              if script and script[-1][-1] == '\\':
>>> >                  script[-1] = script[-1][:-1] + ln
>>> >
>>> >
>>> > _______________________________________________
>>> > llvm-commits mailing list
>>> > llvm-commits at cs.uiuc.edu
>>> > http://lists.cs.uiuc.edu/mailman/listinfo/llvm-commits
>>
>>
>>
>>
>> --
>> Alexander Kornienko | Software Engineer | alexfh at google.com | +49 151 221 77
>> 957
>> Google Germany GmbH | Dienerstr. 12 | 80331 München
>>
>
> _______________________________________________
> 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