github.com/mackerelio/mackerel-agent-plugins@v0.89.3/mackerel-plugin-snmp/test.sh (about)

     1  #!/bin/sh
     2  
     3  prog=$(basename "$0")
     4  if ! [ -S /var/run/docker.sock ]
     5  then
     6  	echo "$prog: there are no running docker" >&2
     7  	exit 2
     8  fi
     9  
    10  cd "$(dirname "$0")" || exit
    11  PATH=$(pwd):$PATH
    12  plugin=$(basename "$(pwd)")
    13  if ! which "$plugin" >/dev/null
    14  then
    15  	echo "$prog: $plugin is not installed" >&2
    16  	exit 2
    17  fi
    18  
    19  image=local/test-$plugin
    20  port=10161
    21  
    22  docker build -t $image testdata/
    23  
    24  docker run --name "test-$plugin" -v $(pwd)/testdata/snmpd.conf:/etc/snmp/snmpd.conf:ro -p $port:161/udp -d $image
    25  trap 'docker stop test-$plugin; docker rm test-$plugin; exit 1' 1 2 3 15
    26  sleep 10
    27  
    28  $plugin -port $port '.1.3.6.1.2.1.25.1.5.0:hrSystemNumUsers:0:0' '.1.3.6.1.2.1.25.1.6.0:hrSystemProcesses:0:0' '.1.3.6.1.4.1.8072.1.3.2.3.1.2.4.101.99.104.111:echo:0:0' | graphite-metric-test -f rule.txt
    29  status=$?
    30  
    31  docker stop "test-$plugin"
    32  docker rm "test-$plugin"
    33  exit $status