summaryrefslogtreecommitdiff
path: root/automated/linux/openjdk/openjdk-smoke.sh
diff options
context:
space:
mode:
Diffstat (limited to 'automated/linux/openjdk/openjdk-smoke.sh')
-rwxr-xr-xautomated/linux/openjdk/openjdk-smoke.sh65
1 files changed, 65 insertions, 0 deletions
diff --git a/automated/linux/openjdk/openjdk-smoke.sh b/automated/linux/openjdk/openjdk-smoke.sh
new file mode 100755
index 0000000..7202a85
--- /dev/null
+++ b/automated/linux/openjdk/openjdk-smoke.sh
@@ -0,0 +1,65 @@
+#!/bin/sh
+
+. ../../lib/sh-test-lib
+OUTPUT="$(pwd)/output"
+RESULT_FILE="${OUTPUT}/result.txt"
+VERSION="8"
+
+usage() {
+ echo "Usage: $0 [-v <8|9>] [-s <true|false>]" 1>&2
+ exit 1
+}
+
+while getopts "v:s:" o; do
+ case "$o" in
+ v) VERSION="${OPTARG}" ;;
+ s) SKIP_INSTALL="${OPTARG}" ;;
+ *) usage ;;
+ esac
+done
+
+! check_root && error_msg "You need to be root to run this script."
+[ -d "${OUTPUT}" ] && mv "${OUTPUT}" "${OUTPUT}_$(date +%Y%m%d%H%M%S)"
+mkdir -p "${OUTPUT}"
+
+if [ "${SKIP_INSTALL}" = "True" ] || [ "${SKIP_INSTALL}" = "true" ]; then
+ info_msg "JDK package installation skipped"
+else
+ dist_name
+ case "${dist}" in
+ Debian|Ubuntu) pkg="openjdk-${VERSION}-jdk" ;;
+ CentOS|Fedora) pkg="java-1.${VERSION}.0-openjdk-devel" ;;
+ *) error_msg "Unsupported distribution" ;;
+ esac
+ install_deps "${pkg}"
+ exit_on_fail "jdk${VERSION}-installation"
+fi
+
+# Set the specific version as default in case more than one jdk installed.
+for link in java javac; do
+ path="$(update-alternatives --display "${link}" \
+ | egrep "^/usr/lib/jvm/java-(${VERSION}|1.${VERSION}.0)" \
+ | awk '{print $1}')"
+ update-alternatives --set "${link}" "${path}"
+done
+
+java -version 2>&1 | grep "version \"1.${VERSION}"
+exit_on_fail "check-java-version"
+
+javac -version 2>&1 | grep "javac 1.${VERSION}"
+exit_on_fail "check-javac-version"
+
+cd "${OUTPUT}"
+cat > "HelloWorld.java" << EOL
+public class HelloWorld {
+ public static void main(String[] args) {
+ System.out.println("Hello, World");
+ }
+}
+EOL
+
+javac HelloWorld.java
+check_return "compile-HelloWorld"
+
+java HelloWorld | grep "Hello, World"
+check_return "execute-HelloWorld"