IOExceptionIfEncodedURLTest.sh revision 5524
3909N/A# Copyright (c) 2008, 2012, Oracle and/or its affiliates. All rights reserved. 0N/A# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 0N/A# This code is free software; you can redistribute it and/or modify it 0N/A# under the terms of the GNU General Public License version 2 only, as 2362N/A# published by the Free Software Foundation. Oracle designates this 0N/A# particular file as subject to the "Classpath" exception as provided 2362N/A# by Oracle in the LICENSE file that accompanied this code. 0N/A# This code is distributed in the hope that it will be useful, but WITHOUT 0N/A# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 0N/A# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 0N/A# version 2 for more details (a copy is included in the LICENSE file that 0N/A# accompanied this code). 0N/A# You should have received a copy of the GNU General Public License version 0N/A# 2 along with this work; if not, write to the Free Software Foundation, 0N/A# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 2362N/A# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 0N/A# @bug 6193279 6619458 0N/A# @summary REGRESSION: AppletViewer throws IOException when path is encoded URL 0N/A# @author Dmitry Cherepanov: area=appletviewer 0N/A# @run main IOExceptionIfEncodedURLTest 0N/A# Beginning of subroutines: 0N/A#Call this from anywhere to fail the test with an error message 0N/A# usage: fail "reason why the test failed" 0N/A { echo "The test failed :-(" 0N/A#Call this from anywhere to pass the test with a message 0N/A# usage: pass "reason why the test passed if applicable" 0N/A { echo "The test passed!!!" 0N/A#Call this to run the test with a file name 0N/A # these exceptions will be thrown if the test fails 0N/A then fail "test failed for "${URL}", see err file and CRs #6193279,6329251,6376334" 0N/A then fail "test failed for "${URL}", see err file and CRs #6193279,6329251,6376334" 0N/A # the applet will log the same message 0N/A then fail "test failed for "${URL}": syntax errors or inaccessible files" 0N/A then echo "the test passed for "${URL} 0N/A else fail "test failed for "${URL}": the appletviewer behaviour is unexpected: "$started", see err file" 0N/A# The beginning of the script proper 0N/A# Checking for proper OS 0N/A VAR=
"A different value for Linux" 0N/A VAR=
"A different value for Cygwin" 0N/A echo "Unrecognized system! $OS" 0N/A# 6438730: Only a minimal set of env variables are set for shell tests. 0N/A# To guarantee that env variable holds correct value we need to set it ourselves. 0N/Aif [ -z
"${PWD}" ] ;
then 0N/A# check that some executable or other file you need is available, abort if not 0N/A# note that the name of the executable is in the fail string as well. 0N/A# this is how to check for presence of the compiler, etc. 28N/A#RESOURCE=`whence SomeProgramOrFileNeeded` 0N/A#if [ "${RESOURCE}" = "" ] ; 0N/A# then fail "Need SomeProgramOrFileNeeded to perform the test" ; 0N/A# Want this test to run standalone as well as in the harness, so do the 0N/A# following to copy the test's directory into the harness's scratch directory 0N/A# and set all appropriate variables: 0N/Aif [ -z
"${TESTJAVA}" ] ;
then 0N/A # TESTJAVA is not set, so the test is running stand-alone. 0N/A # TESTJAVA holds the path to the root directory of the build of the JDK 0N/A # to be tested. That is, any java files run explicitly in this shell 0N/A # should use TESTJAVA in the path to the java interpreter. 0N/A # So, we'll set this to the JDK spec'd on the command line. If none 0N/A # is given on the command line, tell the user that and use a cheesy 0N/A # THIS IS THE JDK BEING TESTED. 0N/A else echo "no JDK specified on command line so using default!" 0N/A#Deal with .class files: 0N/Aif [ -n
"${STANDALONE}" ] ;
0N/A #if standalone, remind user to cd to dir. containing test before running it 0N/A echo "Just a reminder: cd to the dir containing this test when running it" 0N/A # then compile all .java files (if there are any) into .class files 0N/A then echo "Reminder, this test should be in its own directory with all" 0N/A echo "supporting files it needs in the directory with it." 0N/A # else in harness so copy all the class files from where jtreg put them 0N/A # over to the scratch directory this test is running in. 0N/A#if in test harness, then copy the entire directory that the test is in over 0N/A# to the scratch directory. This catches any support files needed by the test. 0N/A#if [ -z "${STANDALONE}" ] ; 0N/A# then cp ${TESTSRC}/* . 0N/A#Just before executing anything, make sure it has executable permission! 28N/A############### YOUR TEST CODE HERE!!!!!!! ############# 28N/A#All files required for the test should be in the same directory with 0N/A# this file. If converting a standalone test to run with the harness, 0N/A# as long as all files are in the same directory and it returns 0 for 0N/A# pass, you should be able to cut and paste it into here and it will 0N/A# run with the test harness. 0N/A# This is an example of running something -- test 0N/A# The stuff below catches the exit status of test then passes or fails 0N/A# this shell test as appropriate ( 0 status is considered a pass here ) 0N/A# The test verifies that appletviewer correctly works with the different 0N/A# names of the files, including relative and absolute paths 0N/A# 6619458: exclude left brace from the name of the files managed by the VCS 0N/A# Copy needed files into the harness's scratch directory 0N/A# or create a copy with the required name if the test is 0N/A# running as stand-alone 0N/A# the encoded name, the path is absolute 0N/A# the encoded name, the path is relative 0N/A# the unencoded name, the path is absolute 0N/A# the unencoded name, the path is relative 0N/A# pick up our toys from the scratch directory