# Rules for Jenkins Log Parser Plugin
# These should work for parsing the Mininet test log
# Rules are in priority order - first matching rule
# triggers and the rest are ignored.

# Failed full tests will be marked with FAILED,
# and a pexpect TIMEOUT is also almost certainly an error
error /FAIL/
error /TIMEOUT/

# Warn on exceptions and sub-errors
warn /(?i)^exception/
warn /ERROR/

# Report passed tests in Info
info /Test.*OK/
info /Sanity.*OK/
info /\.\.\. ok/
