diff options
Diffstat (limited to 'framework/src/onos/tools/test/bin/onos-check-logs')
-rwxr-xr-x | framework/src/onos/tools/test/bin/onos-check-logs | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/framework/src/onos/tools/test/bin/onos-check-logs b/framework/src/onos/tools/test/bin/onos-check-logs new file mode 100755 index 00000000..ec1013ab --- /dev/null +++ b/framework/src/onos/tools/test/bin/onos-check-logs @@ -0,0 +1,60 @@ +#!/bin/bash +# ----------------------------------------------------------------------------- +# Checks the logs of the remote ONOS instance and makes sure they are clean. +# ----------------------------------------------------------------------------- + +[ ! -d "$ONOS_ROOT" ] && echo "ONOS_ROOT is not defined" >&2 && exit 1 +. $ONOS_ROOT/tools/build/envDefaults + +remote=$ONOS_USER@${1:-$OCI} + +LOG=$ONOS_INSTALL_DIR/log/karaf.log* + +aux=/tmp/log.$$ + +if [ "$2" = "old" ]; then + ssh $remote "egrep 'ERROR|Exception|Error' $LOG" + +else + ssh $remote " + tac $LOG | awk ' + BEGIN { off = 0; fail = 0; } + / org.apache.karaf.main.lock.SimpleFileLock lock/ { + off = 1; + exit fail; + } + + / ERROR / { + if (!off) { + print \$0; + exc = 0; + fail = 1; + } + } + / WARN / { + if (!off && exc) { + print \$0; + exc = 0; + } + } + + /^[a-zA-Z0-9.]*(Exception|Error)/ { + if (!off) { + print \$0; + exc = 1; + fail = 1; + } + } + + / at / { + if (!off) { + print \$0; + } + } + END { exit fail; } + ' > $aux + status=\$? + tac $aux && rm $aux + exit \$status + " +fi |