diff --git a/.gitignore b/.gitignore index da85ce7..b8a7c64 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1 @@ -SOURCES/parent-0.12.0.tar.gz /parent-0.12.0.tar.gz diff --git a/tests/smoke_test.sh b/tests/smoke_test.sh new file mode 100755 index 0000000..a07abce --- /dev/null +++ b/tests/smoke_test.sh @@ -0,0 +1,62 @@ +#!/bin/bash +set -e + +JAVA=$1 +JAVA_VER=$2 +AGENT_VERSION="0.12.0" +dir=$(mktemp -d) +pushd $dir +cat > prometheus_config.yaml < HelloWait.java < hello_wait.out 2>&1 & +num_tries=0 +while [ $num_tries -lt 10 ] && ! grep -q 'Hello World' hello_wait.out; do + sleep 1 + num_tries=$(($num_tries + 1)) +done +echo +if [ $num_tries -eq 10 ]; then + echo "Time out reached waiting for HelloWait to come up" + exit 1 +fi +curl -s http://127.0.0.1:8080/metrics 2>&1 | tee prometheus.out +echo +echo +# jmx_exporter_build_info{version="0.12.0",name="jmx_prometheus_javaagent",} 1.0 +grep "jmx_exporter_build_info" prometheus.out | grep -q "version=\"$AGENT_VERSION\"" +# jvm_info{version="1.8.0_222-b10",vendor="Oracle Corporation",runtime="OpenJDK Runtime Environment",} 1.0 +version="1.8.0" +if [ $JAVA_VER -ne 8 ]; then +version="11.0" +fi +grep "jvm_info" prometheus.out | grep -q "version=\"$version" +popd +rm -rf $dir + +# Cleanup HelloWait process +kill $(jps | grep HelloWait | awk '{ print $1 }') + +echo "JDK $JAVA_VER: Tests PASSED!" diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..2057f56 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,16 @@ +--- +- hosts: localhost + roles: + - role: standard-test-basic + tags: + - classic + required_packages: + - prometheus-jmx-exporter-openjdk11 + - curl + - java-1.8.0-openjdk-devel + - java-11-openjdk-devel + + tests: + - agent_smoke_test: + dir: . + run: "./verify.sh" diff --git a/tests/verify.sh b/tests/verify.sh new file mode 100755 index 0000000..0d7b31d --- /dev/null +++ b/tests/verify.sh @@ -0,0 +1,7 @@ +#!/bin/bash +# +# Verify Prometheus JVM agent on JDK 8 and JDK 11 +set -e + +./smoke_test.sh /usr/lib/jvm/java-1.8.0-openjdk 8 +./smoke_test.sh /usr/lib/jvm/java-11-openjdk 11