jdk/test/com/sun/jdi/CatchAllTest.sh
changeset 2 90ce3da70b43
child 5506 202f599c92aa
equal deleted inserted replaced
0:fd16c54261b3 2:90ce3da70b43
       
     1 #!/bin/sh
       
     2 
       
     3 #
       
     4 # Copyright 2002 Sun Microsystems, Inc.  All Rights Reserved.
       
     5 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
       
     6 #
       
     7 # This code is free software; you can redistribute it and/or modify it
       
     8 # under the terms of the GNU General Public License version 2 only, as
       
     9 # published by the Free Software Foundation.
       
    10 #
       
    11 # This code is distributed in the hope that it will be useful, but WITHOUT
       
    12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
       
    13 # FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
       
    14 # version 2 for more details (a copy is included in the LICENSE file that
       
    15 # accompanied this code).
       
    16 #
       
    17 # You should have received a copy of the GNU General Public License version
       
    18 # 2 along with this work; if not, write to the Free Software Foundation,
       
    19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
       
    20 #
       
    21 # Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
       
    22 # CA 95054 USA or visit www.sun.com if you need additional information or
       
    23 # have any questions.
       
    24 #
       
    25 
       
    26 #
       
    27 #  @test
       
    28 #  @bug 4749692
       
    29 #  @summary REGRESSION: jdb rejects the syntax catch java.lang.IndexOutOfBoundsException
       
    30 #  @author Tim Bell
       
    31 #
       
    32 #  @run shell CatchAllTest.sh
       
    33 #
       
    34 classname=CatchAllTestTarg
       
    35 
       
    36 createJavaFile()
       
    37 {
       
    38     cat <<EOF > $classname.java.1
       
    39 class $classname {
       
    40     public void bar() {
       
    41         System.out.println("bar");        // @1 breakpoint
       
    42     }
       
    43 
       
    44     public static void main(String[] args) {
       
    45         CatchAllTestTarg my = new CatchAllTestTarg();
       
    46         my.bar();
       
    47     }
       
    48 }
       
    49 EOF
       
    50 }
       
    51 
       
    52 # This is called to feed cmds to jdb.
       
    53 dojdbCmds()
       
    54 {
       
    55    setBkpts @1
       
    56    runToBkpt @1
       
    57    cmd catch           java.lang.IndexOutOfBoundsException
       
    58    cmd catch
       
    59    cmd ignore
       
    60    cmd ignore          java.lang.IndexOutOfBoundsException
       
    61    cmd catch  all      java.lang.IndexOutOfBoundsException
       
    62    cmd ignore all      java.lang.IndexOutOfBoundsException
       
    63    cmd catch  caught   java.lang.IndexOutOfBoundsException
       
    64    cmd ignore caught   java.lang.IndexOutOfBoundsException
       
    65    cmd catch  uncaught java.lang.IndexOutOfBoundsException
       
    66    cmd ignore uncaught java.lang.IndexOutOfBoundsException
       
    67    cmd cont
       
    68 }
       
    69 
       
    70 mysetup()
       
    71 {
       
    72     if [ -z "$TESTSRC" ] ; then
       
    73         TESTSRC=.
       
    74     fi
       
    75 
       
    76     for ii in . $TESTSRC $TESTSRC/.. ; do
       
    77         if [ -r "$ii/ShellScaffold.sh" ] ; then
       
    78             . $ii/ShellScaffold.sh 
       
    79             break
       
    80         fi
       
    81     done
       
    82 }
       
    83 
       
    84 
       
    85 # You could replace this next line with the contents
       
    86 # of ShellScaffold.sh and this script will run just the same.
       
    87 mysetup
       
    88 
       
    89 runit
       
    90 #
       
    91 jdbFailIfPresent "Usage: catch"
       
    92 jdbFailIfPresent "Usage: ignore"
       
    93 #
       
    94 pass