blob: cf2c4e529c55e17614313b6102b8162a0a64a7b8 [file] [log] [blame]
J. Duke319a3b92007-12-01 00:00:00 +00001#!/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 4788864
29# @summary TTY: 'catch caught' with no class pattern throws NullPointerException
30# @author Tim Bell
31#
32# @run shell CatchCaughtTest.sh
33#
34classname=CatchCaughtTestTarg
35
36createJavaFile()
37{
38 cat <<EOF > $classname.java.1
39class $classname {
40 public void bar() {
41 System.out.println("bar"); // @1 breakpoint
42 }
43
44 public static void main(String[] args) {
45 CatchCaughtTestTarg my = new CatchCaughtTestTarg();
46 my.bar();
47 }
48}
49EOF
50}
51
52# This is called to feed cmds to jdb.
53dojdbCmds()
54{
55 setBkpts @1
56 runToBkpt @1
57 cmd catch caught
58 cmd cont
59}
60
61mysetup()
62{
63 if [ -z "$TESTSRC" ] ; then
64 TESTSRC=.
65 fi
66
67 for ii in . $TESTSRC $TESTSRC/.. ; do
68 if [ -r "$ii/ShellScaffold.sh" ] ; then
69 . $ii/ShellScaffold.sh
70 break
71 fi
72 done
73}
74
75
76# You could replace this next line with the contents
77# of ShellScaffold.sh and this script will run just the same.
78mysetup
79
80runit
81#
82jdbFailIfPresent "Internal exception"
83jdbFailIfNotPresent "Usage: catch"
84#
85pass