CTEST: Fix MUMPS file parser and update test
The current file parser for a MUMPS routine uses a period "." as the one of the signals that a line of MUMPS code is executable. This is not a correct assumption. Add the period to the list of characters that CTest will not consider the start of a line of code. Update the test routine to have an entry point with code to match the scenario mentioned above.
This commit is contained in:
parent
1c7089924e
commit
6d66e396a1
|
@ -96,11 +96,13 @@ void cmParseMumpsCoverage::InitializeMumpsFile(std::string& file)
|
||||||
}
|
}
|
||||||
if(found)
|
if(found)
|
||||||
{
|
{
|
||||||
// (2) If the first character found above is whitespace then continue the
|
// (2) If the first character found above is whitespace or a period
|
||||||
// search for the first following non-whitespace character.
|
// then continue the search for the first following non-whitespace
|
||||||
|
// character.
|
||||||
if(line[i] == ' ' || line[i] == '\t')
|
if(line[i] == ' ' || line[i] == '\t')
|
||||||
{
|
{
|
||||||
while(i < line.size() && (line[i] == ' ' || line[i] == '\t'))
|
while(i < line.size() && (line[i] == ' ' || line[i] == '\t'
|
||||||
|
|| line[i] == '.'))
|
||||||
{
|
{
|
||||||
i++;
|
i++;
|
||||||
}
|
}
|
||||||
|
|
|
@ -2160,7 +2160,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
|
||||||
$<TARGET_FILE:ctest> -T Coverage --debug)
|
$<TARGET_FILE:ctest> -T Coverage --debug)
|
||||||
set_tests_properties(CTestGTMCoverage PROPERTIES
|
set_tests_properties(CTestGTMCoverage PROPERTIES
|
||||||
PASS_REGULAR_EXPRESSION
|
PASS_REGULAR_EXPRESSION
|
||||||
"Process file.*ZZCOVTST.m.*Total LOC:.*23.*Percentage Coverage: 82.61*"
|
"Process file.*ZZCOVTST.m.*Total LOC:.*30.*Percentage Coverage: 80.00*"
|
||||||
ENVIRONMENT COVFILE=)
|
ENVIRONMENT COVFILE=)
|
||||||
|
|
||||||
configure_file(
|
configure_file(
|
||||||
|
@ -2178,7 +2178,7 @@ ${CMake_BINARY_DIR}/bin/cmake -DDIR=dev -P ${CMake_SOURCE_DIR}/Utilities/Release
|
||||||
$<TARGET_FILE:ctest> -T Coverage --debug)
|
$<TARGET_FILE:ctest> -T Coverage --debug)
|
||||||
set_tests_properties(CTestCacheCoverage PROPERTIES
|
set_tests_properties(CTestCacheCoverage PROPERTIES
|
||||||
PASS_REGULAR_EXPRESSION
|
PASS_REGULAR_EXPRESSION
|
||||||
"Process file.*ZZCOVTST.m.*Total LOC:.*22.*Percentage Coverage: 86.36.*"
|
"Process file.*ZZCOVTST.m.*Total LOC:.*29.*Percentage Coverage: 86.21.*"
|
||||||
ENVIRONMENT COVFILE=)
|
ENVIRONMENT COVFILE=)
|
||||||
|
|
||||||
# Adding a test case for Python Coverage
|
# Adding a test case for Python Coverage
|
||||||
|
|
|
@ -10,6 +10,7 @@ EN ; This entry point shouldn't be found without fixing
|
||||||
I '$$T5 W "RETURNED FROM t5",!
|
I '$$T5 W "RETURNED FROM t5",!
|
||||||
Q
|
Q
|
||||||
; This line not executable
|
; This line not executable
|
||||||
|
D T6^ZZCOVTST
|
||||||
;
|
;
|
||||||
T1 ; This line should always be found
|
T1 ; This line should always be found
|
||||||
N D
|
N D
|
||||||
|
@ -33,4 +34,10 @@ T4 N D S D=5 W "Shouldn't be executed"
|
||||||
T5(EQ) ;this entry point is called with a $$ notation
|
T5(EQ) ;this entry point is called with a $$ notation
|
||||||
W "THIS IS THE $$ NOTATION!",!
|
W "THIS IS THE $$ NOTATION!",!
|
||||||
Q 0
|
Q 0
|
||||||
|
T6 ; An entry point to show comments inside of "DO" blocks
|
||||||
|
D
|
||||||
|
. W "This is executable code",!
|
||||||
|
. ;This is a comment inside the do block, not executable
|
||||||
|
. S ZZBLAH="blah"
|
||||||
|
W "Ending T6",!
|
||||||
;
|
;
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
Routine,Line,RtnLine,Code
|
Routine,Line,RtnLine,Code
|
||||||
ZZCOVTST,1,0,"ZZCOVTST;OSEHRA/JPS -- Test routine for Coverage Parsing;4/28/2014"
|
ZZCOVTST,1,1,"ZZCOVTST;OSEHRA/JPS -- Test routine for Coverage Parsing;4/28/2014"
|
||||||
,2,0," ; (tab) This is series of comments"
|
,2,0," ; (tab) This is series of comments"
|
||||||
,3,0," ; (tab) it should all be not executable"
|
,3,0," ; (tab) it should all be not executable"
|
||||||
,4,0," ; (spaces) one of these sets might be a problem"
|
,4,0," ; (spaces) one of these sets might be a problem"
|
||||||
|
@ -8,31 +8,38 @@ ZZCOVTST,1,0,"ZZCOVTST;OSEHRA/JPS -- Test routine for Coverage Parsing;4/28/2014
|
||||||
,7,1," N D"
|
,7,1," N D"
|
||||||
,8,1," S D=1 ;An executable line"
|
,8,1," S D=1 ;An executable line"
|
||||||
,9,1," D T1^ZZCOVTST"
|
,9,1," D T1^ZZCOVTST"
|
||||||
,10,1,"I '$$T5 W ""RETURNED FROM t5"",!"
|
,10,1," I '$$T5 W ""RETURNED FROM t5"",!"
|
||||||
,11,1," Q"
|
,11,1," D T6^ZZCOVTST"
|
||||||
,12,0," ; This line not executable"
|
,12,1," Q"
|
||||||
,13,0," ;"
|
,13,0," ; This line not executable"
|
||||||
,14,0,"T1 ; This line should always be found"
|
,14,0," ;"
|
||||||
,15,1," N D"
|
,15,0,"T1 ; This line should always be found"
|
||||||
,16,1," S D=2"
|
,16,1," N D"
|
||||||
,17,1," W !,D,!,""This is the second entry point"",!"
|
,17,1," S D=2"
|
||||||
,18,1," D T2^ZZCOVTST(D)"
|
,18,1," W !,D,!,""This is the second entry point"",!"
|
||||||
,19,1," Q"
|
,19,1," D T2^ZZCOVTST(D)"
|
||||||
,20,0," ;"
|
,20,1," Q"
|
||||||
,21,0,"T2(EQ) ; This is debatable"
|
,21,0," ;"
|
||||||
,22,1," N D"
|
,22,0,"T2(EQ) ; This is debatable and only called with ENT^ROU notation"
|
||||||
,23,1," S D=3"
|
,23,1," N D"
|
||||||
,24,1," W !,D,!,EQ,""This is the third entry point"",!"
|
,24,1," S D=3"
|
||||||
,25,1," D T3^ZZCOVTST"
|
,25,1," W !,D,!,EQ,""This is the third entry point"",!"
|
||||||
,26,1," Q"
|
,26,1," D T3^ZZCOVTST"
|
||||||
,27,0," ;"
|
,27,1," Q"
|
||||||
,28,1,"T3 N D S D=4 W D,!,""Fourth Entry point"",! Q"
|
,28,0," ;"
|
||||||
,29,0," ;"
|
,29,1,"T3 N D S D=4 W D,!,""Fourth Entry point"",! Q"
|
||||||
,30,0,"T4 N D S D=5 W ""Shouldn't be executed"""
|
,30,0," ;"
|
||||||
,31,0," W ""Lots to not do"""
|
,31,0,"T4 N D S D=5 W ""Shouldn't be executed"""
|
||||||
,32,0," Q"
|
,32,0," W ""Lots to not do"""
|
||||||
,33,1,"T5()"
|
,33,0," Q"
|
||||||
,34,1," W ""THIS IS ONE WITH $$ NOTATION"",1"
|
,34,1,"T5(EQ) ;this entry point is called with a $$ notation"
|
||||||
,35,1," Q 0"
|
,35,1," W ""THIS IS THE $$ NOTATION!"",!"
|
||||||
,36,0," ;"
|
,36,1," Q 0"
|
||||||
Totals for ZZCOVTST,,19,
|
,37,0,"T6 ; An entry point to show comments inside of ""DO"" blocks"
|
||||||
|
,38,1," D"
|
||||||
|
,39,1," . W ""This is executable code"",!"
|
||||||
|
,40,0," . ; This is a comment inside the do block, not executable"
|
||||||
|
,41,1," . S ZZBLAH=""blah"""
|
||||||
|
,42,1," W ""Ending T6"",!"
|
||||||
|
,43,0," ;"
|
||||||
|
Totals for ZZCOVTST,,25,
|
|
@ -1,30 +1,38 @@
|
||||||
%GO Global Output Utility
|
%GO Global Output Utility
|
||||||
GT.M 30-APR-2014 14:24:46 ZWR
|
GT.M 15-AUG-2014 10:14:32 ZWR
|
||||||
^ZZCOVERAGE("*CHILDREN")="0:0:0"
|
^ZZCOVERAGE("*CHILDREN")="212000:68000:280000"
|
||||||
^ZZCOVERAGE("*RUN")="24000:88000:112000"
|
^ZZCOVERAGE("*RUN")="56000:136000:192000"
|
||||||
^ZZCOVERAGE("ZZCOVTST","EN")="1:4000:8000:12000:6464583"
|
^ZZCOVERAGE("ZZCOVTST","EN")="1:4000:4000:8000:8627798"
|
||||||
^ZZCOVERAGE("ZZCOVTST","EN",1)="1:0:0:0:20"
|
^ZZCOVERAGE("ZZCOVTST","EN",1)="1:0:0:0:27"
|
||||||
^ZZCOVERAGE("ZZCOVTST","EN",2)="1:0:0:0:14"
|
^ZZCOVERAGE("ZZCOVTST","EN",2)="1:0:0:0:23"
|
||||||
^ZZCOVERAGE("ZZCOVTST","EN",3)="1:0:0:0:26"
|
^ZZCOVERAGE("ZZCOVTST","EN",3)="1:0:0:0:70"
|
||||||
^ZZCOVERAGE("ZZCOVTST","EN",4)="1:0:0:0:228"
|
^ZZCOVERAGE("ZZCOVTST","EN",4)="1:0:0:0:74"
|
||||||
^ZZCOVERAGE("ZZCOVTST","T1")="1:0:0:0:92"
|
^ZZCOVERAGE("ZZCOVTST","EN",5)="1:0:0:0:66"
|
||||||
^ZZCOVERAGE("ZZCOVTST","T1",1)="1:0:0:0:13"
|
^ZZCOVERAGE("ZZCOVTST","EN",6)="1:0:0:0:40"
|
||||||
^ZZCOVERAGE("ZZCOVTST","T1",2)="1:0:0:0:12"
|
^ZZCOVERAGE("ZZCOVTST","T1")="1:0:0:0:208"
|
||||||
^ZZCOVERAGE("ZZCOVTST","T1",3)="1:0:0:0:14"
|
^ZZCOVERAGE("ZZCOVTST","T1",1)="1:0:0:0:23"
|
||||||
^ZZCOVERAGE("ZZCOVTST","T1",4)="1:0:0:0:29"
|
^ZZCOVERAGE("ZZCOVTST","T1",2)="1:0:0:0:24"
|
||||||
^ZZCOVERAGE("ZZCOVTST","T1",5)="1:0:0:0:12"
|
^ZZCOVERAGE("ZZCOVTST","T1",3)="1:0:0:0:26"
|
||||||
^ZZCOVERAGE("ZZCOVTST","T2")="1:0:0:0:102"
|
^ZZCOVERAGE("ZZCOVTST","T1",4)="1:0:0:0:73"
|
||||||
^ZZCOVERAGE("ZZCOVTST","T2",0)="1:0:0:0:14"
|
^ZZCOVERAGE("ZZCOVTST","T1",5)="1:0:0:0:40"
|
||||||
^ZZCOVERAGE("ZZCOVTST","T2",1)="1:0:0:0:12"
|
^ZZCOVERAGE("ZZCOVTST","T2")="1:0:0:0:1783"
|
||||||
^ZZCOVERAGE("ZZCOVTST","T2",2)="1:0:0:0:12"
|
^ZZCOVERAGE("ZZCOVTST","T2",0)="1:0:0:0:25"
|
||||||
^ZZCOVERAGE("ZZCOVTST","T2",3)="1:0:0:0:14"
|
^ZZCOVERAGE("ZZCOVTST","T2",1)="1:0:0:0:524"
|
||||||
^ZZCOVERAGE("ZZCOVTST","T2",4)="1:0:0:0:25"
|
^ZZCOVERAGE("ZZCOVTST","T2",2)="1:0:0:0:40"
|
||||||
^ZZCOVERAGE("ZZCOVTST","T2",5)="1:0:0:0:12"
|
^ZZCOVERAGE("ZZCOVTST","T2",3)="1:0:0:0:95"
|
||||||
^ZZCOVERAGE("ZZCOVTST","T3")="1:0:0:0:28"
|
^ZZCOVERAGE("ZZCOVTST","T2",4)="1:0:0:0:607"
|
||||||
^ZZCOVERAGE("ZZCOVTST","T3",0)="1:0:0:0:17"
|
^ZZCOVERAGE("ZZCOVTST","T2",5)="1:0:0:0:470"
|
||||||
^ZZCOVERAGE("ZZCOVTST","T5")="1:0:0:0:388"
|
^ZZCOVERAGE("ZZCOVTST","T3")="1:0:0:0:254"
|
||||||
^ZZCOVERAGE("ZZCOVTST","T5",0)="1:0:0:0:114"
|
^ZZCOVERAGE("ZZCOVTST","T3",0)="1:0:0:0:76"
|
||||||
^ZZCOVERAGE("ZZCOVTST","T5",1)="1:0:0:0:28"
|
^ZZCOVERAGE("ZZCOVTST","T5")="1:0:0:0:153"
|
||||||
^ZZCOVERAGE("ZZCOVTST","T5",2)="1:0:0:0:14"
|
^ZZCOVERAGE("ZZCOVTST","T5",0)="1:0:0:0:40"
|
||||||
|
^ZZCOVERAGE("ZZCOVTST","T5",1)="1:0:0:0:41"
|
||||||
|
^ZZCOVERAGE("ZZCOVTST","T5",2)="1:0:0:0:41"
|
||||||
|
^ZZCOVERAGE("ZZCOVTST","T6")="1:0:0:0:227"
|
||||||
|
^ZZCOVERAGE("ZZCOVTST","T6",1)="1:0:0:0:41"
|
||||||
|
^ZZCOVERAGE("ZZCOVTST","T6",2)="1:0:0:0:42"
|
||||||
|
^ZZCOVERAGE("ZZCOVTST","T6",4)="1:0:0:0:41"
|
||||||
|
^ZZCOVERAGE("ZZCOVTST","T6",5)="1:0:0:0:34"
|
||||||
|
^ZZCOVERAGE("ZZCOVTST","T6",6)="1:0:0:0:38"
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue