--- /dev/null 2019-09-18 10:39:18.000000000 -0400 +++ new/test/jdk/tools/jpackage/test_jpackage.sh 2019-09-18 10:39:16.608966700 -0400 @@ -0,0 +1,68 @@ +#!/bin/bash + +# +# Complete testing of jpackage platform-specific packaging. +# +# The script does the following: +# 1. Create packages. +# 2. Install created packages. +# 3. Verifies packages are installed. +# 4. Uninstall created packages. +# 5. Verifies packages are uninstalled. +# +# For the list of accepted command line arguments see `run_tests.sh` script. +# + +# Fail fast +set -e; set -o pipefail; + +# Script debug +dry_run=${JPACKAGE_TEST_DRY_RUN} + +# Default directory where jpackage should write bundle files +output_dir=~/jpackage_bundles + + +set_args () +{ + args=() + local arg_is_output_dir= + local arg_is_mode= + local output_dir_set= + for arg in "$@"; do + if [ "$arg" == "-o" ]; then + arg_is_output_dir=yes + output_dir_set=yes + elif [ "$arg" == "-m" ]; then + arg_is_mode=yes + continue + elif [ -n "$arg_is_output_dir" ]; then + arg_is_output_dir= + output_dir="$arg" + elif [ -n "$arg_is_mode" ]; then + arg_is_mode= + continue + fi + + args+=( "$arg" ) + done + [ -n "$output_dir_set" ] || args=( -o "$output_dir" "${args[@]}" ) +} + + +exec_command () +{ + if [ -n "$dry_run" ]; then + echo "$@" + else + eval "$@" + fi +} + +set_args "$@" +basedir="$(dirname $0)" +exec_command "$basedir/run_tests.sh" -m create "${args[@]}" +exec_command "$basedir/manage_packages.sh" -d "$output_dir" +exec_command "$basedir/run_tests.sh" -m verify-install "${args[@]}" +exec_command "$basedir/manage_packages.sh" -d "$output_dir" -u +exec_command "$basedir/run_tests.sh" -m verify-uninstall "${args[@]}"