aboutsummaryrefslogtreecommitdiffstats
path: root/framework/src/onos/tools/test/bin/onos-check-logs
diff options
context:
space:
mode:
Diffstat (limited to 'framework/src/onos/tools/test/bin/onos-check-logs')
-rwxr-xr-xframework/src/onos/tools/test/bin/onos-check-logs60
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