From a494a391423fdcf858f50ef7346bcf288b36521a Mon Sep 17 00:00:00 2001 From: Justin Cormack Date: Mon, 14 Nov 2016 11:30:09 +0000 Subject: [PATCH] Make diagnostics program return exit code Add running diagnostics to test script. Signed-off-by: Justin Cormack --- .../packages/diagnostics/usr/bin/diagnostics | 37 +++++++++++++------ alpine/packages/test/usr/bin/mobytest | 1 + 2 files changed, 26 insertions(+), 12 deletions(-) diff --git a/alpine/packages/diagnostics/usr/bin/diagnostics b/alpine/packages/diagnostics/usr/bin/diagnostics index 2ece82822..721528458 100755 --- a/alpine/packages/diagnostics/usr/bin/diagnostics +++ b/alpine/packages/diagnostics/usr/bin/diagnostics @@ -1,34 +1,47 @@ #!/bin/sh +EXIT_STATUS=0 + +fail() +{ + printf "✗ $1" + EXIT_STATUS=1 +} + +ok() +{ + printf "✓ $1" +} + printf '\n' DEV="$(find /dev -maxdepth 1 -type b ! -name 'loop*' | grep -v '[0-9]$' | sed 's@.*/dev/@@' | head -1 )" -[ $? -eq 0 ] && printf "✓ Drive found: $DEV\n" || printf "✗ No drive found\n" +[ $? -eq 0 ] && ok "Drive found: $DEV\n" || fail "No drive found\n" DEV=$(mount | grep '/dev/.* on /var type') -[ $? -eq 0 ] && printf "✓ Drive mounted: $DEV\n" || printf "✗ No drive mounted\n" +[ $? -eq 0 ] && ok "Drive mounted: $DEV\n" || fail "No drive mounted\n" INET=$(ifconfig eth0 2> /dev/null | grep 'inet addr') -[ $? -eq 0 ] && printf "✓ Network connected: $INET\n" || printf "✗ No network connection\n" +[ $? -eq 0 ] && ok "Network connected: $INET\n" || fail "No network connection\n" if [ "$(mobyplatform)" = "mac" ] then FUSE=$(ps -eo args | grep '^/sbin/transfused') - [ $? -eq 0 ] && printf "✓ Process transfused running\n" || printf "✗ No transfused process\n" + [ $? -eq 0 ] && ok "Process transfused running\n" || fail "No transfused process\n" fi if [ "$(mobyplatform)" = "windows" ] then TAPVS=$(ps -eo args | grep '^/sbin/tap-vsockd') - [ $? -eq 0 ] && printf "✓ Process tap-vsockd running\n" || printf "✗ No tap-vsockd process\n" + [ $? -eq 0 ] && ok "Process tap-vsockd running\n" || fail "No tap-vsockd process\n" fi DOCKER=$(ps -eo args | grep '^/usr/bin/dockerd') -[ $? -eq 0 ] && printf "✓ Process dockerd running: $DOCKER\n" || printf "✗ No dockerd process\n" +[ $? -eq 0 ] && ok "Process dockerd running: $DOCKER\n" || fail "No dockerd process\n" CONTAINERD=$(ps -eo args | grep '^docker-containerd') -[ $? -eq 0 ] && printf "✓ Process containerd running: $CONTAINERD\n" || printf "✗ No containerd process\n" +[ $? -eq 0 ] && ok "Process containerd running: $CONTAINERD\n" || fail "No containerd process\n" DOCKERPS=$(docker ps 2>&1) DOCKERV=$(docker --version) -[ $? -eq 0 ] && printf "✓ Docker daemon working: ${DOCKERV}\n" || printf "✗ Docker ps failed: $DOCKERPS\n" +[ $? -eq 0 ] && ok "Docker daemon working: ${DOCKERV}\n" || fail "Docker ps failed: $DOCKERPS\n" DIAGNOSTICS=$(ps -eo args | grep '^/usr/bin/diagnostics-server') -[ $? -eq 0 ] && printf "✓ Diagnostics server running: $DIAGNOSTICS\n" || printf "✗ No diagnostics server\n" +[ $? -eq 0 ] && ok "Diagnostics server running: $DIAGNOSTICS\n" || fail "No diagnostics server\n" CONTAINERD=$(ps -eo args | grep '^/usr/bin/containerd') -[ $? -eq 0 ] && printf "✓ System containerd server running: $CONTAINERD\n" || printf "✗ No containerd server\n" +[ $? -eq 0 ] && ok "System containerd server running: $CONTAINERD\n" || fail "No containerd server\n" CONTAINERPS=$(containerd-ctr containers 2>&1) -[ $? -eq 0 ] && printf "✓ System containerd working\n" || printf "✗ containerd failed: $CONTAINERPS\n" +[ $? -eq 0 ] && ok "System containerd working\n" || fail "containerd failed: $CONTAINERPS\n" -exit 0 +exit $EXIT_STATUS diff --git a/alpine/packages/test/usr/bin/mobytest b/alpine/packages/test/usr/bin/mobytest index edbb4e0c1..19b453d39 100755 --- a/alpine/packages/test/usr/bin/mobytest +++ b/alpine/packages/test/usr/bin/mobytest @@ -3,6 +3,7 @@ set -ex ifconfig +diagnostics docker version docker info docker ps