LOGPRO RESULTS
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

// The following is an expected Error
begin Blah2
ERROR: This error is expected, it will be green.
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

// 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: Blah2End                   OK, count=1
Trigger: Blah2                      OK, count=1
Trigger: InitEnd                    OK, count=1
Trigger: Init                       OK, count=1
Trigger: LogFileBodyStart              OK, count=1

RuleNumRuleTypeStatusCompCount/ValDescCountRx
Expects for LogFileBody section:
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-8ValueOK110000000000.0+/-2000000000.0112000000000.0/Freq:\s*([\d\.\+\-e]+)\s+Hz/
rule-9ValueFAIL110000000000.0+/-1000000000.011197000000.0/Freq:\s*([\d\.\+\-e]+)Hz/
rule-10ValueFAIL110000000000.0+/-1000000000.0-/Freq:\s*([\d\.\+\-e]+)zH/
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:
rule-4RequiredOK=1Header1/This is a header/
Expects for Blah5 section:
rule-0WaiveOK=2Have exactly two BLAH5 errors to waive inside the two Blah5 sections2/^A.*BLAH5/
Expects for Blah4 section:
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:
rule-2WaiveOK=1A real error that has been waived1/ERROR:/
Expects for Blah2 section:
rule-17IgnoreOK<99FALSE ERROR1/ERROR/

EXIT CODE: 6 (SKIP )