github.com/mackerelio/mackerel-agent-plugins@v0.89.3/mackerel-plugin-fluentd/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=fluent/fluentd:v1.13-1
    20  port0=24230
    21  port1=24231
    22  port2=24232
    23  rule="rule-workers.txt"
    24  
    25  docker run -d \
    26  	--name "test-$plugin" \
    27  	-p "$port0:$port0" \
    28  	-p "$port1:$port1" \
    29  	-p "$port2:$port2" \
    30  	-v "$(pwd)/testdata:/fluentd/etc:ro" "$image" -c /fluentd/etc/fluentd-workers.conf
    31  trap 'docker stop test-$plugin; docker rm test-$plugin; exit' 1 2 3 15
    32  sleep 10
    33  
    34  $plugin -port "$port0" -workers 3 | graphite-metric-test -f "$rule"
    35  status=$?
    36  docker stop "test-$plugin"
    37  docker rm "test-$plugin"
    38  exit $status