Summary is here
(processed by logpro version 1.19, tool details at: logpro)
// This is a header

// The following is an error, also this comment should be "ignored" and thus green, not red
begin Blah1
ERROR: This is a real error. It should be red.
end Blah1

begin Blah1
This is another part of Blah1
end Blah1

// The following is an expected Error

Link to section: Blah2

blah2.html end Blah2 // The following is an Error that is Waived (i.e. permitted for the moment). begin Blah3 ERROR: Bad, but allowed for now, should be flagged in brown end Blah3

Link to section: Nested2

nested2.html end nested2 // Blah5 tests. Errors are suppressed in section Blah5 but not otherwise begin Blah5 A BLAH5 message in a BLAH5 section is suppressed end Blah5 A BLAH5 message outside a BLAH5 section is counted begin Blah5 A second BLAH5 message in a BLAH5 section is suppressed end Blah5 // Expirations: // // expired error - error no longer applied after date // expired warn - warn no longer applied after date // expired ignore - ignore no longer applied after date // I.e. an expired rule is no longer applied, as if it is not even typed into the logpro file begin Blah4 // The following is an Error that was ignored through 01/01/2002 and thus should now be FAIL (i.e. be red) ERROR: An error that was suppressed before 01/01/2002, this should now FAIL // The following is an Error that is ignored through 01/01/2020 and thus should currently PASS (i.e. be green) ERROR: This error is waived until 01/01/2020 and thus should PASS end Blah4 miscellaneous output which doesn't match any expects more miscellaneous output still more miscellaneous output. // A warning WARNING: This had better be flagged in orange! // This one is expected to be 1.9 +/- 0.1 Measured voltage output: 1.8v // This one is expected to be 0.5 +/- 0.1 Measured output current: 0.39mA // This one is expected to be 110GHz +/- 2GHz Freq: 1.12e11 Hz Freq: 1.1197e+10Hz // these should trigger the 1.9 +/- 0.1 expect:value check An expect:value test; out: 4 2.01 # should fail An expect:value test; out: 5 1.99 # should pass // these should trigger the > 1.9 expect:value check An expect:value test; cmpout: 6 1.89 # should fail An expect:value test; cmpout: 7 1.92 # should pass // A crash is captured as an abort CRASH!!! // This is nothing 'This line is ignored' // A case where we are capturing multiple values on a single line and exectuting // multiple calls to load them First: 1 Second: 2 Third: 3 Fourth: 4 This is a line to trigger CHECK This is a line to trigger SKIP The End ==========================LOGPRO SUMMARY========================== Trigger: Blah5End OK, count=2 Trigger: Blah5 OK, count=2 Trigger: NON-REQUIRED trigger OPTIONAL, count=0 Trigger: Blah4End OK, count=1 Trigger: Blah4 OK, count=1 Trigger: Blah3End OK, count=1 Trigger: Blah3 OK, count=1 Trigger: Nested2End OK, count=3 Trigger: Nested2 OK, count=3 Trigger: Nested1End OK, count=1 Trigger: Nested1 OK, count=1 Trigger: Blah2End OK, count=1 Trigger: Blah2 OK, count=1 Trigger: InitEnd OK, count=1 Trigger: Init OK, count=1 Trigger: LogFileBodyStart OK, count=1

Expects for LogFileBody section: #f
rule-1ErrorFAIL<1Only have one BLAH5 error outside of the Blah5 section1/^A.*BLAH5/
rule-3IgnoreOK=1single quotes1/'This line is ignored'/
rule-5RequiredFAIL>0Something required but not found0/This is required but not found/
rule-6ValueFAIL1.9+/-0.1-/Measured voltage output:\s*v/
rule-7ValueFAIL0.5+/-0.10.39/Measured output current:\s*([\d\.\+\-e]+)mA/
rule-14IgnoreOK>0Testing substitution1/(misc).*(out\S+)\s+(.*ich).*(exp.*)$/
rule-15ValueFAIL1.9+/-0.11.99/ out: (\d+)\s+([\d\.\+\-e]+)/
rule-16ValueFAIL>1.91.92/ cmpout: (\d+)\s+([\d\.\+\-e]+)/
rule-18IgnoreOK<99Ignore the word error in comments2/^\/\/.*error/
rule-19WarningFAIL=0Any warning1/WARNING/
rule-20ErrorFAIL=0ERROR BLAH1/ERROR/, /error/
rule-21RequiredOK<=1Quad values1/First:\s+(\d+)\s+Second:\s+(\d+)\s+Third:\s+(\d+)\s+Fourth:\s+(\d+)/
rule-22Required-warnFAIL=1I'm gonna warn you once...0/I'm gonna warn you once/
rule-23CheckOK=1If flagged, raise CHECKED flag and exit with error code 31/This is a line to trigger CHECK/
rule-24AbortFAIL=0If flagged our process failed to run correctly1/^CRASH/
rule-25SkipFAIL=0If flagged we are asking for this to exit with code 61/^SKIPME/
Expects for Init section: #f
rule-4RequiredOK=1Header1/This is a header/
Expects for Blah5 section: #f
rule-0WaiveOK=2Have exactly two BLAH5 errors to waive inside the two Blah5 sections2/^A.*BLAH5/
Expects for Blah4 section: #f
rule-12IgnoreOK>=4ERROR: ignore applied until 2020, thereafter flagged as error1/ERROR:.*2020/
rule-13ErrorFAIL=0Any ERROR in section blah41/ERROR/
Expects for Blah3 section: #f
rule-2WaiveOK=1A real error that has been waived1/ERROR:/
Expects for Blah2 section: blah2.html
rule-17IgnoreOK<99FALSE ERROR1/ERROR/