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