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