< prev index next >

test/jdk/tools/jpackage/run_tests.sh

Print this page


   1 #!/bin/bash
   2 
   3 #
   4 # Script to run jpackage tests.
   5 #
   6 
   7 
   8 # Fail fast
   9 set -e; set -o pipefail;
  10 
  11 

  12 workdir=/tmp/jpackage_jtreg_testing
  13 jtreg_jar=$workdir/jtreg/lib/jtreg.jar
  14 jpackage_test_selector=test/jdk/tools/jpackage
  15 
  16 
  17 find_packaging_tests ()
  18 {
  19   (cd "$open_jdk_with_jpackage_jtreg_tests" && \
  20     find "$jpackage_test_selector/$1" -type f -name '*.java' \
  21     | xargs grep -E -l '@key[[:space:]]+jpackagePlatformPackage')
  22 }
  23 
  24 
  25 find_all_packaging_tests ()
  26 {
  27   find_packaging_tests share
  28   case "$(uname -s)" in
  29     Darwin)
  30       find_packaging_tests macosx;;
  31     Linux)


 163   fatal_with_help_usage "Path to openjdk repo with jpackage jtreg tests not specified"
 164 fi
 165 
 166 if [ "$mode" = "print-default-tests" ]; then
 167   exec_command for t in ${tests[@]}";" do echo '$t;' done
 168   exit
 169 fi
 170 
 171 if [ -z "$test_jdk" ]; then
 172   fatal_with_help_usage Path to test JDK not specified
 173 fi
 174 
 175 if [ -z "$JAVA_HOME" ]; then
 176   echo JAVA_HOME environment variable not set, will use java from test JDK [$test_jdk] to run jtreg
 177   JAVA_HOME="$test_jdk"
 178 fi
 179 if [ ! -e "$JAVA_HOME/bin/java" ]; then
 180   fatal JAVA_HOME variable is set to [$JAVA_HOME] value, but $JAVA_HOME/bin/java not found.
 181 fi
 182 




 183 if [ -n "$runtime_dir" ]; then
 184   if [ ! -d "$runtime_dir" ]; then
 185     fatal 'Value of `-r` option is set to non-existing directory'.
 186   fi
 187   jtreg_args+=("-Djpackage.test.runtime-image=$(to_native_path "$(cd "$runtime_dir" && pwd)")")
 188 fi
 189 
 190 if [ -n "$logfile" ]; then
 191   if [ ! -d "$(dirname "$logfile")" ]; then
 192     fatal 'Value of `-l` option specified a file in non-existing directory'.
 193   fi
 194   logfile="$(cd "$(dirname "$logfile")" && pwd)/$(basename "$logfile")"
 195   jtreg_args+=("-Djpackage.test.logfile=$(to_native_path "$logfile")")
 196 fi
 197 
 198 if [ "$mode" = create ]; then
 199   true
 200 elif [ "$mode" = update ]; then
 201   true
 202 elif [ "$mode" = verify-install ]; then
 203   jtreg_args+=("-Djpackage.test.action=$mode")
 204 elif [ "$mode" = verify-uninstall ]; then
 205   jtreg_args+=("-Djpackage.test.action=$mode")
 206 else
 207   fatal_with_help_usage 'Invalid value of -m option:' [$mode]
 208 fi
 209 
 210 if [ -z "$run_all_tests" ]; then
 211   jtreg_args+=(-Djpackage.test.SQETest=yes)
 212 fi
 213 
 214 # All remaining command line arguments are tests to run that should override the defaults
 215 [ $# -eq 0 ] || tests=($@)
 216 
 217 
 218 installJtreg ()
 219 {
 220   # Install jtreg if missing
 221   if [ ! -f "$jtreg_jar" ]; then
 222     exec_command mkdir -p "$workdir"
 223     # TODO - restore code to download or copy jtreg.jar
 224     # to $workdir/jtreg/lib/jtreg.jar
 225     fatal "ERROR: All Tests Disabled until locating jtreg.jar implemented."






 226   fi
 227 }
 228 
 229 
 230 preRun ()
 231 {
 232   local xargs_args=(-t --no-run-if-empty rm)
 233   if [ -n "$dry_run" ]; then
 234     xargs_args=(--no-run-if-empty echo rm)
 235   fi
 236 
 237   if [ ! -d "$output_dir" ]; then
 238     exec_command mkdir -p "$output_dir"
 239   fi
 240   [ ! -d "$output_dir" ] || output_dir=$(cd "$output_dir" && pwd)
 241 
 242   # Clean output directory
 243   [ "$mode" != "create" ] || find $output_dir -maxdepth 1 -type f -name '*.exe' -or -name '*.msi' -or -name '*.rpm' -or -name '*.deb' | xargs "${xargs_args[@]}"
 244 }
 245 


   1 #!/bin/bash
   2 
   3 #
   4 # Script to run jpackage tests.
   5 #
   6 
   7 
   8 # Fail fast
   9 set -e; set -o pipefail;
  10 
  11 # $JTREG_BUNDLE_URL (Link can be obtained from https://openjdk.java.net/jtreg/ page)
  12 jtreg_bundle=$JTREG_BUNDLE_URL
  13 workdir=/tmp/jpackage_jtreg_testing
  14 jtreg_jar=$workdir/jtreg/lib/jtreg.jar
  15 jpackage_test_selector=test/jdk/tools/jpackage
  16 
  17 
  18 find_packaging_tests ()
  19 {
  20   (cd "$open_jdk_with_jpackage_jtreg_tests" && \
  21     find "$jpackage_test_selector/$1" -type f -name '*.java' \
  22     | xargs grep -E -l '@key[[:space:]]+jpackagePlatformPackage')
  23 }
  24 
  25 
  26 find_all_packaging_tests ()
  27 {
  28   find_packaging_tests share
  29   case "$(uname -s)" in
  30     Darwin)
  31       find_packaging_tests macosx;;
  32     Linux)


 164   fatal_with_help_usage "Path to openjdk repo with jpackage jtreg tests not specified"
 165 fi
 166 
 167 if [ "$mode" = "print-default-tests" ]; then
 168   exec_command for t in ${tests[@]}";" do echo '$t;' done
 169   exit
 170 fi
 171 
 172 if [ -z "$test_jdk" ]; then
 173   fatal_with_help_usage Path to test JDK not specified
 174 fi
 175 
 176 if [ -z "$JAVA_HOME" ]; then
 177   echo JAVA_HOME environment variable not set, will use java from test JDK [$test_jdk] to run jtreg
 178   JAVA_HOME="$test_jdk"
 179 fi
 180 if [ ! -e "$JAVA_HOME/bin/java" ]; then
 181   fatal JAVA_HOME variable is set to [$JAVA_HOME] value, but $JAVA_HOME/bin/java not found.
 182 fi
 183 
 184 if [ -z "$JTREG_BUNDLE_URL" ]; then
 185   fatal 'JTREG_BUNDLE_URL environment variable not set. Link to JTREG bundle can be found at https://openjdk.java.net/jtreg/'.
 186 fi
 187 
 188 if [ -n "$runtime_dir" ]; then
 189   if [ ! -d "$runtime_dir" ]; then
 190     fatal 'Value of `-r` option is set to non-existing directory'.
 191   fi
 192   jtreg_args+=("-Djpackage.test.runtime-image=$(to_native_path "$(cd "$runtime_dir" && pwd)")")
 193 fi
 194 
 195 if [ -n "$logfile" ]; then
 196   if [ ! -d "$(dirname "$logfile")" ]; then
 197     fatal 'Value of `-l` option specified a file in non-existing directory'.
 198   fi
 199   logfile="$(cd "$(dirname "$logfile")" && pwd)/$(basename "$logfile")"
 200   jtreg_args+=("-Djpackage.test.logfile=$(to_native_path "$logfile")")
 201 fi
 202 
 203 if [ "$mode" = create ]; then
 204   true
 205 elif [ "$mode" = update ]; then
 206   true
 207 elif [ "$mode" = verify-install ]; then
 208   jtreg_args+=("-Djpackage.test.action=$mode")
 209 elif [ "$mode" = verify-uninstall ]; then
 210   jtreg_args+=("-Djpackage.test.action=$mode")
 211 else
 212   fatal_with_help_usage 'Invalid value of -m option:' [$mode]
 213 fi
 214 
 215 if [ -z "$run_all_tests" ]; then
 216   jtreg_args+=(-Djpackage.test.SQETest=yes)
 217 fi
 218 
 219 # All remaining command line arguments are tests to run that should override the defaults
 220 [ $# -eq 0 ] || tests=($@)
 221 
 222 
 223 installJtreg ()
 224 {
 225   # Install jtreg if missing
 226   if [ ! -f "$jtreg_jar" ]; then
 227     exec_command mkdir -p "$workdir"
 228     if [[ ${jtreg_bundle: -7} == ".tar.gz" ]]; then
 229       exec_command "(" cd "$workdir" "&&" wget "$jtreg_bundle" "&&" tar -xzf "$(basename $jtreg_bundle)" ";" rm -f "$(basename $jtreg_bundle)" ")"
 230     else
 231       if [[ ${jtreg_bundle: -4} == ".zip" ]]; then
 232         exec_command "(" cd "$workdir" "&&" wget "$jtreg_bundle" "&&" unzip "$(basename $jtreg_bundle)" ";" rm -f "$(basename $jtreg_bundle)" ")"
 233       else
 234         fatal 'Unsupported extension of JREG bundle ['$JTREG_BUNDLE_URL']. Only *.zip or *.tar.gz is supported.'
 235       fi
 236     fi
 237   fi
 238 }
 239 
 240 
 241 preRun ()
 242 {
 243   local xargs_args=(-t --no-run-if-empty rm)
 244   if [ -n "$dry_run" ]; then
 245     xargs_args=(--no-run-if-empty echo rm)
 246   fi
 247 
 248   if [ ! -d "$output_dir" ]; then
 249     exec_command mkdir -p "$output_dir"
 250   fi
 251   [ ! -d "$output_dir" ] || output_dir=$(cd "$output_dir" && pwd)
 252 
 253   # Clean output directory
 254   [ "$mode" != "create" ] || find $output_dir -maxdepth 1 -type f -name '*.exe' -or -name '*.msi' -or -name '*.rpm' -or -name '*.deb' | xargs "${xargs_args[@]}"
 255 }
 256 


< prev index next >