I think this is more YAML compliant as you can do this:

   args: -foo     # Foo test


--- a/config/testparse.py
+++ b/config/testparse.py
@@ -59,6 +59,7 @@ def _stripIndent(block,srcfile):
   ext=os.path.splitext(srcfile)[1]
   for lline in block.split("\n"):
     line=lline[1:] if lline.startswith("!") else lline
+    line=line.split('#')[0]
     if not line.strip(): continue
     stripstr=" "
     nspace=len(line)-len(line.lstrip(stripstr))
@@ -70,6 +71,7 @@ def _stripIndent(block,srcfile):
   newTestStr="\n"
   for lline in block.split("\n"):
     line=lline[1:] if lline.startswith("!") else lline
+    line=line.split('#')[0]
     if not line.strip(): continue
     newline=line[nspace:]
     newTestStr=newTestStr+newline.rstrip()+"\n"

On 1/17/17 5:11 PM, Matthew Knepley wrote:
On Tue, Jan 17, 2017 at 6:08 PM, Barry Smith <[email protected]
<mailto:[email protected]>> wrote:


      Comments would be a new feature so belong in a new branch, so
    create a branch off of master, call it say
    scott/test-harness-comments then after you tested it (by adding at
    least one comment to a current example) and then make a pull request
    and we can get it into master very quickly.


This works

--- a/config/testparse.py
+++ b/config/testparse.py
@@ -98,6 +98,7 @@ def parseTest(testStr,srcfile):
   subdict={}
   for line in striptest.split("\n"):
     if not line.strip(): continue
+    if len(line.split(":")) < 2: continue
     var=line.split(":")[0].strip()
     val=line.split(":")[1].strip()
     # Start by seeing if we are in a subtest

   Matt



       Barry

    > On Jan 17, 2017, at 5:29 PM, Scott Kruger <[email protected]
    <mailto:[email protected]>> wrote:
    >
    >
    >
    >
    > The "This" is not at the same indentation level as the "test:"
    >
    > According the YAML standard, comments begin with #.
    > I did not implement comments.
    >
    > Where do you want the fix pushed?
    >
    > Scott
    >
    >
    > On 1/17/17 4:19 PM, Barry Smith wrote:
    >>
    >>   I don't see any difference in the spacing between the two
    cases? We definitely don't want white space or lack of white space
    to matter in the definitions, that is too hard to manage.
    >>
    >>
    >>> On Jan 17, 2017, at 5:04 PM, Scott Kruger <[email protected]
    <mailto:[email protected]>> wrote:
    >>>
    >>>
    >>>
    >>> It has to do with the spacing.  Looking at
    src/sys/examples/test/ex1.c
    >>>
    >>> This works:
    >>> /*TEST
    >>>
    >>>  This test does foo
    >>>  test:
    >>>     filter: egrep "(PETSC ERROR)" | egrep
    "(main|CreateError|Error Created)" | cut -f1,2,3,4,5,6 -d" "
    >>>
    >>>
    >>> TEST*/
    >>>
    >>> which I can see by doing this:
    >>> ------------------------------------------------
    >>> gabrielle 81: ../../../../config/testparse.py -t ex1.c -v 1
    >>>
    >>>
    >>> ex1.c
    >>>  runex1
    >>>     filter: egrep "(PETSC ERROR)" | egrep
    "(main|CreateError|Error Created)" | cut -f1,2,3,4,5,6 -d" "
    >>> ------------------------------------------------
    >>>
    >>> but this does not:
    >>>
    >>> /*TEST
    >>>
    >>> This test does foo
    >>>  test:
    >>>     filter: egrep "(PETSC ERROR)" | egrep
    "(main|CreateError|Error Created)" | cut -f1,2,3,4,5,6 -d" "
    >>>
    >>>
    >>> TEST*/
    >>>
    >>> I would suggest that using # as a comment delimiter would be the
    best approach to enabling comments.
    >>>
    >>> Scott
    >>>
    >>>
    >>> On 1/17/17 3:53 PM, Matthew Knepley wrote:
    >>>> On Tue, Jan 17, 2017 at 4:31 PM, Satish Balay
    <[email protected] <mailto:[email protected]>
    >>>> <mailto:[email protected] <mailto:[email protected]>>> wrote:
    >>>>
    >>>>   On Tue, 17 Jan 2017, Matthew Knepley wrote:
    >>>>
    >>>>   > Also, how do I put comments inside these blocks to tell me
    what the test is
    >>>>   > about?
    >>>>
    >>>>   Looks like everything other than the define format is ignored..
    >>>>
    >>>>
    >>>> It does not look that way to me:
    >>>>
    >>>> /usr/bin/python ./config/gmakegentest.py
    --petsc-arch=arch-c-exodus-master
    >>>> Traceback (most recent call last):
    >>>> File "./config/gmakegentest.py", line 733, in <module>
    >>>>   main(petsc_arch=opts.petsc_arch, output=opts.output,
    >>>> verbose=opts.verbose, single_ex=opts.single_executable)
    >>>> File "./config/gmakegentest.py", line 718, in main
    >>>>
    >>>>
    
dataDict=pEx.walktree(os.path.join(pEx.petsc_dir,'src'),action="genPetscTests")
    >>>> File "./config/gmakegentest.py", line 613, in walktree
    >>>>   eval("self."+action+"(root,dirs,files,dataDict)")
    >>>> File "<string>", line 1, in <module>
    >>>> File "./config/gmakegentest.py", line 593, in genPetscTests
    >>>>   dataDict[root].update(testparse.parseTestFile(fullex))
    >>>> File "/PETSc3/petsc/petsc-dev/config/testparse.py", line 175, in
    >>>> parseTestFile
    >>>>   testDict[basename]=parseTests(testString,srcfile)
    >>>> File "/PETSc3/petsc/petsc-dev/config/testparse.py", line 140, in
    >>>> parseTests
    >>>>   testname,subdict=parseTest(test,srcfile)
    >>>> File "/PETSc3/petsc/petsc-dev/config/testparse.py", line 102,
    in parseTest
    >>>>   val=line.split(":")[1].strip()
    >>>> IndexError: list index out of range
    >>>>
    >>>>
    >>>>  Matt
    >>>>
    >>>>
    >>>>
    >>>>   Satish
    >>>>
    >>>>
    >>>>
    >>>>
    >>>> --
    >>>> What most experimenters take for granted before they begin their
    >>>> experiments is infinitely more interesting than any results to
    which
    >>>> their experiments lead.
    >>>> -- Norbert Wiener
    >>>
    >>> --
    >>> Tech-X Corporation               [email protected]
    <mailto:[email protected]>
    >>> 5621 Arapahoe Ave, Suite A       Phone: (720) 974-1841
    <tel:%28720%29%20974-1841>
    >>> Boulder, CO 80303                Fax:   (303) 448-7756
    <tel:%28303%29%20448-7756>
    >>
    >
    > --
    > Tech-X Corporation               [email protected]
    <mailto:[email protected]>
    > 5621 Arapahoe Ave, Suite A       Phone: (720) 974-1841
    <tel:%28720%29%20974-1841>
    > Boulder, CO 80303                Fax:   (303) 448-7756
    <tel:%28303%29%20448-7756>




--
What most experimenters take for granted before they begin their
experiments is infinitely more interesting than any results to which
their experiments lead.
-- Norbert Wiener

--
Tech-X Corporation               [email protected]
5621 Arapahoe Ave, Suite A       Phone: (720) 974-1841
Boulder, CO 80303                Fax:   (303) 448-7756

Reply via email to