6724327: eliminate use of shell tests for simple golden file tests

Thu, 10 Jul 2008 11:25:23 -0700

author
jjg
date
Thu, 10 Jul 2008 11:25:23 -0700
changeset 69
82c7aa6fe50a
parent 68
c33f7ddeeff2
child 70
62fcf8d73dc5

6724327: eliminate use of shell tests for simple golden file tests
Reviewed-by: darcy

test/tools/javac/CyclicInheritance.java file | annotate | diff | comparison | revisions
test/tools/javac/CyclicInheritance.out file | annotate | diff | comparison | revisions
test/tools/javac/CyclicInheritance.sh file | annotate | diff | comparison | revisions
test/tools/javac/ExtendsAccess/ExtendsAccess.java file | annotate | diff | comparison | revisions
test/tools/javac/ExtendsAccess/ExtendsAccess.out file | annotate | diff | comparison | revisions
test/tools/javac/ExtendsAccess/ExtendsAccess.sh file | annotate | diff | comparison | revisions
test/tools/javac/FloatingPointChanges/BadConstructorModifiers.java file | annotate | diff | comparison | revisions
test/tools/javac/FloatingPointChanges/BadConstructorModifiers.out file | annotate | diff | comparison | revisions
test/tools/javac/FloatingPointChanges/BadConstructorModifiers.sh file | annotate | diff | comparison | revisions
test/tools/javac/InnerNamedConstant_2.java file | annotate | diff | comparison | revisions
test/tools/javac/InnerNamedConstant_2.out file | annotate | diff | comparison | revisions
test/tools/javac/InnerNamedConstant_2.sh file | annotate | diff | comparison | revisions
test/tools/javac/LocalClasses_2.java file | annotate | diff | comparison | revisions
test/tools/javac/LocalClasses_2.out file | annotate | diff | comparison | revisions
test/tools/javac/LocalClasses_2.sh file | annotate | diff | comparison | revisions
test/tools/javac/NameCollision.java file | annotate | diff | comparison | revisions
test/tools/javac/NameCollision.out file | annotate | diff | comparison | revisions
test/tools/javac/NameCollision.sh file | annotate | diff | comparison | revisions
test/tools/javac/NestedInnerClassNames.java file | annotate | diff | comparison | revisions
test/tools/javac/NestedInnerClassNames.out file | annotate | diff | comparison | revisions
test/tools/javac/NestedInnerClassNames.sh file | annotate | diff | comparison | revisions
test/tools/javac/NonStaticFieldExpr1.java file | annotate | diff | comparison | revisions
test/tools/javac/NonStaticFieldExpr1.out file | annotate | diff | comparison | revisions
test/tools/javac/NonStaticFieldExpr1.sh file | annotate | diff | comparison | revisions
test/tools/javac/NonStaticFieldExpr2.java file | annotate | diff | comparison | revisions
test/tools/javac/NonStaticFieldExpr2.out file | annotate | diff | comparison | revisions
test/tools/javac/NonStaticFieldExpr2.sh file | annotate | diff | comparison | revisions
test/tools/javac/NonStaticFieldExpr3.java file | annotate | diff | comparison | revisions
test/tools/javac/NonStaticFieldExpr3.out file | annotate | diff | comparison | revisions
test/tools/javac/NonStaticFieldExpr3.sh file | annotate | diff | comparison | revisions
test/tools/javac/QualifiedAccess/QualifiedAccess_1.java file | annotate | diff | comparison | revisions
test/tools/javac/QualifiedAccess/QualifiedAccess_1.out file | annotate | diff | comparison | revisions
test/tools/javac/QualifiedAccess/QualifiedAccess_1.sh file | annotate | diff | comparison | revisions
test/tools/javac/QualifiedAccess/QualifiedAccess_2.java file | annotate | diff | comparison | revisions
test/tools/javac/QualifiedAccess/QualifiedAccess_2.out file | annotate | diff | comparison | revisions
test/tools/javac/QualifiedAccess/QualifiedAccess_2.sh file | annotate | diff | comparison | revisions
test/tools/javac/QualifiedAccess/QualifiedAccess_3.java file | annotate | diff | comparison | revisions
test/tools/javac/QualifiedAccess/QualifiedAccess_3.out file | annotate | diff | comparison | revisions
test/tools/javac/QualifiedAccess/QualifiedAccess_3.sh file | annotate | diff | comparison | revisions
test/tools/javac/SynchronizedClass.java file | annotate | diff | comparison | revisions
test/tools/javac/SynchronizedClass.out file | annotate | diff | comparison | revisions
test/tools/javac/SynchronizedClass.sh file | annotate | diff | comparison | revisions
test/tools/javac/depDocComment/DeprecatedDocComment.java file | annotate | diff | comparison | revisions
test/tools/javac/depDocComment/DeprecatedDocComment.out file | annotate | diff | comparison | revisions
test/tools/javac/depDocComment/DeprecatedDocComment.sh file | annotate | diff | comparison | revisions
     1.1 --- a/test/tools/javac/CyclicInheritance.java	Tue Jul 08 18:06:19 2008 -0700
     1.2 +++ b/test/tools/javac/CyclicInheritance.java	Thu Jul 10 11:25:23 2008 -0700
     1.3 @@ -4,7 +4,7 @@
     1.4   * @summary Test that recursive 'extends' and 'implements' clauses are detected
     1.5   * and disallowed.
     1.6   *
     1.7 - * @run shell CyclicInheritance.sh
     1.8 + * @compile/fail/ref=CyclicInheritance.out -XDrawDiagnostics -XDstdout CyclicInheritance.java
     1.9   */
    1.10  
    1.11  
     2.1 --- a/test/tools/javac/CyclicInheritance.out	Tue Jul 08 18:06:19 2008 -0700
     2.2 +++ b/test/tools/javac/CyclicInheritance.out	Thu Jul 10 11:25:23 2008 -0700
     2.3 @@ -1,25 +1,9 @@
     2.4 -CyclicInheritance.java:15: cyclic inheritance involving C1
     2.5 -class C1 extends C1 {}                  // ERROR - Cyclic inheritance
     2.6 -^
     2.7 -CyclicInheritance.java:17: cyclic inheritance involving C11
     2.8 -class C11 extends C12 {}                // ERROR - Cyclic inheritance
     2.9 -^
    2.10 -CyclicInheritance.java:20: cyclic inheritance involving I1
    2.11 -interface I1 extends I1 {}              // ERROR - Cyclic inheritance
    2.12 -^
    2.13 -CyclicInheritance.java:22: cyclic inheritance involving I11
    2.14 -interface I11 extends I12 {}            // ERROR - Cyclic inheritance
    2.15 -^
    2.16 -CyclicInheritance.java:27: cyclic inheritance involving C211
    2.17 -class C211 implements C211.I {          // ERROR - may change pending resoluation of 4087020
    2.18 -^
    2.19 -CyclicInheritance.java:31: cyclic inheritance involving C212
    2.20 -class C212 extends C212.C {             // ERROR - Cyclic inheritance, subclass cannot enclose superclass
    2.21 -^
    2.22 -CyclicInheritance.java:36: C221.I has private access in C221
    2.23 -class C221 implements C221.I {          // ERROR - Cannot access C21 (private)
    2.24 -                          ^
    2.25 -CyclicInheritance.java:40: C222.C has private access in C222
    2.26 -class C222 extends C222.C {             // ERROR - Cannot access C22 (private)
    2.27 -                       ^
    2.28 +CyclicInheritance.java:15:1: compiler.err.cyclic.inheritance: C1
    2.29 +CyclicInheritance.java:17:1: compiler.err.cyclic.inheritance: C11
    2.30 +CyclicInheritance.java:20:1: compiler.err.cyclic.inheritance: I1
    2.31 +CyclicInheritance.java:22:1: compiler.err.cyclic.inheritance: I11
    2.32 +CyclicInheritance.java:27:1: compiler.err.cyclic.inheritance: C211
    2.33 +CyclicInheritance.java:31:1: compiler.err.cyclic.inheritance: C212
    2.34 +CyclicInheritance.java:36:27: compiler.err.report.access: C221.I, private, C221
    2.35 +CyclicInheritance.java:40:24: compiler.err.report.access: C222.C, private, C222
    2.36  8 errors
     3.1 --- a/test/tools/javac/CyclicInheritance.sh	Tue Jul 08 18:06:19 2008 -0700
     3.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     3.3 @@ -1,86 +0,0 @@
     3.4 -#!/bin/sh
     3.5 -
     3.6 -#
     3.7 -# Copyright 1999-2002 Sun Microsystems, Inc.  All Rights Reserved.
     3.8 -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3.9 -#
    3.10 -# This code is free software; you can redistribute it and/or modify it
    3.11 -# under the terms of the GNU General Public License version 2 only, as
    3.12 -# published by the Free Software Foundation.
    3.13 -#
    3.14 -# This code is distributed in the hope that it will be useful, but WITHOUT
    3.15 -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    3.16 -# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    3.17 -# version 2 for more details (a copy is included in the LICENSE file that
    3.18 -# accompanied this code).
    3.19 -#
    3.20 -# You should have received a copy of the GNU General Public License version
    3.21 -# 2 along with this work; if not, write to the Free Software Foundation,
    3.22 -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    3.23 -#
    3.24 -# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
    3.25 -# CA 95054 USA or visit www.sun.com if you need additional information or
    3.26 -# have any questions.
    3.27 -#
    3.28 -
    3.29 -
    3.30 -if [ "${TESTSRC}" = "" ]
    3.31 -then
    3.32 -  echo "TESTSRC not set.  Test cannot execute.  Failed."
    3.33 -  exit 1
    3.34 -fi
    3.35 -echo "TESTSRC=${TESTSRC}"
    3.36 -if [ "${TESTJAVA}" = "" ]
    3.37 -then
    3.38 -  echo "TESTJAVA not set.  Test cannot execute.  Failed."
    3.39 -  exit 1
    3.40 -fi
    3.41 -echo "TESTJAVA=${TESTJAVA}"
    3.42 -if [ "${TESTCLASSES}" = "" ]
    3.43 -then
    3.44 -  echo "TESTCLASSES not set.  Test cannot execute.  Failed."
    3.45 -  exit 1
    3.46 -fi
    3.47 -echo "TESTCLASSES=${TESTCLASSES}"
    3.48 -echo "CLASSPATH=${CLASSPATH}"
    3.49 -
    3.50 -# set platform-dependent variables
    3.51 -OS=`uname -s`
    3.52 -case "$OS" in
    3.53 -  SunOS | Linux )
    3.54 -    NULL=/dev/null
    3.55 -    PS=":"
    3.56 -    FS="/"
    3.57 -    ;;
    3.58 -  Windows* )
    3.59 -    NULL=NUL
    3.60 -    PS=";"
    3.61 -    FS="\\"
    3.62 -    ;;
    3.63 -  * )
    3.64 -    echo "Unrecognized system!"
    3.65 -    exit 1;
    3.66 -    ;;
    3.67 -esac
    3.68 -
    3.69 -TMP1=OUTPUT.txt
    3.70 -
    3.71 -rm -rf C1.class   C11.class C12.class 
    3.72 -rm -rf I1.class   I11.class I12.class 
    3.73 -rm -rf C211.class C2.class
    3.74 -
    3.75 -cp "${TESTSRC}${FS}CyclicInheritance.java" .
    3.76 -"${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} CyclicInheritance.java 2> ${TMP1}
    3.77 -cat ${TMP1}
    3.78 -
    3.79 -diff -c "${TESTSRC}${FS}CyclicInheritance.out" ${TMP1}
    3.80 -result=$?
    3.81 -rm ${TMP1}
    3.82 -
    3.83 -if [ $result -eq 0 ]
    3.84 -then
    3.85 -  echo "Passed"
    3.86 -else
    3.87 -  echo "Failed"
    3.88 -fi
    3.89 -exit $result
     4.1 --- a/test/tools/javac/ExtendsAccess/ExtendsAccess.java	Tue Jul 08 18:06:19 2008 -0700
     4.2 +++ b/test/tools/javac/ExtendsAccess/ExtendsAccess.java	Thu Jul 10 11:25:23 2008 -0700
     4.3 @@ -3,7 +3,7 @@
     4.4   * @bug 4087314 4087314 4785453
     4.5   * @summary Test access checking within 'extends' and 'implements' clause.
     4.6   * @author William Maddox (maddox)
     4.7 - * @run shell ExtendsAccess.sh
     4.8 + * @compile/fail/ref=ExtendsAccess.out -XDrawDiagnostics -XDstdout ExtendsAccess.java
     4.9   */
    4.10  
    4.11  /*
     5.1 --- a/test/tools/javac/ExtendsAccess/ExtendsAccess.out	Tue Jul 08 18:06:19 2008 -0700
     5.2 +++ b/test/tools/javac/ExtendsAccess/ExtendsAccess.out	Thu Jul 10 11:25:23 2008 -0700
     5.3 @@ -1,151 +1,47 @@
     5.4 -ExtendsAccess.java:31: cannot find symbol
     5.5 -symbol: class publicClass
     5.6 -class ExtendsAccess111 extends publicClass { }                          // ERROR - 'publicClass' not in scope
     5.7 -                               ^
     5.8 -ExtendsAccess.java:32: cannot find symbol
     5.9 -symbol: class defaultClass
    5.10 -class ExtendsAccess112 extends defaultClass { }                         // ERROR - 'defaultClass' not in scope
    5.11 -                               ^
    5.12 -ExtendsAccess.java:33: cannot find symbol
    5.13 -symbol: class protectedClass
    5.14 -class ExtendsAccess113 extends protectedClass { }                       // ERROR - 'protectedClass' not in scope
    5.15 -                               ^
    5.16 -ExtendsAccess.java:34: cannot find symbol
    5.17 -symbol: class privateClass
    5.18 -class ExtendsAccess114 extends privateClass { }                         // ERROR - 'privateClass' not in scope
    5.19 -                               ^
    5.20 -ExtendsAccess.java:39: ExtendsAccess.privateClass has private access in ExtendsAccess
    5.21 -class ExtendsAccess1241 extends ExtendsAccess.privateClass { }          // ERROR - cannot access 'privateClass'
    5.22 -                                             ^
    5.23 -ExtendsAccess.java:42: p.ExtendsAccess.defaultClass is not public in p.ExtendsAccess; cannot be accessed from outside package
    5.24 -class ExtendsAccess1222 extends p.ExtendsAccess.defaultClass { }        // ERROR - cannot access 'defaultClass'
    5.25 -                                               ^
    5.26 -ExtendsAccess.java:43: p.ExtendsAccess.protectedClass has protected access in p.ExtendsAccess
    5.27 -class ExtendsAccess1232 extends p.ExtendsAccess.protectedClass { }      // ERROR - cannot access 'protectedClass'
    5.28 -                                               ^
    5.29 -ExtendsAccess.java:44: p.ExtendsAccess.privateClass has private access in p.ExtendsAccess
    5.30 -class ExtendsAccess1242 extends p.ExtendsAccess.privateClass { }        // ERROR - cannot access 'privateClass'
    5.31 -                                               ^
    5.32 -ExtendsAccess.java:56: ExtendsAccess.privateClass has private access in ExtendsAccess
    5.33 -    class N extends privateClass { }                                    // ERROR - cannot access 'privateClass'
    5.34 -                    ^
    5.35 -ExtendsAccess.java:63: p.ExtendsAccess.defaultClass is not public in p.ExtendsAccess; cannot be accessed from outside package
    5.36 -    class N extends defaultClass { }                                    // ERROR - cannot access 'defaultClass'
    5.37 -                    ^
    5.38 -ExtendsAccess.java:69: p.ExtendsAccess.privateClass has private access in p.ExtendsAccess
    5.39 -    class N extends privateClass { }                                    // ERROR - cannot access 'privateClass'
    5.40 -                    ^
    5.41 -ExtendsAccess.java:85: ExtendsAccess.privateClass has private access in ExtendsAccess
    5.42 -    class N extends ExtendsAccess.privateClass { }                      // ERROR - cannot access 'privateClass'
    5.43 -                                 ^
    5.44 -ExtendsAccess.java:92: p.ExtendsAccess.defaultClass is not public in p.ExtendsAccess; cannot be accessed from outside package
    5.45 -    class N extends p.ExtendsAccess.defaultClass { }                    // ERROR - cannot access 'defaultClass'
    5.46 -                                   ^
    5.47 -ExtendsAccess.java:101: p.ExtendsAccess.privateClass has private access in p.ExtendsAccess
    5.48 -    class N extends p.ExtendsAccess.privateClass { }                    // ERROR - cannot access 'privateClass'
    5.49 -                                   ^
    5.50 -ExtendsAccess.java:104: cannot find symbol
    5.51 -symbol: class publicStaticClass
    5.52 -class ExtendsAccess211 extends publicStaticClass { }                    // ERROR - 'publicStaticClass' not in scope
    5.53 -                               ^
    5.54 -ExtendsAccess.java:105: cannot find symbol
    5.55 -symbol: class defaultStaticClass
    5.56 -class ExtendsAccess212 extends defaultStaticClass { }                   // ERROR - 'defaultStaticClass' not in scope
    5.57 -                               ^
    5.58 -ExtendsAccess.java:106: cannot find symbol
    5.59 -symbol: class protectedStaticClass
    5.60 -class ExtendsAccess213 extends protectedStaticClass { }                 // ERROR - 'protectedStaticClass' not in scope
    5.61 -                               ^
    5.62 -ExtendsAccess.java:107: cannot find symbol
    5.63 -symbol: class privateStaticClass
    5.64 -class ExtendsAccess214 extends privateStaticClass { }                   // ERROR - 'privateStaticClass' not in scope
    5.65 -                               ^
    5.66 -ExtendsAccess.java:112: ExtendsAccess.privateStaticClass has private access in ExtendsAccess
    5.67 -class ExtendsAccess2241 extends ExtendsAccess.privateStaticClass { }    // ERROR - cannot access 'privateStaticClass'
    5.68 -                                             ^
    5.69 -ExtendsAccess.java:115: p.ExtendsAccess.defaultStaticClass is not public in p.ExtendsAccess; cannot be accessed from outside package
    5.70 -class ExtendsAccess2222 extends p.ExtendsAccess.defaultStaticClass { }  // ERROR - cannot access 'defaultStaticClass'
    5.71 -                                               ^
    5.72 -ExtendsAccess.java:116: p.ExtendsAccess.protectedStaticClass has protected access in p.ExtendsAccess
    5.73 -class ExtendsAccess2232 extends p.ExtendsAccess.protectedStaticClass { }// ERROR - cannot access 'protectedStaticClass'
    5.74 -                                               ^
    5.75 -ExtendsAccess.java:117: p.ExtendsAccess.privateStaticClass has private access in p.ExtendsAccess
    5.76 -class ExtendsAccess2242 extends p.ExtendsAccess.privateStaticClass { }  // ERROR - cannot access 'privateStaticClass'
    5.77 -                                               ^
    5.78 -ExtendsAccess.java:129: ExtendsAccess.privateStaticClass has private access in ExtendsAccess
    5.79 -    class N extends privateStaticClass { }                      // ERROR - cannot access 'privateStaticClass'
    5.80 -                    ^
    5.81 -ExtendsAccess.java:136: p.ExtendsAccess.defaultStaticClass is not public in p.ExtendsAccess; cannot be accessed from outside package
    5.82 -    class N extends defaultStaticClass { }                      // ERROR - cannot access 'defaultStaticClass'
    5.83 -                    ^
    5.84 -ExtendsAccess.java:142: p.ExtendsAccess.privateStaticClass has private access in p.ExtendsAccess
    5.85 -    class N extends privateStaticClass { }                      // ERROR - cannot access 'privateStaticClass'
    5.86 -                    ^
    5.87 -ExtendsAccess.java:158: ExtendsAccess.privateStaticClass has private access in ExtendsAccess
    5.88 -    class N extends ExtendsAccess.privateStaticClass { }        // ERROR - cannot access 'privateStaticClass'
    5.89 -                                 ^
    5.90 -ExtendsAccess.java:165: p.ExtendsAccess.defaultStaticClass is not public in p.ExtendsAccess; cannot be accessed from outside package
    5.91 -    class N extends p.ExtendsAccess.defaultStaticClass { }      // ERROR - cannot access 'defaultStaticClass'
    5.92 -                                   ^
    5.93 -ExtendsAccess.java:174: p.ExtendsAccess.privateStaticClass has private access in p.ExtendsAccess
    5.94 -    class N extends p.ExtendsAccess.privateStaticClass { }      // ERROR - cannot access 'privateStaticClass'
    5.95 -                                   ^
    5.96 -ExtendsAccess.java:177: cannot find symbol
    5.97 -symbol: class publicInterface
    5.98 -class ExtendsAccess311 extends ExtendsAccess implements publicInterface { }     // ERROR - 'publicInterface' not in scope
    5.99 -                                                        ^
   5.100 -ExtendsAccess.java:178: cannot find symbol
   5.101 -symbol: class defaultInterface
   5.102 -class ExtendsAccess312 extends ExtendsAccess implements defaultInterface { }    // ERROR - 'defaultInterface' not in scope
   5.103 -                                                        ^
   5.104 -ExtendsAccess.java:179: cannot find symbol
   5.105 -symbol: class protectedInterface
   5.106 -class ExtendsAccess313 extends ExtendsAccess implements protectedInterface { }  // ERROR - 'protectedInterface' not in scope
   5.107 -                                                        ^
   5.108 -ExtendsAccess.java:180: cannot find symbol
   5.109 -symbol: class privateInterface
   5.110 -class ExtendsAccess314 extends ExtendsAccess implements privateInterface { }    // ERROR - 'privateInterface' not in scope
   5.111 -                                                        ^
   5.112 -ExtendsAccess.java:186: ExtendsAccess.privateInterface has private access in ExtendsAccess
   5.113 -        implements ExtendsAccess.privateInterface { }                           // ERROR - cannot access 'privateInterface'
   5.114 -                                ^
   5.115 -ExtendsAccess.java:191: p.ExtendsAccess.defaultInterface is not public in p.ExtendsAccess; cannot be accessed from outside package
   5.116 -        implements p.ExtendsAccess.defaultInterface { }                         // ERROR - cannot access 'defaultStaticClass'
   5.117 -                                  ^
   5.118 -ExtendsAccess.java:193: p.ExtendsAccess.protectedInterface has protected access in p.ExtendsAccess
   5.119 -        implements p.ExtendsAccess.protectedInterface { }                       // ERROR - cannot access 'protectedStaticClass'
   5.120 -                                  ^
   5.121 -ExtendsAccess.java:195: p.ExtendsAccess.privateInterface has private access in p.ExtendsAccess
   5.122 -        implements p.ExtendsAccess.privateInterface { }                         // ERROR - cannot access 'privateInterface'
   5.123 -                                  ^
   5.124 -ExtendsAccess.java:207: ExtendsAccess.privateInterface has private access in ExtendsAccess
   5.125 -    class N implements privateInterface { }                     // ERROR - cannot access 'privateInterface'
   5.126 -                       ^
   5.127 -ExtendsAccess.java:214: p.ExtendsAccess.defaultInterface is not public in p.ExtendsAccess; cannot be accessed from outside package
   5.128 -    class N implements defaultInterface { }                     // ERROR - cannot access 'defaultStaticClass'
   5.129 -                       ^
   5.130 -ExtendsAccess.java:220: p.ExtendsAccess.privateInterface has private access in p.ExtendsAccess
   5.131 -    class N implements privateInterface { }                     // ERROR - cannot access 'privateInterface'
   5.132 -                       ^
   5.133 -ExtendsAccess.java:236: ExtendsAccess.privateInterface has private access in ExtendsAccess
   5.134 -    class N implements ExtendsAccess.privateInterface { }       // ERROR - cannot access 'privateInterface'
   5.135 -                                    ^
   5.136 -ExtendsAccess.java:243: p.ExtendsAccess.defaultInterface is not public in p.ExtendsAccess; cannot be accessed from outside package
   5.137 -    class N implements p.ExtendsAccess.defaultInterface { }     // ERROR - cannot access 'defaultClass'
   5.138 -                                      ^
   5.139 -ExtendsAccess.java:252: p.ExtendsAccess.privateInterface has private access in p.ExtendsAccess
   5.140 -    class N implements p.ExtendsAccess.privateInterface { }     // ERROR - cannot access 'privateInterface'
   5.141 -                                      ^
   5.142 -ExtendsAccess.java:36: an enclosing instance that contains ExtendsAccess.publicClass is required
   5.143 -class ExtendsAccess1211 extends ExtendsAccess.publicClass { }           // OK - can extend inner classes (was ERROR - no enclosing instance)
   5.144 -^
   5.145 -ExtendsAccess.java:37: an enclosing instance that contains ExtendsAccess.defaultClass is required
   5.146 -class ExtendsAccess1221 extends ExtendsAccess.defaultClass { }          // OK - can extend inner classes (was ERROR - no enclosing instance)
   5.147 -^
   5.148 -ExtendsAccess.java:38: an enclosing instance that contains ExtendsAccess.protectedClass is required
   5.149 -class ExtendsAccess1231 extends ExtendsAccess.protectedClass { }        // OK - can extend inner classes (was ERROR - no enclosing instance)
   5.150 -^
   5.151 -ExtendsAccess.java:41: an enclosing instance that contains p.ExtendsAccess.publicClass is required
   5.152 -class ExtendsAccess1212 extends p.ExtendsAccess.publicClass { }         // OK - can extend inner classes (was ERROR - no enclosing instance)
   5.153 -^
   5.154 +ExtendsAccess.java:31:32: compiler.err.cant.resolve: (- compiler.misc.kindname.class), publicClass, , 
   5.155 +ExtendsAccess.java:32:32: compiler.err.cant.resolve: (- compiler.misc.kindname.class), defaultClass, , 
   5.156 +ExtendsAccess.java:33:32: compiler.err.cant.resolve: (- compiler.misc.kindname.class), protectedClass, , 
   5.157 +ExtendsAccess.java:34:32: compiler.err.cant.resolve: (- compiler.misc.kindname.class), privateClass, , 
   5.158 +ExtendsAccess.java:39:46: compiler.err.report.access: ExtendsAccess.privateClass, private, ExtendsAccess
   5.159 +ExtendsAccess.java:42:48: compiler.err.not.def.public.cant.access: p.ExtendsAccess.defaultClass, p.ExtendsAccess
   5.160 +ExtendsAccess.java:43:48: compiler.err.report.access: p.ExtendsAccess.protectedClass, protected, p.ExtendsAccess
   5.161 +ExtendsAccess.java:44:48: compiler.err.report.access: p.ExtendsAccess.privateClass, private, p.ExtendsAccess
   5.162 +ExtendsAccess.java:56:21: compiler.err.report.access: ExtendsAccess.privateClass, private, ExtendsAccess
   5.163 +ExtendsAccess.java:63:21: compiler.err.not.def.public.cant.access: p.ExtendsAccess.defaultClass, p.ExtendsAccess
   5.164 +ExtendsAccess.java:69:21: compiler.err.report.access: p.ExtendsAccess.privateClass, private, p.ExtendsAccess
   5.165 +ExtendsAccess.java:85:34: compiler.err.report.access: ExtendsAccess.privateClass, private, ExtendsAccess
   5.166 +ExtendsAccess.java:92:36: compiler.err.not.def.public.cant.access: p.ExtendsAccess.defaultClass, p.ExtendsAccess
   5.167 +ExtendsAccess.java:101:36: compiler.err.report.access: p.ExtendsAccess.privateClass, private, p.ExtendsAccess
   5.168 +ExtendsAccess.java:104:32: compiler.err.cant.resolve: (- compiler.misc.kindname.class), publicStaticClass, , 
   5.169 +ExtendsAccess.java:105:32: compiler.err.cant.resolve: (- compiler.misc.kindname.class), defaultStaticClass, , 
   5.170 +ExtendsAccess.java:106:32: compiler.err.cant.resolve: (- compiler.misc.kindname.class), protectedStaticClass, , 
   5.171 +ExtendsAccess.java:107:32: compiler.err.cant.resolve: (- compiler.misc.kindname.class), privateStaticClass, , 
   5.172 +ExtendsAccess.java:112:46: compiler.err.report.access: ExtendsAccess.privateStaticClass, private, ExtendsAccess
   5.173 +ExtendsAccess.java:115:48: compiler.err.not.def.public.cant.access: p.ExtendsAccess.defaultStaticClass, p.ExtendsAccess
   5.174 +ExtendsAccess.java:116:48: compiler.err.report.access: p.ExtendsAccess.protectedStaticClass, protected, p.ExtendsAccess
   5.175 +ExtendsAccess.java:117:48: compiler.err.report.access: p.ExtendsAccess.privateStaticClass, private, p.ExtendsAccess
   5.176 +ExtendsAccess.java:129:21: compiler.err.report.access: ExtendsAccess.privateStaticClass, private, ExtendsAccess
   5.177 +ExtendsAccess.java:136:21: compiler.err.not.def.public.cant.access: p.ExtendsAccess.defaultStaticClass, p.ExtendsAccess
   5.178 +ExtendsAccess.java:142:21: compiler.err.report.access: p.ExtendsAccess.privateStaticClass, private, p.ExtendsAccess
   5.179 +ExtendsAccess.java:158:34: compiler.err.report.access: ExtendsAccess.privateStaticClass, private, ExtendsAccess
   5.180 +ExtendsAccess.java:165:36: compiler.err.not.def.public.cant.access: p.ExtendsAccess.defaultStaticClass, p.ExtendsAccess
   5.181 +ExtendsAccess.java:174:36: compiler.err.report.access: p.ExtendsAccess.privateStaticClass, private, p.ExtendsAccess
   5.182 +ExtendsAccess.java:177:57: compiler.err.cant.resolve: (- compiler.misc.kindname.class), publicInterface, , 
   5.183 +ExtendsAccess.java:178:57: compiler.err.cant.resolve: (- compiler.misc.kindname.class), defaultInterface, , 
   5.184 +ExtendsAccess.java:179:57: compiler.err.cant.resolve: (- compiler.misc.kindname.class), protectedInterface, , 
   5.185 +ExtendsAccess.java:180:57: compiler.err.cant.resolve: (- compiler.misc.kindname.class), privateInterface, , 
   5.186 +ExtendsAccess.java:186:33: compiler.err.report.access: ExtendsAccess.privateInterface, private, ExtendsAccess
   5.187 +ExtendsAccess.java:191:35: compiler.err.not.def.public.cant.access: p.ExtendsAccess.defaultInterface, p.ExtendsAccess
   5.188 +ExtendsAccess.java:193:35: compiler.err.report.access: p.ExtendsAccess.protectedInterface, protected, p.ExtendsAccess
   5.189 +ExtendsAccess.java:195:35: compiler.err.report.access: p.ExtendsAccess.privateInterface, private, p.ExtendsAccess
   5.190 +ExtendsAccess.java:207:24: compiler.err.report.access: ExtendsAccess.privateInterface, private, ExtendsAccess
   5.191 +ExtendsAccess.java:214:24: compiler.err.not.def.public.cant.access: p.ExtendsAccess.defaultInterface, p.ExtendsAccess
   5.192 +ExtendsAccess.java:220:24: compiler.err.report.access: p.ExtendsAccess.privateInterface, private, p.ExtendsAccess
   5.193 +ExtendsAccess.java:236:37: compiler.err.report.access: ExtendsAccess.privateInterface, private, ExtendsAccess
   5.194 +ExtendsAccess.java:243:39: compiler.err.not.def.public.cant.access: p.ExtendsAccess.defaultInterface, p.ExtendsAccess
   5.195 +ExtendsAccess.java:252:39: compiler.err.report.access: p.ExtendsAccess.privateInterface, private, p.ExtendsAccess
   5.196 +ExtendsAccess.java:36:1: compiler.err.encl.class.required: ExtendsAccess.publicClass
   5.197 +ExtendsAccess.java:37:1: compiler.err.encl.class.required: ExtendsAccess.defaultClass
   5.198 +ExtendsAccess.java:38:1: compiler.err.encl.class.required: ExtendsAccess.protectedClass
   5.199 +ExtendsAccess.java:41:1: compiler.err.encl.class.required: p.ExtendsAccess.publicClass
   5.200  46 errors
     6.1 --- a/test/tools/javac/ExtendsAccess/ExtendsAccess.sh	Tue Jul 08 18:06:19 2008 -0700
     6.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     6.3 @@ -1,83 +0,0 @@
     6.4 -#!/bin/sh
     6.5 -
     6.6 -#
     6.7 -# Copyright 1999-2002 Sun Microsystems, Inc.  All Rights Reserved.
     6.8 -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     6.9 -#
    6.10 -# This code is free software; you can redistribute it and/or modify it
    6.11 -# under the terms of the GNU General Public License version 2 only, as
    6.12 -# published by the Free Software Foundation.
    6.13 -#
    6.14 -# This code is distributed in the hope that it will be useful, but WITHOUT
    6.15 -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    6.16 -# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    6.17 -# version 2 for more details (a copy is included in the LICENSE file that
    6.18 -# accompanied this code).
    6.19 -#
    6.20 -# You should have received a copy of the GNU General Public License version
    6.21 -# 2 along with this work; if not, write to the Free Software Foundation,
    6.22 -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    6.23 -#
    6.24 -# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
    6.25 -# CA 95054 USA or visit www.sun.com if you need additional information or
    6.26 -# have any questions.
    6.27 -#
    6.28 -
    6.29 -
    6.30 -if [ "${TESTSRC}" = "" ]
    6.31 -then
    6.32 -  echo "TESTSRC not set.  Test cannot execute.  Failed."
    6.33 -  exit 1
    6.34 -fi
    6.35 -echo "TESTSRC=${TESTSRC}"
    6.36 -if [ "${TESTJAVA}" = "" ]
    6.37 -then
    6.38 -  echo "TESTJAVA not set.  Test cannot execute.  Failed."
    6.39 -  exit 1
    6.40 -fi
    6.41 -echo "TESTJAVA=${TESTJAVA}"
    6.42 -if [ "${TESTCLASSES}" = "" ]
    6.43 -then
    6.44 -  echo "TESTCLASSES not set.  Test cannot execute.  Failed."
    6.45 -  exit 1
    6.46 -fi
    6.47 -echo "TESTCLASSES=${TESTCLASSES}"
    6.48 -echo "CLASSPATH=${CLASSPATH}"
    6.49 -
    6.50 -# set platform-dependent variables
    6.51 -OS=`uname -s`
    6.52 -case "$OS" in
    6.53 -  SunOS | Linux )
    6.54 -    NULL=/dev/null
    6.55 -    PS=":"
    6.56 -    FS="/"
    6.57 -    ;;
    6.58 -  Windows* )
    6.59 -    NULL=NUL
    6.60 -    PS=";"
    6.61 -    FS="\\"
    6.62 -    ;;
    6.63 -  * )
    6.64 -    echo "Unrecognized system!"
    6.65 -    exit 1;
    6.66 -    ;;
    6.67 -esac
    6.68 -
    6.69 -TMP1=OUTPUT.txt
    6.70 -
    6.71 -cp "${TESTSRC}${FS}ExtendsAccess.java" .
    6.72 -cp -r "${TESTSRC}${FS}p" .
    6.73 -"${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} ExtendsAccess.java 2> ${TMP1}
    6.74 -cat ${TMP1}
    6.75 -
    6.76 -diff -c "${TESTSRC}${FS}ExtendsAccess.out" ${TMP1}
    6.77 -result=$?
    6.78 -rm ${TMP1}
    6.79 -
    6.80 -if [ $result -eq 0 ]
    6.81 -then
    6.82 -  echo "Passed"
    6.83 -else
    6.84 -  echo "Failed"
    6.85 -fi
    6.86 -exit $result
     7.1 --- a/test/tools/javac/FloatingPointChanges/BadConstructorModifiers.java	Tue Jul 08 18:06:19 2008 -0700
     7.2 +++ b/test/tools/javac/FloatingPointChanges/BadConstructorModifiers.java	Thu Jul 10 11:25:23 2008 -0700
     7.3 @@ -4,7 +4,7 @@
     7.4   * @summary strictfp may not be used with constructors
     7.5   * @author David Stoutamire (dps)
     7.6   *
     7.7 - * @run shell BadConstructorModifiers.sh
     7.8 + * @compile/fail/ref=BadConstructorModifiers.out -XDrawDiagnostics -XDstdout BadConstructorModifiers.java
     7.9   */
    7.10  
    7.11  public class BadConstructorModifiers {
     8.1 --- a/test/tools/javac/FloatingPointChanges/BadConstructorModifiers.out	Tue Jul 08 18:06:19 2008 -0700
     8.2 +++ b/test/tools/javac/FloatingPointChanges/BadConstructorModifiers.out	Thu Jul 10 11:25:23 2008 -0700
     8.3 @@ -1,4 +1,2 @@
     8.4 -BadConstructorModifiers.java:12: modifier strictfp not allowed here
     8.5 -    strictfp BadConstructorModifiers (double abra) { }
     8.6 -             ^
     8.7 +BadConstructorModifiers.java:12:14: compiler.err.mod.not.allowed.here: strictfp
     8.8  1 error
     9.1 --- a/test/tools/javac/FloatingPointChanges/BadConstructorModifiers.sh	Tue Jul 08 18:06:19 2008 -0700
     9.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     9.3 @@ -1,82 +0,0 @@
     9.4 -#!/bin/sh
     9.5 -
     9.6 -#
     9.7 -# Copyright 1999-2002 Sun Microsystems, Inc.  All Rights Reserved.
     9.8 -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     9.9 -#
    9.10 -# This code is free software; you can redistribute it and/or modify it
    9.11 -# under the terms of the GNU General Public License version 2 only, as
    9.12 -# published by the Free Software Foundation.
    9.13 -#
    9.14 -# This code is distributed in the hope that it will be useful, but WITHOUT
    9.15 -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
    9.16 -# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
    9.17 -# version 2 for more details (a copy is included in the LICENSE file that
    9.18 -# accompanied this code).
    9.19 -#
    9.20 -# You should have received a copy of the GNU General Public License version
    9.21 -# 2 along with this work; if not, write to the Free Software Foundation,
    9.22 -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
    9.23 -#
    9.24 -# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
    9.25 -# CA 95054 USA or visit www.sun.com if you need additional information or
    9.26 -# have any questions.
    9.27 -#
    9.28 -
    9.29 -
    9.30 -if [ "${TESTSRC}" = "" ]
    9.31 -then
    9.32 -  echo "TESTSRC not set.  Test cannot execute.  Failed."
    9.33 -  exit 1
    9.34 -fi
    9.35 -echo "TESTSRC=${TESTSRC}"
    9.36 -if [ "${TESTJAVA}" = "" ]
    9.37 -then
    9.38 -  echo "TESTJAVA not set.  Test cannot execute.  Failed."
    9.39 -  exit 1
    9.40 -fi
    9.41 -echo "TESTJAVA=${TESTJAVA}"
    9.42 -if [ "${TESTCLASSES}" = "" ]
    9.43 -then
    9.44 -  echo "TESTCLASSES not set.  Test cannot execute.  Failed."
    9.45 -  exit 1
    9.46 -fi
    9.47 -echo "TESTCLASSES=${TESTCLASSES}"
    9.48 -echo "CLASSPATH=${CLASSPATH}"
    9.49 -
    9.50 -# set platform-dependent variables
    9.51 -OS=`uname -s`
    9.52 -case "$OS" in
    9.53 -  SunOS | Linux )
    9.54 -    NULL=/dev/null
    9.55 -    PS=":"
    9.56 -    FS="/"
    9.57 -    ;;
    9.58 -  Windows* )
    9.59 -    NULL=NUL
    9.60 -    PS=";"
    9.61 -    FS="\\"
    9.62 -    ;;
    9.63 -  * )
    9.64 -    echo "Unrecognized system!"
    9.65 -    exit 1;
    9.66 -    ;;
    9.67 -esac
    9.68 -
    9.69 -TMP1=OUTPUT.txt
    9.70 -
    9.71 -cp "${TESTSRC}${FS}BadConstructorModifiers.java" .
    9.72 -"${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} BadConstructorModifiers.java 2> ${TMP1}
    9.73 -cat ${TMP1}
    9.74 -
    9.75 -diff -c "${TESTSRC}${FS}BadConstructorModifiers.out" ${TMP1}
    9.76 -result=$?
    9.77 -rm ${TMP1}
    9.78 -
    9.79 -if [ $result -eq 0 ]
    9.80 -then
    9.81 -  echo "Passed"
    9.82 -else
    9.83 -  echo "Failed"
    9.84 -fi
    9.85 -exit $result
    10.1 --- a/test/tools/javac/InnerNamedConstant_2.java	Tue Jul 08 18:06:19 2008 -0700
    10.2 +++ b/test/tools/javac/InnerNamedConstant_2.java	Thu Jul 10 11:25:23 2008 -0700
    10.3 @@ -4,7 +4,7 @@
    10.4   * @summary Verify rejection of illegal static variables in inner classes.
    10.5   * @author William Maddox (maddox)
    10.6   *
    10.7 - * @run shell InnerNamedConstant_2.sh
    10.8 + * @compile/fail/ref=InnerNamedConstant_2.out -XDrawDiagnostics -XDstdout InnerNamedConstant_2.java
    10.9   */
   10.10  
   10.11  public class InnerNamedConstant_2 {
    11.1 --- a/test/tools/javac/InnerNamedConstant_2.out	Tue Jul 08 18:06:19 2008 -0700
    11.2 +++ b/test/tools/javac/InnerNamedConstant_2.out	Thu Jul 10 11:25:23 2008 -0700
    11.3 @@ -1,13 +1,5 @@
    11.4 -InnerNamedConstant_2.java:22: inner classes cannot have static declarations
    11.5 -        static int x = 1;                  // ERROR - static not final
    11.6 -                   ^
    11.7 -InnerNamedConstant_2.java:23: inner classes cannot have static declarations
    11.8 -        static final String z;             // ERROR - static blank final
    11.9 -                            ^
   11.10 -InnerNamedConstant_2.java:25: cannot assign a value to final variable z
   11.11 -            z = "foobar";                  // Error may be reported here. See 4278961.
   11.12 -            ^
   11.13 -InnerNamedConstant_2.java:34: inner classes cannot have static declarations
   11.14 -        static final int y = Inner1.x * 5; // ERROR - initializer not constant
   11.15 -                         ^
   11.16 +InnerNamedConstant_2.java:22:20: compiler.err.icls.cant.have.static.decl
   11.17 +InnerNamedConstant_2.java:23:29: compiler.err.icls.cant.have.static.decl
   11.18 +InnerNamedConstant_2.java:25:13: compiler.err.cant.assign.val.to.final.var: z
   11.19 +InnerNamedConstant_2.java:34:26: compiler.err.icls.cant.have.static.decl
   11.20  4 errors
    12.1 --- a/test/tools/javac/InnerNamedConstant_2.sh	Tue Jul 08 18:06:19 2008 -0700
    12.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.3 @@ -1,82 +0,0 @@
    12.4 -#!/bin/sh
    12.5 -
    12.6 -#
    12.7 -# Copyright 1999-2002 Sun Microsystems, Inc.  All Rights Reserved.
    12.8 -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    12.9 -#
   12.10 -# This code is free software; you can redistribute it and/or modify it
   12.11 -# under the terms of the GNU General Public License version 2 only, as
   12.12 -# published by the Free Software Foundation.
   12.13 -#
   12.14 -# This code is distributed in the hope that it will be useful, but WITHOUT
   12.15 -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   12.16 -# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   12.17 -# version 2 for more details (a copy is included in the LICENSE file that
   12.18 -# accompanied this code).
   12.19 -#
   12.20 -# You should have received a copy of the GNU General Public License version
   12.21 -# 2 along with this work; if not, write to the Free Software Foundation,
   12.22 -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   12.23 -#
   12.24 -# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   12.25 -# CA 95054 USA or visit www.sun.com if you need additional information or
   12.26 -# have any questions.
   12.27 -#
   12.28 -
   12.29 -
   12.30 -if [ "${TESTSRC}" = "" ]
   12.31 -then
   12.32 -  echo "TESTSRC not set.  Test cannot execute.  Failed."
   12.33 -  exit 1
   12.34 -fi
   12.35 -echo "TESTSRC=${TESTSRC}"
   12.36 -if [ "${TESTJAVA}" = "" ]
   12.37 -then
   12.38 -  echo "TESTJAVA not set.  Test cannot execute.  Failed."
   12.39 -  exit 1
   12.40 -fi
   12.41 -echo "TESTJAVA=${TESTJAVA}"
   12.42 -if [ "${TESTCLASSES}" = "" ]
   12.43 -then
   12.44 -  echo "TESTCLASSES not set.  Test cannot execute.  Failed."
   12.45 -  exit 1
   12.46 -fi
   12.47 -echo "TESTCLASSES=${TESTCLASSES}"
   12.48 -echo "CLASSPATH=${CLASSPATH}"
   12.49 -
   12.50 -# set platform-dependent variables
   12.51 -OS=`uname -s`
   12.52 -case "$OS" in
   12.53 -  SunOS | Linux )
   12.54 -    NULL=/dev/null
   12.55 -    PS=":"
   12.56 -    FS="/"
   12.57 -    ;;
   12.58 -  Windows* )
   12.59 -    NULL=NUL
   12.60 -    PS=";"
   12.61 -    FS="\\"
   12.62 -    ;;
   12.63 -  * )
   12.64 -    echo "Unrecognized system!"
   12.65 -    exit 1;
   12.66 -    ;;
   12.67 -esac
   12.68 -
   12.69 -TMP1=OUTPUT.txt
   12.70 -
   12.71 -cp "${TESTSRC}${FS}InnerNamedConstant_2.java" .
   12.72 -"${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} InnerNamedConstant_2.java 2> ${TMP1}
   12.73 -cat ${TMP1}
   12.74 -
   12.75 -diff -c "${TESTSRC}${FS}InnerNamedConstant_2.out" ${TMP1}
   12.76 -result=$?
   12.77 -rm ${TMP1}
   12.78 -
   12.79 -if [ $result -eq 0 ]
   12.80 -then
   12.81 -  echo "Passed"
   12.82 -else
   12.83 -  echo "Failed"
   12.84 -fi
   12.85 -exit $result
    13.1 --- a/test/tools/javac/LocalClasses_2.java	Tue Jul 08 18:06:19 2008 -0700
    13.2 +++ b/test/tools/javac/LocalClasses_2.java	Thu Jul 10 11:25:23 2008 -0700
    13.3 @@ -4,7 +4,7 @@
    13.4   * @summary Verify that a local class cannot be redefined within its scope.
    13.5   * @author William Maddox (maddox)
    13.6   *
    13.7 - * @run shell LocalClasses_2.sh
    13.8 + * @compile/fail/ref=LocalClasses_2.out -XDrawDiagnostics -XDstdout LocalClasses_2.java
    13.9   */
   13.10  
   13.11  class LocalClasses_2 {
    14.1 --- a/test/tools/javac/LocalClasses_2.out	Tue Jul 08 18:06:19 2008 -0700
    14.2 +++ b/test/tools/javac/LocalClasses_2.out	Thu Jul 10 11:25:23 2008 -0700
    14.3 @@ -1,4 +1,2 @@
    14.4 -LocalClasses_2.java:15: Local is already defined in foo()
    14.5 -            class Local { }                     // ERROR
    14.6 -            ^
    14.7 +LocalClasses_2.java:15:13: compiler.err.already.defined: Local, foo()
    14.8  1 error
    15.1 --- a/test/tools/javac/LocalClasses_2.sh	Tue Jul 08 18:06:19 2008 -0700
    15.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.3 @@ -1,82 +0,0 @@
    15.4 -#!/bin/sh
    15.5 -
    15.6 -#
    15.7 -# Copyright 1999-2002 Sun Microsystems, Inc.  All Rights Reserved.
    15.8 -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    15.9 -#
   15.10 -# This code is free software; you can redistribute it and/or modify it
   15.11 -# under the terms of the GNU General Public License version 2 only, as
   15.12 -# published by the Free Software Foundation.
   15.13 -#
   15.14 -# This code is distributed in the hope that it will be useful, but WITHOUT
   15.15 -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   15.16 -# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   15.17 -# version 2 for more details (a copy is included in the LICENSE file that
   15.18 -# accompanied this code).
   15.19 -#
   15.20 -# You should have received a copy of the GNU General Public License version
   15.21 -# 2 along with this work; if not, write to the Free Software Foundation,
   15.22 -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   15.23 -#
   15.24 -# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   15.25 -# CA 95054 USA or visit www.sun.com if you need additional information or
   15.26 -# have any questions.
   15.27 -#
   15.28 -
   15.29 -
   15.30 -if [ "${TESTSRC}" = "" ]
   15.31 -then
   15.32 -  echo "TESTSRC not set.  Test cannot execute.  Failed."
   15.33 -  exit 1
   15.34 -fi
   15.35 -echo "TESTSRC=${TESTSRC}"
   15.36 -if [ "${TESTJAVA}" = "" ]
   15.37 -then
   15.38 -  echo "TESTJAVA not set.  Test cannot execute.  Failed."
   15.39 -  exit 1
   15.40 -fi
   15.41 -echo "TESTJAVA=${TESTJAVA}"
   15.42 -if [ "${TESTCLASSES}" = "" ]
   15.43 -then
   15.44 -  echo "TESTCLASSES not set.  Test cannot execute.  Failed."
   15.45 -  exit 1
   15.46 -fi
   15.47 -echo "TESTCLASSES=${TESTCLASSES}"
   15.48 -echo "CLASSPATH=${CLASSPATH}"
   15.49 -
   15.50 -# set platform-dependent variables
   15.51 -OS=`uname -s`
   15.52 -case "$OS" in
   15.53 -  SunOS | Linux )
   15.54 -    NULL=/dev/null
   15.55 -    PS=":"
   15.56 -    FS="/"
   15.57 -    ;;
   15.58 -  Windows* )
   15.59 -    NULL=NUL
   15.60 -    PS=";"
   15.61 -    FS="\\"
   15.62 -    ;;
   15.63 -  * )
   15.64 -    echo "Unrecognized system!"
   15.65 -    exit 1;
   15.66 -    ;;
   15.67 -esac
   15.68 -
   15.69 -TMP1=OUTPUT.txt
   15.70 -
   15.71 -cp "${TESTSRC}${FS}LocalClasses_2.java" .
   15.72 -"${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} LocalClasses_2.java 2> ${TMP1}
   15.73 -cat ${TMP1}
   15.74 -
   15.75 -diff -c "${TESTSRC}${FS}LocalClasses_2.out" ${TMP1}
   15.76 -result=$?
   15.77 -rm ${TMP1}
   15.78 -
   15.79 -if [ $result -eq 0 ]
   15.80 -then
   15.81 -  echo "Passed"
   15.82 -else
   15.83 -  echo "Failed"
   15.84 -fi
   15.85 -exit $result
    16.1 --- a/test/tools/javac/NameCollision.java	Tue Jul 08 18:06:19 2008 -0700
    16.2 +++ b/test/tools/javac/NameCollision.java	Thu Jul 10 11:25:23 2008 -0700
    16.3 @@ -4,7 +4,7 @@
    16.4   * @summary Interface names for classes in the same scope should not
    16.5   * cause the compiler to crash.
    16.6   *
    16.7 - * @run shell NameCollision.sh
    16.8 + * @compile/fail/ref=NameCollision.out -XDrawDiagnostics -XDstdout NameCollision.java
    16.9   */
   16.10  
   16.11  // The test fails if the compiler crashes.
    17.1 --- a/test/tools/javac/NameCollision.out	Tue Jul 08 18:06:19 2008 -0700
    17.2 +++ b/test/tools/javac/NameCollision.out	Thu Jul 10 11:25:23 2008 -0700
    17.3 @@ -1,4 +1,2 @@
    17.4 -NameCollision.java:13: interface expected here
    17.5 -    class Runnable implements Runnable { } // ERROR
    17.6 -                              ^
    17.7 +NameCollision.java:13:31: compiler.err.intf.expected.here
    17.8  1 error
    18.1 --- a/test/tools/javac/NameCollision.sh	Tue Jul 08 18:06:19 2008 -0700
    18.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    18.3 @@ -1,83 +0,0 @@
    18.4 -#!/bin/sh
    18.5 -
    18.6 -#
    18.7 -# Copyright 1999-2002 Sun Microsystems, Inc.  All Rights Reserved.
    18.8 -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    18.9 -#
   18.10 -# This code is free software; you can redistribute it and/or modify it
   18.11 -# under the terms of the GNU General Public License version 2 only, as
   18.12 -# published by the Free Software Foundation.
   18.13 -#
   18.14 -# This code is distributed in the hope that it will be useful, but WITHOUT
   18.15 -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   18.16 -# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   18.17 -# version 2 for more details (a copy is included in the LICENSE file that
   18.18 -# accompanied this code).
   18.19 -#
   18.20 -# You should have received a copy of the GNU General Public License version
   18.21 -# 2 along with this work; if not, write to the Free Software Foundation,
   18.22 -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   18.23 -#
   18.24 -# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   18.25 -# CA 95054 USA or visit www.sun.com if you need additional information or
   18.26 -# have any questions.
   18.27 -#
   18.28 -
   18.29 -
   18.30 -if [ "${TESTSRC}" = "" ]
   18.31 -then
   18.32 -  echo "TESTSRC not set.  Test cannot execute.  Failed."
   18.33 -  exit 1
   18.34 -fi
   18.35 -echo "TESTSRC=${TESTSRC}"
   18.36 -if [ "${TESTJAVA}" = "" ]
   18.37 -then
   18.38 -  echo "TESTJAVA not set.  Test cannot execute.  Failed."
   18.39 -  exit 1
   18.40 -fi
   18.41 -echo "TESTJAVA=${TESTJAVA}"
   18.42 -if [ "${TESTCLASSES}" = "" ]
   18.43 -then
   18.44 -  echo "TESTCLASSES not set.  Test cannot execute.  Failed."
   18.45 -  exit 1
   18.46 -fi
   18.47 -echo "TESTCLASSES=${TESTCLASSES}"
   18.48 -echo "CLASSPATH=${CLASSPATH}"
   18.49 -
   18.50 -# set platform-dependent variables
   18.51 -OS=`uname -s`
   18.52 -case "$OS" in
   18.53 -  SunOS | Linux )
   18.54 -    NULL=/dev/null
   18.55 -    PS=":"
   18.56 -    FS="/"
   18.57 -    ;;
   18.58 -  Windows* )
   18.59 -    NULL=NUL
   18.60 -    PS=";"
   18.61 -    FS="\\"
   18.62 -    ;;
   18.63 -  * )
   18.64 -    echo "Unrecognized system!"
   18.65 -    exit 1;
   18.66 -    ;;
   18.67 -esac
   18.68 -
   18.69 -TMP1=OUTPUT.txt
   18.70 -
   18.71 -
   18.72 -cp "${TESTSRC}${FS}NameCollision.java" .
   18.73 -"${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} NameCollision.java 2> ${TMP1}
   18.74 -cat ${TMP1}
   18.75 -
   18.76 -diff -c "${TESTSRC}${FS}NameCollision.out" ${TMP1}
   18.77 -result=$?
   18.78 -rm ${TMP1}
   18.79 -
   18.80 -if [ $result -eq 0 ]
   18.81 -then
   18.82 -  echo "Passed"
   18.83 -else
   18.84 -  echo "Failed"
   18.85 -fi
   18.86 -exit $result
    19.1 --- a/test/tools/javac/NestedInnerClassNames.java	Tue Jul 08 18:06:19 2008 -0700
    19.2 +++ b/test/tools/javac/NestedInnerClassNames.java	Thu Jul 10 11:25:23 2008 -0700
    19.3 @@ -4,7 +4,7 @@
    19.4   * @summary Verify that an inner class cannot have the same simple name as an enclosing one.
    19.5   * @author William Maddox (maddox)
    19.6   *
    19.7 - * @run shell NestedInnerClassNames.sh
    19.8 + * @compile/fail/ref=NestedInnerClassNames.out -XDrawDiagnostics -XDstdout NestedInnerClassNames.java
    19.9   */
   19.10  
   19.11  /*
    20.1 --- a/test/tools/javac/NestedInnerClassNames.out	Tue Jul 08 18:06:19 2008 -0700
    20.2 +++ b/test/tools/javac/NestedInnerClassNames.out	Thu Jul 10 11:25:23 2008 -0700
    20.3 @@ -1,52 +1,18 @@
    20.4 -NestedInnerClassNames.java:16: NestedInnerClassNames is already defined in unnamed package
    20.5 -    class NestedInnerClassNames {}              // ERROR
    20.6 -    ^
    20.7 -NestedInnerClassNames.java:23: NestedInnerClassNames.foo is already defined in NestedInnerClassNames
    20.8 -        class foo { }                           // ERROR
    20.9 -        ^
   20.10 -NestedInnerClassNames.java:34: NestedInnerClassNames is already defined in unnamed package
   20.11 -        class NestedInnerClassNames {}          // ERROR
   20.12 -        ^
   20.13 -NestedInnerClassNames.java:45: NestedInnerClassNames.baz is already defined in NestedInnerClassNames
   20.14 -        class baz {                             // ERROR
   20.15 -        ^
   20.16 -NestedInnerClassNames.java:46: NestedInnerClassNames.baz.baz is already defined in NestedInnerClassNames.baz
   20.17 -            class baz { }                       // ERROR
   20.18 -            ^
   20.19 -NestedInnerClassNames.java:59: NestedInnerClassNames.foo$bar is already defined in NestedInnerClassNames
   20.20 -        class foo$bar {                         // ERROR
   20.21 -        ^
   20.22 -NestedInnerClassNames.java:76: NestedInnerClassNames.$bar is already defined in NestedInnerClassNames
   20.23 -            class $bar { }                      // ERROR
   20.24 -            ^
   20.25 -NestedInnerClassNames.java:90: NestedInnerClassNames.bar$bar.bar is already defined in NestedInnerClassNames.bar$bar
   20.26 -            class bar{ }                       // ERROR
   20.27 -            ^
   20.28 -NestedInnerClassNames.java:109: duplicate class: NestedInnerClassNames.foo.foo
   20.29 -    class foo$foo { }                           // ERROR
   20.30 -    ^
   20.31 -NestedInnerClassNames.java:19: NestedInnerClassNames is already defined in unnamed package
   20.32 -        class NestedInnerClassNames {}          // ERROR
   20.33 -        ^
   20.34 -NestedInnerClassNames.java:28: foo is already defined in m2()
   20.35 -            class foo { }                       // ERROR
   20.36 -            ^
   20.37 -NestedInnerClassNames.java:40: NestedInnerClassNames is already defined in unnamed package
   20.38 -            class NestedInnerClassNames {}      // ERROR
   20.39 -            ^
   20.40 -NestedInnerClassNames.java:52: baz is already defined in m4()
   20.41 -            class baz {                         // ERROR
   20.42 -            ^
   20.43 -NestedInnerClassNames.java:53: baz.baz is already defined in baz
   20.44 -                class baz { }                   // ERROR
   20.45 -                ^
   20.46 -NestedInnerClassNames.java:67: foo$bar is already defined in m5()
   20.47 -            class foo$bar {                     // ERROR
   20.48 -            ^
   20.49 -NestedInnerClassNames.java:83: $bar is already defined in m6()
   20.50 -                class $bar { }                  // ERROR
   20.51 -                ^
   20.52 -NestedInnerClassNames.java:97: bar$bar.bar is already defined in bar$bar
   20.53 -                class bar{ }                   // ERROR
   20.54 -                ^
   20.55 +NestedInnerClassNames.java:16:5: compiler.err.already.defined: NestedInnerClassNames, unnamed package
   20.56 +NestedInnerClassNames.java:23:9: compiler.err.already.defined: NestedInnerClassNames.foo, NestedInnerClassNames
   20.57 +NestedInnerClassNames.java:34:9: compiler.err.already.defined: NestedInnerClassNames, unnamed package
   20.58 +NestedInnerClassNames.java:45:9: compiler.err.already.defined: NestedInnerClassNames.baz, NestedInnerClassNames
   20.59 +NestedInnerClassNames.java:46:13: compiler.err.already.defined: NestedInnerClassNames.baz.baz, NestedInnerClassNames.baz
   20.60 +NestedInnerClassNames.java:59:9: compiler.err.already.defined: NestedInnerClassNames.foo$bar, NestedInnerClassNames
   20.61 +NestedInnerClassNames.java:76:13: compiler.err.already.defined: NestedInnerClassNames.$bar, NestedInnerClassNames
   20.62 +NestedInnerClassNames.java:90:13: compiler.err.already.defined: NestedInnerClassNames.bar$bar.bar, NestedInnerClassNames.bar$bar
   20.63 +NestedInnerClassNames.java:109:5: compiler.err.duplicate.class: NestedInnerClassNames.foo.foo
   20.64 +NestedInnerClassNames.java:19:9: compiler.err.already.defined: NestedInnerClassNames, unnamed package
   20.65 +NestedInnerClassNames.java:28:13: compiler.err.already.defined: foo, m2()
   20.66 +NestedInnerClassNames.java:40:13: compiler.err.already.defined: NestedInnerClassNames, unnamed package
   20.67 +NestedInnerClassNames.java:52:13: compiler.err.already.defined: baz, m4()
   20.68 +NestedInnerClassNames.java:53:17: compiler.err.already.defined: baz.baz, baz
   20.69 +NestedInnerClassNames.java:67:13: compiler.err.already.defined: foo$bar, m5()
   20.70 +NestedInnerClassNames.java:83:17: compiler.err.already.defined: $bar, m6()
   20.71 +NestedInnerClassNames.java:97:17: compiler.err.already.defined: bar$bar.bar, bar$bar
   20.72  17 errors
    21.1 --- a/test/tools/javac/NestedInnerClassNames.sh	Tue Jul 08 18:06:19 2008 -0700
    21.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    21.3 @@ -1,82 +0,0 @@
    21.4 -#!/bin/sh
    21.5 -
    21.6 -#
    21.7 -# Copyright 1999-2002 Sun Microsystems, Inc.  All Rights Reserved.
    21.8 -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    21.9 -#
   21.10 -# This code is free software; you can redistribute it and/or modify it
   21.11 -# under the terms of the GNU General Public License version 2 only, as
   21.12 -# published by the Free Software Foundation.
   21.13 -#
   21.14 -# This code is distributed in the hope that it will be useful, but WITHOUT
   21.15 -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   21.16 -# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   21.17 -# version 2 for more details (a copy is included in the LICENSE file that
   21.18 -# accompanied this code).
   21.19 -#
   21.20 -# You should have received a copy of the GNU General Public License version
   21.21 -# 2 along with this work; if not, write to the Free Software Foundation,
   21.22 -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   21.23 -#
   21.24 -# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   21.25 -# CA 95054 USA or visit www.sun.com if you need additional information or
   21.26 -# have any questions.
   21.27 -#
   21.28 -
   21.29 -
   21.30 -if [ "${TESTSRC}" = "" ]
   21.31 -then
   21.32 -  echo "TESTSRC not set.  Test cannot execute.  Failed."
   21.33 -  exit 1
   21.34 -fi
   21.35 -echo "TESTSRC=${TESTSRC}"
   21.36 -if [ "${TESTJAVA}" = "" ]
   21.37 -then
   21.38 -  echo "TESTJAVA not set.  Test cannot execute.  Failed."
   21.39 -  exit 1
   21.40 -fi
   21.41 -echo "TESTJAVA=${TESTJAVA}"
   21.42 -if [ "${TESTCLASSES}" = "" ]
   21.43 -then
   21.44 -  echo "TESTCLASSES not set.  Test cannot execute.  Failed."
   21.45 -  exit 1
   21.46 -fi
   21.47 -echo "TESTCLASSES=${TESTCLASSES}"
   21.48 -echo "CLASSPATH=${CLASSPATH}"
   21.49 -
   21.50 -# set platform-dependent variables
   21.51 -OS=`uname -s`
   21.52 -case "$OS" in
   21.53 -  SunOS | Linux )
   21.54 -    NULL=/dev/null
   21.55 -    PS=":"
   21.56 -    FS="/"
   21.57 -    ;;
   21.58 -  Windows* )
   21.59 -    NULL=NUL
   21.60 -    PS=";"
   21.61 -    FS="\\"
   21.62 -    ;;
   21.63 -  * )
   21.64 -    echo "Unrecognized system!"
   21.65 -    exit 1;
   21.66 -    ;;
   21.67 -esac
   21.68 -
   21.69 -TMP1=OUTPUT.txt
   21.70 -
   21.71 -cp "${TESTSRC}${FS}NestedInnerClassNames.java" .
   21.72 -"${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} NestedInnerClassNames.java 2> ${TMP1}
   21.73 -cat ${TMP1}
   21.74 -
   21.75 -diff -c "${TESTSRC}${FS}NestedInnerClassNames.out" ${TMP1}
   21.76 -result=$?
   21.77 -rm ${TMP1}
   21.78 -
   21.79 -if [ $result -eq 0 ]
   21.80 -then
   21.81 -  echo "Passed"
   21.82 -else
   21.83 -  echo "Failed"
   21.84 -fi
   21.85 -exit $result
    22.1 --- a/test/tools/javac/NonStaticFieldExpr1.java	Tue Jul 08 18:06:19 2008 -0700
    22.2 +++ b/test/tools/javac/NonStaticFieldExpr1.java	Thu Jul 10 11:25:23 2008 -0700
    22.3 @@ -3,7 +3,7 @@
    22.4     @author dps
    22.5     @summary field: instance access through types is not allowed
    22.6  
    22.7 -   @run shell NonStaticFieldExpr1.sh
    22.8 +   @compile/fail/ref=NonStaticFieldExpr1.out -XDrawDiagnostics -XDstdout NonStaticFieldExpr1.java
    22.9  */
   22.10  class NonStaticFieldExpr1 {
   22.11    public int x;
    23.1 --- a/test/tools/javac/NonStaticFieldExpr1.out	Tue Jul 08 18:06:19 2008 -0700
    23.2 +++ b/test/tools/javac/NonStaticFieldExpr1.out	Thu Jul 10 11:25:23 2008 -0700
    23.3 @@ -1,4 +1,2 @@
    23.4 -NonStaticFieldExpr1.java:10: non-static variable x cannot be referenced from a static context
    23.5 -  int y = NonStaticFieldExpr1.x;                // SHOULD BE ERROR
    23.6 -                             ^
    23.7 +NonStaticFieldExpr1.java:10:30: compiler.err.non-static.cant.be.ref: (- compiler.misc.kindname.variable), x
    23.8  1 error
    24.1 --- a/test/tools/javac/NonStaticFieldExpr1.sh	Tue Jul 08 18:06:19 2008 -0700
    24.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    24.3 @@ -1,85 +0,0 @@
    24.4 -#!/bin/sh
    24.5 -
    24.6 -#
    24.7 -# Copyright 1999-2002 Sun Microsystems, Inc.  All Rights Reserved.
    24.8 -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    24.9 -#
   24.10 -# This code is free software; you can redistribute it and/or modify it
   24.11 -# under the terms of the GNU General Public License version 2 only, as
   24.12 -# published by the Free Software Foundation.
   24.13 -#
   24.14 -# This code is distributed in the hope that it will be useful, but WITHOUT
   24.15 -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   24.16 -# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   24.17 -# version 2 for more details (a copy is included in the LICENSE file that
   24.18 -# accompanied this code).
   24.19 -#
   24.20 -# You should have received a copy of the GNU General Public License version
   24.21 -# 2 along with this work; if not, write to the Free Software Foundation,
   24.22 -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   24.23 -#
   24.24 -# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   24.25 -# CA 95054 USA or visit www.sun.com if you need additional information or
   24.26 -# have any questions.
   24.27 -#
   24.28 -
   24.29 -
   24.30 -if [ "${TESTSRC}" = "" ]
   24.31 -then
   24.32 -  echo "TESTSRC not set.  Test cannot execute.  Failed."
   24.33 -  exit 1
   24.34 -fi
   24.35 -echo "TESTSRC=${TESTSRC}"
   24.36 -if [ "${TESTJAVA}" = "" ]
   24.37 -then
   24.38 -  echo "TESTJAVA not set.  Test cannot execute.  Failed."
   24.39 -  exit 1
   24.40 -fi
   24.41 -echo "TESTJAVA=${TESTJAVA}"
   24.42 -if [ "${TESTCLASSES}" = "" ]
   24.43 -then
   24.44 -  echo "TESTCLASSES not set.  Test cannot execute.  Failed."
   24.45 -  exit 1
   24.46 -fi
   24.47 -echo "TESTCLASSES=${TESTCLASSES}"
   24.48 -echo "CLASSPATH=${CLASSPATH}"
   24.49 -
   24.50 -# set platform-dependent variables
   24.51 -OS=`uname -s`
   24.52 -case "$OS" in
   24.53 -  SunOS | Linux )
   24.54 -    NULL=/dev/null
   24.55 -    PS=":"
   24.56 -    FS="/"
   24.57 -    ;;
   24.58 -  Windows* )
   24.59 -    NULL=NUL
   24.60 -    PS=";"
   24.61 -    FS="\\"
   24.62 -    ;;
   24.63 -  * )
   24.64 -    echo "Unrecognized system!"
   24.65 -    exit 1;
   24.66 -    ;;
   24.67 -esac
   24.68 -
   24.69 -TMP1=OUTPUT.txt
   24.70 -
   24.71 -cp "${TESTSRC}${FS}NonStaticFieldExpr1.java" .
   24.72 -"${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} NonStaticFieldExpr1.java 2> ${TMP1}
   24.73 -cat ${TMP1}
   24.74 -
   24.75 -diff -c "${TESTSRC}${FS}NonStaticFieldExpr1.out" ${TMP1}
   24.76 -result=$?
   24.77 -rm ${TMP1}
   24.78 -
   24.79 -if [ $result -eq 0 ]
   24.80 -then
   24.81 -  echo "Passed"
   24.82 -else
   24.83 -  echo "Failed"
   24.84 -fi
   24.85 -exit $result
   24.86 -
   24.87 -
   24.88 -
    25.1 --- a/test/tools/javac/NonStaticFieldExpr2.java	Tue Jul 08 18:06:19 2008 -0700
    25.2 +++ b/test/tools/javac/NonStaticFieldExpr2.java	Thu Jul 10 11:25:23 2008 -0700
    25.3 @@ -3,7 +3,7 @@
    25.4     @author dps
    25.5     @summary method: instance access through types is not allowed
    25.6  
    25.7 -   @run shell NonStaticFieldExpr2.sh
    25.8 +   @compile/fail/ref=NonStaticFieldExpr2.out -XDrawDiagnostics -XDstdout NonStaticFieldExpr2.java
    25.9  */
   25.10  
   25.11  class NonStaticFieldExpr2 {
    26.1 --- a/test/tools/javac/NonStaticFieldExpr2.out	Tue Jul 08 18:06:19 2008 -0700
    26.2 +++ b/test/tools/javac/NonStaticFieldExpr2.out	Thu Jul 10 11:25:23 2008 -0700
    26.3 @@ -1,4 +1,2 @@
    26.4 -NonStaticFieldExpr2.java:14: non-static variable x cannot be referenced from a static context
    26.5 -     int z = NonStaticFieldExpr2.x;     // SHOULD BE ERROR
    26.6 -                                ^
    26.7 +NonStaticFieldExpr2.java:14:33: compiler.err.non-static.cant.be.ref: (- compiler.misc.kindname.variable), x
    26.8  1 error
    27.1 --- a/test/tools/javac/NonStaticFieldExpr2.sh	Tue Jul 08 18:06:19 2008 -0700
    27.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    27.3 @@ -1,82 +0,0 @@
    27.4 -#!/bin/sh
    27.5 -
    27.6 -#
    27.7 -# Copyright 1999-2002 Sun Microsystems, Inc.  All Rights Reserved.
    27.8 -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    27.9 -#
   27.10 -# This code is free software; you can redistribute it and/or modify it
   27.11 -# under the terms of the GNU General Public License version 2 only, as
   27.12 -# published by the Free Software Foundation.
   27.13 -#
   27.14 -# This code is distributed in the hope that it will be useful, but WITHOUT
   27.15 -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   27.16 -# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   27.17 -# version 2 for more details (a copy is included in the LICENSE file that
   27.18 -# accompanied this code).
   27.19 -#
   27.20 -# You should have received a copy of the GNU General Public License version
   27.21 -# 2 along with this work; if not, write to the Free Software Foundation,
   27.22 -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   27.23 -#
   27.24 -# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   27.25 -# CA 95054 USA or visit www.sun.com if you need additional information or
   27.26 -# have any questions.
   27.27 -#
   27.28 -
   27.29 -
   27.30 -if [ "${TESTSRC}" = "" ]
   27.31 -then
   27.32 -  echo "TESTSRC not set.  Test cannot execute.  Failed."
   27.33 -  exit 1
   27.34 -fi
   27.35 -echo "TESTSRC=${TESTSRC}"
   27.36 -if [ "${TESTJAVA}" = "" ]
   27.37 -then
   27.38 -  echo "TESTJAVA not set.  Test cannot execute.  Failed."
   27.39 -  exit 1
   27.40 -fi
   27.41 -echo "TESTJAVA=${TESTJAVA}"
   27.42 -if [ "${TESTCLASSES}" = "" ]
   27.43 -then
   27.44 -  echo "TESTCLASSES not set.  Test cannot execute.  Failed."
   27.45 -  exit 1
   27.46 -fi
   27.47 -echo "TESTCLASSES=${TESTCLASSES}"
   27.48 -echo "CLASSPATH=${CLASSPATH}"
   27.49 -
   27.50 -# set platform-dependent variables
   27.51 -OS=`uname -s`
   27.52 -case "$OS" in
   27.53 -  SunOS | Linux )
   27.54 -    NULL=/dev/null
   27.55 -    PS=":"
   27.56 -    FS="/"
   27.57 -    ;;
   27.58 -  Windows* )
   27.59 -    NULL=NUL
   27.60 -    PS=";"
   27.61 -    FS="\\"
   27.62 -    ;;
   27.63 -  * )
   27.64 -    echo "Unrecognized system!"
   27.65 -    exit 1;
   27.66 -    ;;
   27.67 -esac
   27.68 -
   27.69 -TMP1=OUTPUT.txt
   27.70 -
   27.71 -cp "${TESTSRC}${FS}NonStaticFieldExpr2.java" .
   27.72 -"${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} NonStaticFieldExpr2.java 2> ${TMP1}
   27.73 -cat ${TMP1}
   27.74 -
   27.75 -diff -c "${TESTSRC}${FS}NonStaticFieldExpr2.out" ${TMP1}
   27.76 -result=$?
   27.77 -rm ${TMP1}
   27.78 -
   27.79 -if [ $result -eq 0 ]
   27.80 -then
   27.81 -  echo "Passed"
   27.82 -else
   27.83 -  echo "Failed"
   27.84 -fi
   27.85 -exit $result
    28.1 --- a/test/tools/javac/NonStaticFieldExpr3.java	Tue Jul 08 18:06:19 2008 -0700
    28.2 +++ b/test/tools/javac/NonStaticFieldExpr3.java	Thu Jul 10 11:25:23 2008 -0700
    28.3 @@ -3,7 +3,7 @@
    28.4     @author dps
    28.5     @summary class: instance access through types is not allowed
    28.6  
    28.7 -   @run shell NonStaticFieldExpr3.sh
    28.8 +   @compile/fail/ref=NonStaticFieldExpr3.out -XDrawDiagnostics -XDstdout NonStaticFieldExpr3.java
    28.9  */
   28.10  
   28.11  class NonStaticFieldExpr3 {
    29.1 --- a/test/tools/javac/NonStaticFieldExpr3.out	Tue Jul 08 18:06:19 2008 -0700
    29.2 +++ b/test/tools/javac/NonStaticFieldExpr3.out	Thu Jul 10 11:25:23 2008 -0700
    29.3 @@ -1,4 +1,2 @@
    29.4 -NonStaticFieldExpr3.java:14: non-static variable x cannot be referenced from a static context
    29.5 -  int a = NonStaticFieldExpr3.x;      // SHOULD BE ERROR
    29.6 -                             ^
    29.7 +NonStaticFieldExpr3.java:14:30: compiler.err.non-static.cant.be.ref: (- compiler.misc.kindname.variable), x
    29.8  1 error
    30.1 --- a/test/tools/javac/NonStaticFieldExpr3.sh	Tue Jul 08 18:06:19 2008 -0700
    30.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    30.3 @@ -1,82 +0,0 @@
    30.4 -#!/bin/sh
    30.5 -
    30.6 -#
    30.7 -# Copyright 1999-2002 Sun Microsystems, Inc.  All Rights Reserved.
    30.8 -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    30.9 -#
   30.10 -# This code is free software; you can redistribute it and/or modify it
   30.11 -# under the terms of the GNU General Public License version 2 only, as
   30.12 -# published by the Free Software Foundation.
   30.13 -#
   30.14 -# This code is distributed in the hope that it will be useful, but WITHOUT
   30.15 -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   30.16 -# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   30.17 -# version 2 for more details (a copy is included in the LICENSE file that
   30.18 -# accompanied this code).
   30.19 -#
   30.20 -# You should have received a copy of the GNU General Public License version
   30.21 -# 2 along with this work; if not, write to the Free Software Foundation,
   30.22 -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   30.23 -#
   30.24 -# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   30.25 -# CA 95054 USA or visit www.sun.com if you need additional information or
   30.26 -# have any questions.
   30.27 -#
   30.28 -
   30.29 -
   30.30 -if [ "${TESTSRC}" = "" ]
   30.31 -then
   30.32 -  echo "TESTSRC not set.  Test cannot execute.  Failed."
   30.33 -  exit 1
   30.34 -fi
   30.35 -echo "TESTSRC=${TESTSRC}"
   30.36 -if [ "${TESTJAVA}" = "" ]
   30.37 -then
   30.38 -  echo "TESTJAVA not set.  Test cannot execute.  Failed."
   30.39 -  exit 1
   30.40 -fi
   30.41 -echo "TESTJAVA=${TESTJAVA}"
   30.42 -if [ "${TESTCLASSES}" = "" ]
   30.43 -then
   30.44 -  echo "TESTCLASSES not set.  Test cannot execute.  Failed."
   30.45 -  exit 1
   30.46 -fi
   30.47 -echo "TESTCLASSES=${TESTCLASSES}"
   30.48 -echo "CLASSPATH=${CLASSPATH}"
   30.49 -
   30.50 -# set platform-dependent variables
   30.51 -OS=`uname -s`
   30.52 -case "$OS" in
   30.53 -  SunOS | Linux )
   30.54 -    NULL=/dev/null
   30.55 -    PS=":"
   30.56 -    FS="/"
   30.57 -    ;;
   30.58 -  Windows* )
   30.59 -    NULL=NUL
   30.60 -    PS=";"
   30.61 -    FS="\\"
   30.62 -    ;;
   30.63 -  * )
   30.64 -    echo "Unrecognized system!"
   30.65 -    exit 1;
   30.66 -    ;;
   30.67 -esac
   30.68 -
   30.69 -TMP1=OUTPUT.txt
   30.70 -
   30.71 -cp "${TESTSRC}${FS}NonStaticFieldExpr3.java" .
   30.72 -"${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} NonStaticFieldExpr3.java 2> ${TMP1}
   30.73 -cat ${TMP1}
   30.74 -
   30.75 -diff -c "${TESTSRC}${FS}NonStaticFieldExpr3.out" ${TMP1}
   30.76 -result=$?
   30.77 -rm ${TMP1}
   30.78 -
   30.79 -if [ $result -eq 0 ]
   30.80 -then
   30.81 -  echo "Passed"
   30.82 -else
   30.83 -  echo "Failed"
   30.84 -fi
   30.85 -exit $result
    31.1 --- a/test/tools/javac/QualifiedAccess/QualifiedAccess_1.java	Tue Jul 08 18:06:19 2008 -0700
    31.2 +++ b/test/tools/javac/QualifiedAccess/QualifiedAccess_1.java	Thu Jul 10 11:25:23 2008 -0700
    31.3 @@ -5,7 +5,9 @@
    31.4   * the type to which a component member belongs be accessible in qualified
    31.5   * names.
    31.6   *
    31.7 - * @run shell QualifiedAccess_1.sh
    31.8 + * @compile pack1/P1.java
    31.9 + * @compile pack1/P2.java
   31.10 + * @compile/fail/ref=QualifiedAccess_1.out -XDrawDiagnostics -XDstdout QualifiedAccess_1.java
   31.11   */
   31.12  
   31.13  import pack1.P1;
    32.1 --- a/test/tools/javac/QualifiedAccess/QualifiedAccess_1.out	Tue Jul 08 18:06:19 2008 -0700
    32.2 +++ b/test/tools/javac/QualifiedAccess/QualifiedAccess_1.out	Thu Jul 10 11:25:23 2008 -0700
    32.3 @@ -1,55 +1,19 @@
    32.4 -QualifiedAccess_1.java:22: pack1.P1.P3 is not public in pack1.P1; cannot be accessed from outside package
    32.5 -    P1.P3 bar;                                  // ERROR
    32.6 -      ^
    32.7 -QualifiedAccess_1.java:23: pack1.P1.P3 is not public in pack1.P1; cannot be accessed from outside package
    32.8 -    P1.P3.P4 baz;                               // ERROR
    32.9 -      ^
   32.10 -QualifiedAccess_1.java:24: pack1.P1.P3 is not public in pack1.P1; cannot be accessed from outside package
   32.11 -    P1.P3.P4.P5 quux;                           // ERROR
   32.12 -      ^
   32.13 -QualifiedAccess_1.java:27: pack1.P1.P3 is not public in pack1.P1; cannot be accessed from outside package
   32.14 -    P1.P3 m12() {return null;}                  // ERROR
   32.15 -      ^
   32.16 -QualifiedAccess_1.java:28: pack1.P1.P3 is not public in pack1.P1; cannot be accessed from outside package
   32.17 -    P1.P3.P4 m13() {return null;}               // ERROR
   32.18 -      ^
   32.19 -QualifiedAccess_1.java:29: pack1.P1.P3 is not public in pack1.P1; cannot be accessed from outside package
   32.20 -    P1.P3.P4.P5 m14() {return null;}            // ERROR
   32.21 -      ^
   32.22 -QualifiedAccess_1.java:32: pack1.P1.P3 is not public in pack1.P1; cannot be accessed from outside package
   32.23 -    void m22(P1.P3 x) {}                        // ERROR
   32.24 -               ^
   32.25 -QualifiedAccess_1.java:33: pack1.P1.P3 is not public in pack1.P1; cannot be accessed from outside package
   32.26 -    void m23(P1.P3.P4 x) {}                     // ERROR
   32.27 -               ^
   32.28 -QualifiedAccess_1.java:34: pack1.P1.P3 is not public in pack1.P1; cannot be accessed from outside package
   32.29 -    void m24(P1.P3.P4.P5 x) {}                  // ERROR
   32.30 -               ^
   32.31 -QualifiedAccess_1.java:44: pack1.P1.P3 is not public in pack1.P1; cannot be accessed from outside package
   32.32 -        P1.P3 bar = null;                       // ERROR
   32.33 -          ^
   32.34 -QualifiedAccess_1.java:45: pack1.P1.P3 is not public in pack1.P1; cannot be accessed from outside package
   32.35 -        P1.P3.P4 baz = null;                    // ERROR
   32.36 -          ^
   32.37 -QualifiedAccess_1.java:46: pack1.P1.P3 is not public in pack1.P1; cannot be accessed from outside package
   32.38 -        P1.P3.P4.P5 quux = null;                // ERROR
   32.39 -          ^
   32.40 -QualifiedAccess_1.java:57: pack1.P1.P3 is not public in pack1.P1; cannot be accessed from outside package
   32.41 -        Object bar = (P1.P3)null;               // ERROR
   32.42 -                        ^
   32.43 -QualifiedAccess_1.java:58: pack1.P1.P3 is not public in pack1.P1; cannot be accessed from outside package
   32.44 -        Object baz = (P1.P3.P4)null;            // ERROR
   32.45 -                        ^
   32.46 -QualifiedAccess_1.java:59: pack1.P1.P3 is not public in pack1.P1; cannot be accessed from outside package
   32.47 -        Object quux = (P1.P3.P4.P5)null;        // ERROR
   32.48 -                         ^
   32.49 -QualifiedAccess_1.java:70: pack1.P1.P3 is not public in pack1.P1; cannot be accessed from outside package
   32.50 -        boolean bar = null instanceof P1.P3;            // ERROR
   32.51 -                                        ^
   32.52 -QualifiedAccess_1.java:71: pack1.P1.P3 is not public in pack1.P1; cannot be accessed from outside package
   32.53 -        boolean baz = null instanceof P1.P3.P4;         // ERROR
   32.54 -                                        ^
   32.55 -QualifiedAccess_1.java:72: pack1.P1.P3 is not public in pack1.P1; cannot be accessed from outside package
   32.56 -        boolean quux = null instanceof P1.P3.P4.P5;     // ERROR
   32.57 -                                         ^
   32.58 +QualifiedAccess_1.java:24:7: compiler.err.not.def.public.cant.access: pack1.P1.P3, pack1.P1
   32.59 +QualifiedAccess_1.java:25:7: compiler.err.not.def.public.cant.access: pack1.P1.P3, pack1.P1
   32.60 +QualifiedAccess_1.java:26:7: compiler.err.not.def.public.cant.access: pack1.P1.P3, pack1.P1
   32.61 +QualifiedAccess_1.java:29:7: compiler.err.not.def.public.cant.access: pack1.P1.P3, pack1.P1
   32.62 +QualifiedAccess_1.java:30:7: compiler.err.not.def.public.cant.access: pack1.P1.P3, pack1.P1
   32.63 +QualifiedAccess_1.java:31:7: compiler.err.not.def.public.cant.access: pack1.P1.P3, pack1.P1
   32.64 +QualifiedAccess_1.java:34:16: compiler.err.not.def.public.cant.access: pack1.P1.P3, pack1.P1
   32.65 +QualifiedAccess_1.java:35:16: compiler.err.not.def.public.cant.access: pack1.P1.P3, pack1.P1
   32.66 +QualifiedAccess_1.java:36:16: compiler.err.not.def.public.cant.access: pack1.P1.P3, pack1.P1
   32.67 +QualifiedAccess_1.java:46:11: compiler.err.not.def.public.cant.access: pack1.P1.P3, pack1.P1
   32.68 +QualifiedAccess_1.java:47:11: compiler.err.not.def.public.cant.access: pack1.P1.P3, pack1.P1
   32.69 +QualifiedAccess_1.java:48:11: compiler.err.not.def.public.cant.access: pack1.P1.P3, pack1.P1
   32.70 +QualifiedAccess_1.java:59:25: compiler.err.not.def.public.cant.access: pack1.P1.P3, pack1.P1
   32.71 +QualifiedAccess_1.java:60:25: compiler.err.not.def.public.cant.access: pack1.P1.P3, pack1.P1
   32.72 +QualifiedAccess_1.java:61:26: compiler.err.not.def.public.cant.access: pack1.P1.P3, pack1.P1
   32.73 +QualifiedAccess_1.java:72:41: compiler.err.not.def.public.cant.access: pack1.P1.P3, pack1.P1
   32.74 +QualifiedAccess_1.java:73:41: compiler.err.not.def.public.cant.access: pack1.P1.P3, pack1.P1
   32.75 +QualifiedAccess_1.java:74:42: compiler.err.not.def.public.cant.access: pack1.P1.P3, pack1.P1
   32.76  18 errors
    33.1 --- a/test/tools/javac/QualifiedAccess/QualifiedAccess_1.sh	Tue Jul 08 18:06:19 2008 -0700
    33.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    33.3 @@ -1,85 +0,0 @@
    33.4 -#!/bin/sh
    33.5 -
    33.6 -#
    33.7 -# Copyright 1999-2002 Sun Microsystems, Inc.  All Rights Reserved.
    33.8 -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    33.9 -#
   33.10 -# This code is free software; you can redistribute it and/or modify it
   33.11 -# under the terms of the GNU General Public License version 2 only, as
   33.12 -# published by the Free Software Foundation.
   33.13 -#
   33.14 -# This code is distributed in the hope that it will be useful, but WITHOUT
   33.15 -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   33.16 -# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   33.17 -# version 2 for more details (a copy is included in the LICENSE file that
   33.18 -# accompanied this code).
   33.19 -#
   33.20 -# You should have received a copy of the GNU General Public License version
   33.21 -# 2 along with this work; if not, write to the Free Software Foundation,
   33.22 -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   33.23 -#
   33.24 -# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   33.25 -# CA 95054 USA or visit www.sun.com if you need additional information or
   33.26 -# have any questions.
   33.27 -#
   33.28 -
   33.29 -
   33.30 -if [ "${TESTSRC}" = "" ]
   33.31 -then
   33.32 -  echo "TESTSRC not set.  Test cannot execute.  Failed."
   33.33 -  exit 1
   33.34 -fi
   33.35 -echo "TESTSRC=${TESTSRC}"
   33.36 -if [ "${TESTJAVA}" = "" ]
   33.37 -then
   33.38 -  echo "TESTJAVA not set.  Test cannot execute.  Failed."
   33.39 -  exit 1
   33.40 -fi
   33.41 -echo "TESTJAVA=${TESTJAVA}"
   33.42 -if [ "${TESTCLASSES}" = "" ]
   33.43 -then
   33.44 -  echo "TESTCLASSES not set.  Test cannot execute.  Failed."
   33.45 -  exit 1
   33.46 -fi
   33.47 -echo "TESTCLASSES=${TESTCLASSES}"
   33.48 -echo "CLASSPATH=${CLASSPATH}"
   33.49 -
   33.50 -# set platform-dependent variables
   33.51 -OS=`uname -s`
   33.52 -case "$OS" in
   33.53 -  SunOS | Linux )
   33.54 -    NULL=/dev/null
   33.55 -    PS=":"
   33.56 -    FS="/"
   33.57 -    ;;
   33.58 -  Windows* )
   33.59 -    NULL=NUL
   33.60 -    PS=";"
   33.61 -    FS="\\"
   33.62 -    ;;
   33.63 -  * )
   33.64 -    echo "Unrecognized system!"
   33.65 -    exit 1;
   33.66 -    ;;
   33.67 -esac
   33.68 -
   33.69 -TMP1=OUTPUT.txt
   33.70 -
   33.71 -cp "${TESTSRC}${FS}QualifiedAccess_1.java" .
   33.72 -cp -r "${TESTSRC}${FS}pack1" .
   33.73 -"${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} pack1${FS}P1.java
   33.74 -"${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} pack1${FS}P2.java
   33.75 -"${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} QualifiedAccess_1.java 2> ${TMP1}
   33.76 -cat ${TMP1}
   33.77 -
   33.78 -diff -c "${TESTSRC}${FS}QualifiedAccess_1.out" ${TMP1}
   33.79 -result=$?
   33.80 -rm ${TMP1}
   33.81 -
   33.82 -if [ $result -eq 0 ]
   33.83 -then
   33.84 -  echo "Passed"
   33.85 -else
   33.86 -  echo "Failed"
   33.87 -fi
   33.88 -exit $result
    34.1 --- a/test/tools/javac/QualifiedAccess/QualifiedAccess_2.java	Tue Jul 08 18:06:19 2008 -0700
    34.2 +++ b/test/tools/javac/QualifiedAccess/QualifiedAccess_2.java	Thu Jul 10 11:25:23 2008 -0700
    34.3 @@ -5,7 +5,9 @@
    34.4   * the type to which a component member belongs be accessible in qualified
    34.5   * names.
    34.6   *
    34.7 - * @run shell QualifiedAccess_2.sh
    34.8 + * @compile pack1/P1.java
    34.9 + * @compile pack1/P2.java
   34.10 + * @compile/fail/ref=QualifiedAccess_2.out -XDrawDiagnostics -XDstdout QualifiedAccess_2.java
   34.11   */
   34.12  
   34.13  import pack1.P1;
    35.1 --- a/test/tools/javac/QualifiedAccess/QualifiedAccess_2.out	Tue Jul 08 18:06:19 2008 -0700
    35.2 +++ b/test/tools/javac/QualifiedAccess/QualifiedAccess_2.out	Thu Jul 10 11:25:23 2008 -0700
    35.3 @@ -1,19 +1,7 @@
    35.4 -QualifiedAccess_2.java:38: A.B has private access in A
    35.5 -    class C extends A.B {}              // ERROR - B is inaccessible
    35.6 -                     ^
    35.7 -QualifiedAccess_2.java:39: A.B has private access in A
    35.8 -    class D extends A.B.Inner {}        // ERROR - B is inaccessible
    35.9 -                     ^
   35.10 -QualifiedAccess_2.java:43: pack1.P1.Foo is not public in pack1.P1; cannot be accessed from outside package
   35.11 -            P1.Foo.Bar x;               // ERROR - Foo is inaccessible
   35.12 -              ^
   35.13 -QualifiedAccess_2.java:50: Y.Quux.Quem has private access in Y.Quux
   35.14 -    void foo() throws Y.Quux.Quem.MyError {
   35.15 -                            ^
   35.16 -QualifiedAccess_2.java:28: pack1.P1.R.S has private access in pack1.P1.R
   35.17 -        Object z = new R.S.T();         // ERROR - S is inaccessible
   35.18 -                        ^
   35.19 -QualifiedAccess_2.java:52: Y.Quux.Quem has private access in Y.Quux
   35.20 -        throw new Y.Quux.Quem.MyError();
   35.21 -                        ^
   35.22 +QualifiedAccess_2.java:40:22: compiler.err.report.access: A.B, private, A
   35.23 +QualifiedAccess_2.java:41:22: compiler.err.report.access: A.B, private, A
   35.24 +QualifiedAccess_2.java:45:15: compiler.err.not.def.public.cant.access: pack1.P1.Foo, pack1.P1
   35.25 +QualifiedAccess_2.java:52:29: compiler.err.report.access: Y.Quux.Quem, private, Y.Quux
   35.26 +QualifiedAccess_2.java:30:25: compiler.err.report.access: pack1.P1.R.S, private, pack1.P1.R
   35.27 +QualifiedAccess_2.java:54:25: compiler.err.report.access: Y.Quux.Quem, private, Y.Quux
   35.28  6 errors
    36.1 --- a/test/tools/javac/QualifiedAccess/QualifiedAccess_2.sh	Tue Jul 08 18:06:19 2008 -0700
    36.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    36.3 @@ -1,85 +0,0 @@
    36.4 -#!/bin/sh
    36.5 -
    36.6 -#
    36.7 -# Copyright 1999-2002 Sun Microsystems, Inc.  All Rights Reserved.
    36.8 -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    36.9 -#
   36.10 -# This code is free software; you can redistribute it and/or modify it
   36.11 -# under the terms of the GNU General Public License version 2 only, as
   36.12 -# published by the Free Software Foundation.
   36.13 -#
   36.14 -# This code is distributed in the hope that it will be useful, but WITHOUT
   36.15 -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   36.16 -# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   36.17 -# version 2 for more details (a copy is included in the LICENSE file that
   36.18 -# accompanied this code).
   36.19 -#
   36.20 -# You should have received a copy of the GNU General Public License version
   36.21 -# 2 along with this work; if not, write to the Free Software Foundation,
   36.22 -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   36.23 -#
   36.24 -# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   36.25 -# CA 95054 USA or visit www.sun.com if you need additional information or
   36.26 -# have any questions.
   36.27 -#
   36.28 -
   36.29 -
   36.30 -if [ "${TESTSRC}" = "" ]
   36.31 -then
   36.32 -  echo "TESTSRC not set.  Test cannot execute.  Failed."
   36.33 -  exit 1
   36.34 -fi
   36.35 -echo "TESTSRC=${TESTSRC}"
   36.36 -if [ "${TESTJAVA}" = "" ]
   36.37 -then
   36.38 -  echo "TESTJAVA not set.  Test cannot execute.  Failed."
   36.39 -  exit 1
   36.40 -fi
   36.41 -echo "TESTJAVA=${TESTJAVA}"
   36.42 -if [ "${TESTCLASSES}" = "" ]
   36.43 -then
   36.44 -  echo "TESTCLASSES not set.  Test cannot execute.  Failed."
   36.45 -  exit 1
   36.46 -fi
   36.47 -echo "TESTCLASSES=${TESTCLASSES}"
   36.48 -echo "CLASSPATH=${CLASSPATH}"
   36.49 -
   36.50 -# set platform-dependent variables
   36.51 -OS=`uname -s`
   36.52 -case "$OS" in
   36.53 -  SunOS | Linux )
   36.54 -    NULL=/dev/null
   36.55 -    PS=":"
   36.56 -    FS="/"
   36.57 -    ;;
   36.58 -  Windows* )
   36.59 -    NULL=NUL
   36.60 -    PS=";"
   36.61 -    FS="\\"
   36.62 -    ;;
   36.63 -  * )
   36.64 -    echo "Unrecognized system!"
   36.65 -    exit 1;
   36.66 -    ;;
   36.67 -esac
   36.68 -
   36.69 -TMP1=OUTPUT.txt
   36.70 -
   36.71 -cp "${TESTSRC}${FS}QualifiedAccess_2.java" .
   36.72 -cp -r "${TESTSRC}${FS}pack1" .
   36.73 -"${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} pack1${FS}P1.java
   36.74 -"${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} pack1${FS}P2.java
   36.75 -"${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} QualifiedAccess_2.java 2> ${TMP1}
   36.76 -cat ${TMP1}
   36.77 -
   36.78 -diff -c "${TESTSRC}${FS}QualifiedAccess_2.out" ${TMP1}
   36.79 -result=$?
   36.80 -rm ${TMP1}
   36.81 -
   36.82 -if [ $result -eq 0 ]
   36.83 -then
   36.84 -  echo "Passed"
   36.85 -else
   36.86 -  echo "Failed"
   36.87 -fi
   36.88 -exit $result
    37.1 --- a/test/tools/javac/QualifiedAccess/QualifiedAccess_3.java	Tue Jul 08 18:06:19 2008 -0700
    37.2 +++ b/test/tools/javac/QualifiedAccess/QualifiedAccess_3.java	Thu Jul 10 11:25:23 2008 -0700
    37.3 @@ -5,7 +5,7 @@
    37.4   * the type to which a component member belongs be accessible in qualified
    37.5   * names.
    37.6   *
    37.7 - * @run shell QualifiedAccess_3.sh
    37.8 + * @compile/fail/ref=QualifiedAccess_3.out -XDrawDiagnostics -XDstdout QualifiedAccess_3.java
    37.9   */
   37.10  
   37.11  import pack1.P1;
    38.1 --- a/test/tools/javac/QualifiedAccess/QualifiedAccess_3.out	Tue Jul 08 18:06:19 2008 -0700
    38.2 +++ b/test/tools/javac/QualifiedAccess/QualifiedAccess_3.out	Thu Jul 10 11:25:23 2008 -0700
    38.3 @@ -1,13 +1,5 @@
    38.4 -QualifiedAccess_3.java:39: pack1.P1.Foo is not public in pack1.P1; cannot be accessed from outside package
    38.5 -        P1.Foo.Bar x = null;            // ERROR - 'P1.Foo' not accessible
    38.6 -          ^
    38.7 -QualifiedAccess_3.java:40: length in Array is defined in an inaccessible class or interface
    38.8 -        int i = p1.a.length;            // ERROR - Type of 'a' not accessible
    38.9 -                    ^
   38.10 -QualifiedAccess_3.java:43: privatei in pack1.P2 is defined in an inaccessible class or interface
   38.11 -        p1.p2.privatei = 3;             // ERROR - Type of 'p1.p2' not accessible.
   38.12 -             ^
   38.13 -QualifiedAccess_3.java:44: privatei in pack1.P2 is defined in an inaccessible class or interface
   38.14 -        System.out.println (p1.p2.privatei);    // ERROR - Type of 'p1.p2' not accessible.
   38.15 -                                 ^
   38.16 +QualifiedAccess_3.java:39:11: compiler.err.not.def.public.cant.access: pack1.P1.Foo, pack1.P1
   38.17 +QualifiedAccess_3.java:40:21: compiler.err.not.def.access.class.intf.cant.access: length, Array
   38.18 +QualifiedAccess_3.java:43:14: compiler.err.not.def.access.class.intf.cant.access: privatei, pack1.P2
   38.19 +QualifiedAccess_3.java:44:34: compiler.err.not.def.access.class.intf.cant.access: privatei, pack1.P2
   38.20  4 errors
    39.1 --- a/test/tools/javac/QualifiedAccess/QualifiedAccess_3.sh	Tue Jul 08 18:06:19 2008 -0700
    39.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    39.3 @@ -1,83 +0,0 @@
    39.4 -#!/bin/sh
    39.5 -
    39.6 -#
    39.7 -# Copyright 1999-2002 Sun Microsystems, Inc.  All Rights Reserved.
    39.8 -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    39.9 -#
   39.10 -# This code is free software; you can redistribute it and/or modify it
   39.11 -# under the terms of the GNU General Public License version 2 only, as
   39.12 -# published by the Free Software Foundation.
   39.13 -#
   39.14 -# This code is distributed in the hope that it will be useful, but WITHOUT
   39.15 -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   39.16 -# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   39.17 -# version 2 for more details (a copy is included in the LICENSE file that
   39.18 -# accompanied this code).
   39.19 -#
   39.20 -# You should have received a copy of the GNU General Public License version
   39.21 -# 2 along with this work; if not, write to the Free Software Foundation,
   39.22 -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   39.23 -#
   39.24 -# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   39.25 -# CA 95054 USA or visit www.sun.com if you need additional information or
   39.26 -# have any questions.
   39.27 -#
   39.28 -
   39.29 -
   39.30 -if [ "${TESTSRC}" = "" ]
   39.31 -then
   39.32 -  echo "TESTSRC not set.  Test cannot execute.  Failed."
   39.33 -  exit 1
   39.34 -fi
   39.35 -echo "TESTSRC=${TESTSRC}"
   39.36 -if [ "${TESTJAVA}" = "" ]
   39.37 -then
   39.38 -  echo "TESTJAVA not set.  Test cannot execute.  Failed."
   39.39 -  exit 1
   39.40 -fi
   39.41 -echo "TESTJAVA=${TESTJAVA}"
   39.42 -if [ "${TESTCLASSES}" = "" ]
   39.43 -then
   39.44 -  echo "TESTCLASSES not set.  Test cannot execute.  Failed."
   39.45 -  exit 1
   39.46 -fi
   39.47 -echo "TESTCLASSES=${TESTCLASSES}"
   39.48 -echo "CLASSPATH=${CLASSPATH}"
   39.49 -
   39.50 -# set platform-dependent variables
   39.51 -OS=`uname -s`
   39.52 -case "$OS" in
   39.53 -  SunOS | Linux )
   39.54 -    NULL=/dev/null
   39.55 -    PS=":"
   39.56 -    FS="/"
   39.57 -    ;;
   39.58 -  Windows* )
   39.59 -    NULL=NUL
   39.60 -    PS=";"
   39.61 -    FS="\\"
   39.62 -    ;;
   39.63 -  * )
   39.64 -    echo "Unrecognized system!"
   39.65 -    exit 1;
   39.66 -    ;;
   39.67 -esac
   39.68 -
   39.69 -TMP1=OUTPUT.txt
   39.70 -
   39.71 -cp "${TESTSRC}${FS}QualifiedAccess_3.java" .
   39.72 -cp -r "${TESTSRC}${FS}pack1" .
   39.73 -"${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} QualifiedAccess_3.java 2> ${TMP1}
   39.74 -cat ${TMP1}
   39.75 -
   39.76 -diff -c "${TESTSRC}${FS}QualifiedAccess_3.out" ${TMP1}
   39.77 -result=$?
   39.78 -rm ${TMP1}
   39.79 -
   39.80 -if [ $result -eq 0 ]
   39.81 -then
   39.82 -  echo "Passed"
   39.83 -else
   39.84 -  echo "Failed"
   39.85 -fi
   39.86 -exit $result
    40.1 --- a/test/tools/javac/SynchronizedClass.java	Tue Jul 08 18:06:19 2008 -0700
    40.2 +++ b/test/tools/javac/SynchronizedClass.java	Thu Jul 10 11:25:23 2008 -0700
    40.3 @@ -3,7 +3,7 @@
    40.4     @summary Verify that ClassModifier "synchronized" is not allowed.
    40.5     @author dps
    40.6  
    40.7 -   @run shell SynchronizedClass.sh
    40.8 +   @compile/fail/ref=SynchronizedClass.out -XDrawDiagnostics -XDstdout SynchronizedClass.java
    40.9  */
   40.10  
   40.11  public synchronized class SynchronizedClass { } // ERROR
    41.1 --- a/test/tools/javac/SynchronizedClass.out	Tue Jul 08 18:06:19 2008 -0700
    41.2 +++ b/test/tools/javac/SynchronizedClass.out	Thu Jul 10 11:25:23 2008 -0700
    41.3 @@ -1,4 +1,2 @@
    41.4 -SynchronizedClass.java:9: modifier synchronized not allowed here
    41.5 -public synchronized class SynchronizedClass { } // ERROR
    41.6 -                    ^
    41.7 +SynchronizedClass.java:9:21: compiler.err.mod.not.allowed.here: synchronized
    41.8  1 error
    42.1 --- a/test/tools/javac/SynchronizedClass.sh	Tue Jul 08 18:06:19 2008 -0700
    42.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    42.3 @@ -1,82 +0,0 @@
    42.4 -#!/bin/sh
    42.5 -
    42.6 -#
    42.7 -# Copyright 1999-2002 Sun Microsystems, Inc.  All Rights Reserved.
    42.8 -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    42.9 -#
   42.10 -# This code is free software; you can redistribute it and/or modify it
   42.11 -# under the terms of the GNU General Public License version 2 only, as
   42.12 -# published by the Free Software Foundation.
   42.13 -#
   42.14 -# This code is distributed in the hope that it will be useful, but WITHOUT
   42.15 -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   42.16 -# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   42.17 -# version 2 for more details (a copy is included in the LICENSE file that
   42.18 -# accompanied this code).
   42.19 -#
   42.20 -# You should have received a copy of the GNU General Public License version
   42.21 -# 2 along with this work; if not, write to the Free Software Foundation,
   42.22 -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   42.23 -#
   42.24 -# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   42.25 -# CA 95054 USA or visit www.sun.com if you need additional information or
   42.26 -# have any questions.
   42.27 -#
   42.28 -
   42.29 -
   42.30 -if [ "${TESTSRC}" = "" ]
   42.31 -then
   42.32 -  echo "TESTSRC not set.  Test cannot execute.  Failed."
   42.33 -  exit 1
   42.34 -fi
   42.35 -echo "TESTSRC=${TESTSRC}"
   42.36 -if [ "${TESTJAVA}" = "" ]
   42.37 -then
   42.38 -  echo "TESTJAVA not set.  Test cannot execute.  Failed."
   42.39 -  exit 1
   42.40 -fi
   42.41 -echo "TESTJAVA=${TESTJAVA}"
   42.42 -if [ "${TESTCLASSES}" = "" ]
   42.43 -then
   42.44 -  echo "TESTCLASSES not set.  Test cannot execute.  Failed."
   42.45 -  exit 1
   42.46 -fi
   42.47 -echo "TESTCLASSES=${TESTCLASSES}"
   42.48 -echo "CLASSPATH=${CLASSPATH}"
   42.49 -
   42.50 -# set platform-dependent variables
   42.51 -OS=`uname -s`
   42.52 -case "$OS" in
   42.53 -  SunOS | Linux )
   42.54 -    NULL=/dev/null
   42.55 -    PS=":"
   42.56 -    FS="/"
   42.57 -    ;;
   42.58 -  Windows* )
   42.59 -    NULL=NUL
   42.60 -    PS=";"
   42.61 -    FS="\\"
   42.62 -    ;;
   42.63 -  * )
   42.64 -    echo "Unrecognized system!"
   42.65 -    exit 1;
   42.66 -    ;;
   42.67 -esac
   42.68 -
   42.69 -TMP1=OUTPUT.txt
   42.70 -
   42.71 -cp "${TESTSRC}${FS}SynchronizedClass.java" .
   42.72 -"${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} SynchronizedClass.java 2> ${TMP1}
   42.73 -cat ${TMP1}
   42.74 -
   42.75 -diff -c "${TESTSRC}${FS}SynchronizedClass.out" ${TMP1}
   42.76 -result=$?
   42.77 -rm ${TMP1}
   42.78 -
   42.79 -if [ $result -eq 0 ]
   42.80 -then
   42.81 -  echo "Passed"
   42.82 -else
   42.83 -  echo "Failed"
   42.84 -fi
   42.85 -exit $result
    43.1 --- a/test/tools/javac/depDocComment/DeprecatedDocComment.java	Tue Jul 08 18:06:19 2008 -0700
    43.2 +++ b/test/tools/javac/depDocComment/DeprecatedDocComment.java	Thu Jul 10 11:25:23 2008 -0700
    43.3 @@ -5,7 +5,8 @@
    43.4   * docComment only
    43.5   * @author Jing Qian
    43.6   *
    43.7 - * @run shell DeprecatedDocComment.sh
    43.8 + * @compile DeprecatedDocComment2.java
    43.9 + * @compile/fail/ref=DeprecatedDocComment.out -XDrawDiagnostics -XDstdout -Werror -deprecation DeprecatedDocComment.java
   43.10   */
   43.11  
   43.12  // WARNING: This file needs to be compiled with the -deprecation flag on.
    44.1 --- a/test/tools/javac/depDocComment/DeprecatedDocComment.out	Tue Jul 08 18:06:19 2008 -0700
    44.2 +++ b/test/tools/javac/depDocComment/DeprecatedDocComment.out	Thu Jul 10 11:25:23 2008 -0700
    44.3 @@ -1,10 +1,4 @@
    44.4 -DeprecatedDocComment.java:26: warning: [deprecation] deprecatedTest1() in DeprecatedDocComment2 has been deprecated
    44.5 -      DeprecatedDocComment2.deprecatedTest1();
    44.6 -                           ^
    44.7 -DeprecatedDocComment.java:30: warning: [deprecation] deprecatedTest5() in DeprecatedDocComment2 has been deprecated
    44.8 -      DeprecatedDocComment2.deprecatedTest5();
    44.9 -                           ^
   44.10 -DeprecatedDocComment.java:31: warning: [deprecation] deprecatedTest6() in DeprecatedDocComment2 has been deprecated
   44.11 -      DeprecatedDocComment2.deprecatedTest6();
   44.12 -                           ^
   44.13 +DeprecatedDocComment.java:27:28: compiler.warn.has.been.deprecated: deprecatedTest1(), DeprecatedDocComment2
   44.14 +DeprecatedDocComment.java:31:28: compiler.warn.has.been.deprecated: deprecatedTest5(), DeprecatedDocComment2
   44.15 +DeprecatedDocComment.java:32:28: compiler.warn.has.been.deprecated: deprecatedTest6(), DeprecatedDocComment2
   44.16  3 warnings
    45.1 --- a/test/tools/javac/depDocComment/DeprecatedDocComment.sh	Tue Jul 08 18:06:19 2008 -0700
    45.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    45.3 @@ -1,84 +0,0 @@
    45.4 -#!/bin/sh
    45.5 -
    45.6 -#
    45.7 -# Copyright 1999-2002 Sun Microsystems, Inc.  All Rights Reserved.
    45.8 -# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
    45.9 -#
   45.10 -# This code is free software; you can redistribute it and/or modify it
   45.11 -# under the terms of the GNU General Public License version 2 only, as
   45.12 -# published by the Free Software Foundation.
   45.13 -#
   45.14 -# This code is distributed in the hope that it will be useful, but WITHOUT
   45.15 -# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
   45.16 -# FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
   45.17 -# version 2 for more details (a copy is included in the LICENSE file that
   45.18 -# accompanied this code).
   45.19 -#
   45.20 -# You should have received a copy of the GNU General Public License version
   45.21 -# 2 along with this work; if not, write to the Free Software Foundation,
   45.22 -# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
   45.23 -#
   45.24 -# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
   45.25 -# CA 95054 USA or visit www.sun.com if you need additional information or
   45.26 -# have any questions.
   45.27 -#
   45.28 -
   45.29 -
   45.30 -if [ "${TESTSRC}" = "" ]
   45.31 -then
   45.32 -  echo "TESTSRC not set.  Test cannot execute.  Failed."
   45.33 -  exit 1
   45.34 -fi
   45.35 -echo "TESTSRC=${TESTSRC}"
   45.36 -if [ "${TESTJAVA}" = "" ]
   45.37 -then
   45.38 -  echo "TESTJAVA not set.  Test cannot execute.  Failed."
   45.39 -  exit 1
   45.40 -fi
   45.41 -echo "TESTJAVA=${TESTJAVA}"
   45.42 -if [ "${TESTCLASSES}" = "" ]
   45.43 -then
   45.44 -  echo "TESTCLASSES not set.  Test cannot execute.  Failed."
   45.45 -  exit 1
   45.46 -fi
   45.47 -echo "TESTCLASSES=${TESTCLASSES}"
   45.48 -echo "CLASSPATH=${CLASSPATH}"
   45.49 -
   45.50 -# set platform-dependent variables
   45.51 -OS=`uname -s`
   45.52 -case "$OS" in
   45.53 -  SunOS | Linux )
   45.54 -    NULL=/dev/null
   45.55 -    PS=":"
   45.56 -    FS="/"
   45.57 -    ;;
   45.58 -  Windows* )
   45.59 -    NULL=NUL
   45.60 -    PS=";"
   45.61 -    FS="\\"
   45.62 -    ;;
   45.63 -  * )
   45.64 -    echo "Unrecognized system!"
   45.65 -    exit 1;
   45.66 -    ;;
   45.67 -esac
   45.68 -
   45.69 -TMP1=OUTPUT.txt
   45.70 -
   45.71 -cp "${TESTSRC}${FS}DeprecatedDocComment.java" .
   45.72 -cp "${TESTSRC}${FS}DeprecatedDocComment2.java" .
   45.73 -"${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} DeprecatedDocComment2.java
   45.74 -"${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} -deprecation DeprecatedDocComment.java 2> ${TMP1}
   45.75 -cat ${TMP1}
   45.76 -
   45.77 -diff -c "${TESTSRC}${FS}DeprecatedDocComment.out" ${TMP1}
   45.78 -result=$?
   45.79 -rm ${TMP1}
   45.80 -
   45.81 -if [ $result -eq 0 ]
   45.82 -then
   45.83 -  echo "Passed"
   45.84 -else
   45.85 -  echo "Failed"
   45.86 -fi
   45.87 -exit $result

mercurial