changeset in /hg/icedtea6: Backport newly Freed tests.
Andrew John Hughes
gnu_andrew at member.fsf.org
Fri Feb 13 07:45:42 PST 2009
2009/2/13 Joseph D. Darcy <Joe.Darcy at sun.com>:
> Hello.
>
> The annotations test patch is unnecessary.
>
> The tests in question that in JDK 7 live in
> test/java/lang/annotation (singular)
> have since build 13 lived in OpenJDK 6 at
> test/java/lang/annotations (plural)
>
> See
> http://hg.openjdk.java.net/jdk6/jdk6/jdk/file/f6b99ef3deee/test/java/lang/annotations/
>
> The original closed tests lived in an "annotations" directory, but by the
> naming conventions for tests they should have been in "annotation" so I put
> the JDK 7 tests in the latter directory when I opened them up for that
> release.
>
Ok, this wasn't mentioned in the commit or anywhere else. Can you fix
the naming in OpenJDK6 to match?
> Especially since there is a public OpenJDK 6 Mercurial forest now, in the
> future when there is interest in having a Sun patch ported to IcedTea 6, I
> suggest contacting us at Sun about getting the change in the upstream
> OpenJDK 6 master directly.
>
I expect these tests will be in the next build drop. The point of
backporting them was so we could start running them in the meantime.
> -Joe
>
> Andrew John Hughes wrote:
>>
>> changeset 5d4d8012aa03 in /hg/icedtea6
>> details:
>> http://icedtea.classpath.org/hg/icedtea6?cmd=changeset;node=5d4d8012aa03
>> description:
>> Backport newly Freed tests.
>>
>> 2009-02-11 Andrew John Hughes <ahughes at redhat.com>
>>
>> * Makefile.am:
>> Add new patches.
>> * patches/openjdk/bidi-tests.patch,
>> * patches/openjdk/annotation-tests.patch:
>> New.
>>
>> diffstat:
>>
>> 4 files changed, 6174 insertions(+), 1 deletion(-)
>> ChangeLog | 9 Makefile.am
>> | 4 patches/openjdk/annotation-tests.patch | 5867
>> ++++++++++++++++++++++++++++++++
>> patches/openjdk/bidi-tests.patch | 295 +
>>
>> diffs (truncated from 6201 to 500 lines):
>>
>> diff -r 3b8dcbd3d44d -r 5d4d8012aa03 ChangeLog
>> --- a/ChangeLog Tue Feb 10 16:19:54 2009 -0500
>> +++ b/ChangeLog Wed Feb 11 02:18:27 2009 +0000
>> @@ -1,4 +1,13 @@ 2009-02-10 Deepak Bhole <dbhole at redhat.
>> +2009-02-11 Andrew John Hughes <ahughes at redhat.com>
>> +
>> + * Makefile.am:
>> + Add new patches.
>> + * patches/openjdk/bidi-tests.patch,
>> + * patches/openjdk/annotation-tests.patch:
>> + New.
>> +
>> 2009-02-10 Deepak Bhole <dbhole at redhat.com>
>> +
>> * plugin/icedtea/sun/applet/PluginAppletSecurityContext.java: Fix
>> exit permissions for applets.
>> * plugin/icedtea/sun/applet/PluginStreamHandler.java: Fix harmless,
>> but
>> diff -r 3b8dcbd3d44d -r 5d4d8012aa03 Makefile.am
>> --- a/Makefile.am Tue Feb 10 16:19:54 2009 -0500
>> +++ b/Makefile.am Wed Feb 11 02:18:27 2009 +0000
>> @@ -563,7 +563,9 @@ ICEDTEA_PATCHES += \
>> patches/icedtea-io_util-overflow.patch \
>> patches/icedtea-cc-interp-jvmti.patch \
>> patches/icedtea-pr261.patch \
>> - patches/icedtea-doc-headers.patch
>> + patches/icedtea-doc-headers.patch \
>> + patches/openjdk/bidi-tests.patch \
>> + patches/openjdk/annotation-tests.patch
>> if WITH_ALT_HSBUILD
>> ICEDTEA_PATCHES += \
>> diff -r 3b8dcbd3d44d -r 5d4d8012aa03
>> patches/openjdk/annotation-tests.patch
>> --- /dev/null Thu Jan 01 00:00:00 1970 +0000
>> +++ b/patches/openjdk/annotation-tests.patch Wed Feb 11 02:18:27 2009
>> +0000
>> @@ -0,0 +1,5867 @@
>> +# HG changeset patch
>> +# User darcy
>> +# Date 1233028166 28800
>> +# Node ID f3ad2ee4600b102d50a18d83aa797e187819e072
>> +# Parent 175b6adf65b31782480878f5a65044b4c97fd7cf
>> +6740185: Move java/lang/annotations tests to open
>> +Reviewed-by: jjg
>> +
>> +diff -Nru
>> openjdk.orig/jdk/test/java/lang/annotation/AnnotationTypeMismatchException/FoundType.java
>> openjdk/jdk/test/java/lang/annotation/AnnotationTypeMismatchException/FoundType.java
>> +---
>> openjdk.orig/jdk/test/java/lang/annotation/AnnotationTypeMismatchException/FoundType.java
>> 1970-01-01 01:00:00.000000000 +0100
>> ++++
>> openjdk/jdk/test/java/lang/annotation/AnnotationTypeMismatchException/FoundType.java
>> 2009-02-11 00:58:01.000000000 +0000
>> +@@ -0,0 +1,44 @@
>> ++/*
>> ++ * Copyright 2004 Sun Microsystems, Inc. All Rights Reserved.
>> ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
>> ++ *
>> ++ * This code is free software; you can redistribute it and/or modify it
>> ++ * under the terms of the GNU General Public License version 2 only, as
>> ++ * published by the Free Software Foundation.
>> ++ *
>> ++ * This code is distributed in the hope that it will be useful, but
>> WITHOUT
>> ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
>> ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
>> ++ * version 2 for more details (a copy is included in the LICENSE file
>> that
>> ++ * accompanied this code).
>> ++ *
>> ++ * You should have received a copy of the GNU General Public License
>> version
>> ++ * 2 along with this work; if not, write to the Free Software
>> Foundation,
>> ++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
>> ++ *
>> ++ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
>> Clara,
>> ++ * CA 95054 USA or visit www.sun.com if you need additional information
>> or
>> ++ * have any questions.
>> ++ */
>> ++
>> ++/*
>> ++ * @test
>> ++ * @bug 6179014
>> ++ * @summary AnnotationTypeMismatchException.foundType method shouldn't
>> loop.
>> ++ * @author Scott Seligman
>> ++ * @run main/timeout=30 FoundType
>> ++ */
>> ++
>> ++import java.lang.annotation.*;
>> ++
>> ++public class FoundType {
>> ++
>> ++ private static final String TYPE = "a.halting.Problem";
>> ++
>> ++ public static void main(String[] args) {
>> ++ AnnotationTypeMismatchException ex =
>> ++ new AnnotationTypeMismatchException(null, TYPE);
>> ++ if (!TYPE.equals(ex.foundType()))
>> ++ throw new Error();
>> ++ }
>> ++}
>> +diff -Nru openjdk.orig/jdk/test/java/lang/annotation/loaderLeak/A.java
>> openjdk/jdk/test/java/lang/annotation/loaderLeak/A.java
>> +--- openjdk.orig/jdk/test/java/lang/annotation/loaderLeak/A.java
>> 1970-01-01 01:00:00.000000000 +0100
>> ++++ openjdk/jdk/test/java/lang/annotation/loaderLeak/A.java 2009-02-11
>> 00:58:01.000000000 +0000
>> +@@ -0,0 +1,28 @@
>> ++/*
>> ++ * Copyright 2004 Sun Microsystems, Inc. All Rights Reserved.
>> ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
>> ++ *
>> ++ * This code is free software; you can redistribute it and/or modify it
>> ++ * under the terms of the GNU General Public License version 2 only, as
>> ++ * published by the Free Software Foundation.
>> ++ *
>> ++ * This code is distributed in the hope that it will be useful, but
>> WITHOUT
>> ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
>> ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
>> ++ * version 2 for more details (a copy is included in the LICENSE file
>> that
>> ++ * accompanied this code).
>> ++ *
>> ++ * You should have received a copy of the GNU General Public License
>> version
>> ++ * 2 along with this work; if not, write to the Free Software
>> Foundation,
>> ++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
>> ++ *
>> ++ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
>> Clara,
>> ++ * CA 95054 USA or visit www.sun.com if you need additional information
>> or
>> ++ * have any questions.
>> ++ */
>> ++
>> ++public
>>
>> ++ at java.lang.annotation.Retention(java.lang.annotation.RetentionPolicy.RUNTIME)
>> ++ at interface A {
>> ++ B b();
>> ++}
>> +diff -Nru openjdk.orig/jdk/test/java/lang/annotation/loaderLeak/B.java
>> openjdk/jdk/test/java/lang/annotation/loaderLeak/B.java
>> +--- openjdk.orig/jdk/test/java/lang/annotation/loaderLeak/B.java
>> 1970-01-01 01:00:00.000000000 +0100
>> ++++ openjdk/jdk/test/java/lang/annotation/loaderLeak/B.java 2009-02-11
>> 00:58:01.000000000 +0000
>> +@@ -0,0 +1,24 @@
>> ++/*
>> ++ * Copyright 2004 Sun Microsystems, Inc. All Rights Reserved.
>> ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
>> ++ *
>> ++ * This code is free software; you can redistribute it and/or modify it
>> ++ * under the terms of the GNU General Public License version 2 only, as
>> ++ * published by the Free Software Foundation.
>> ++ *
>> ++ * This code is distributed in the hope that it will be useful, but
>> WITHOUT
>> ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
>> ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
>> ++ * version 2 for more details (a copy is included in the LICENSE file
>> that
>> ++ * accompanied this code).
>> ++ *
>> ++ * You should have received a copy of the GNU General Public License
>> version
>> ++ * 2 along with this work; if not, write to the Free Software
>> Foundation,
>> ++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
>> ++ *
>> ++ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
>> Clara,
>> ++ * CA 95054 USA or visit www.sun.com if you need additional information
>> or
>> ++ * have any questions.
>> ++ */
>> ++
>> ++public @interface B {}
>> +diff -Nru openjdk.orig/jdk/test/java/lang/annotation/loaderLeak/C.java
>> openjdk/jdk/test/java/lang/annotation/loaderLeak/C.java
>> +--- openjdk.orig/jdk/test/java/lang/annotation/loaderLeak/C.java
>> 1970-01-01 01:00:00.000000000 +0100
>> ++++ openjdk/jdk/test/java/lang/annotation/loaderLeak/C.java 2009-02-11
>> 00:58:01.000000000 +0000
>> +@@ -0,0 +1,24 @@
>> ++/*
>> ++ * Copyright 2004 Sun Microsystems, Inc. All Rights Reserved.
>> ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
>> ++ *
>> ++ * This code is free software; you can redistribute it and/or modify it
>> ++ * under the terms of the GNU General Public License version 2 only, as
>> ++ * published by the Free Software Foundation.
>> ++ *
>> ++ * This code is distributed in the hope that it will be useful, but
>> WITHOUT
>> ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
>> ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
>> ++ * version 2 for more details (a copy is included in the LICENSE file
>> that
>> ++ * accompanied this code).
>> ++ *
>> ++ * You should have received a copy of the GNU General Public License
>> version
>> ++ * 2 along with this work; if not, write to the Free Software
>> Foundation,
>> ++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
>> ++ *
>> ++ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
>> Clara,
>> ++ * CA 95054 USA or visit www.sun.com if you need additional information
>> or
>> ++ * have any questions.
>> ++ */
>> ++
>> ++public @A(b=@B()) class C {}
>> +diff -Nru
>> openjdk.orig/jdk/test/java/lang/annotation/loaderLeak/LoaderLeak.sh
>> openjdk/jdk/test/java/lang/annotation/loaderLeak/LoaderLeak.sh
>> +--- openjdk.orig/jdk/test/java/lang/annotation/loaderLeak/LoaderLeak.sh
>> 1970-01-01 01:00:00.000000000 +0100
>> ++++ openjdk/jdk/test/java/lang/annotation/loaderLeak/LoaderLeak.sh
>> 2009-02-05 08:45:04.000000000 +0000
>> +@@ -0,0 +1,84 @@
>> ++#!/bin/sh
>> ++
>> ++# Copyright 2004 Sun Microsystems, Inc. All Rights Reserved.
>> ++# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
>> ++#
>> ++# This code is free software; you can redistribute it and/or modify it
>> ++# under the terms of the GNU General Public License version 2 only, as
>> ++# published by the Free Software Foundation.
>> ++#
>> ++# This code is distributed in the hope that it will be useful, but
>> WITHOUT
>> ++# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
>> ++# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
>> ++# version 2 for more details (a copy is included in the LICENSE file
>> that
>> ++# accompanied this code).
>> ++#
>> ++# You should have received a copy of the GNU General Public License
>> version
>> ++# 2 along with this work; if not, write to the Free Software Foundation,
>> ++# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
>> ++#
>> ++# Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
>> Clara,
>> ++# CA 95054 USA or visit www.sun.com if you need additional information
>> or
>> ++# have any questions.
>> ++
>> ++if [ "${TESTSRC}" = "" ]
>> ++then
>> ++ echo "TESTSRC not set. Test cannot execute. Failed."
>> ++ exit 1
>> ++fi
>> ++echo "TESTSRC=${TESTSRC}"
>> ++if [ "${TESTJAVA}" = "" ]
>> ++then
>> ++ echo "TESTJAVA not set. Test cannot execute. Failed."
>> ++ exit 1
>> ++fi
>> ++echo "TESTJAVA=${TESTJAVA}"
>> ++if [ "${TESTCLASSES}" = "" ]
>> ++then
>> ++ echo "TESTCLASSES not set. Test cannot execute. Failed."
>> ++ exit 1
>> ++fi
>> ++echo "TESTCLASSES=${TESTCLASSES}"
>> ++echo "CLASSPATH=${CLASSPATH}"
>> ++
>> ++# set platform-dependent variables
>> ++OS=`uname -s`
>> ++case "$OS" in
>> ++ SunOS | Linux )
>> ++ NULL=/dev/null
>> ++ PS=":"
>> ++ FS="/"
>> ++ ;;
>> ++ Windows* )
>> ++ NULL=NUL
>> ++ PS=";"
>> ++ FS="\\"
>> ++ ;;
>> ++ * )
>> ++ echo "Unrecognized system!"
>> ++ exit 1;
>> ++ ;;
>> ++esac
>> ++
>> ++mkdir -p classes
>> ++cp ${TESTSRC}${FS}*.java .
>> ++${TESTJAVA}${FS}bin${FS}javac -d classes A.java B.java C.java
>> ++${TESTJAVA}${FS}bin${FS}javac Main.java
>> ++${TESTJAVA}${FS}bin${FS}java Main
>> ++result=$?
>> ++if [ $result -eq 0 ]
>> ++then
>> ++ echo "Passed 1 of 2"
>> ++else
>> ++ echo "Failed 1 of 2"
>> ++ exit $result
>> ++fi
>> ++${TESTJAVA}${FS}bin${FS}java Main foo
>> ++result=$?
>> ++if [ $result -eq 0 ]
>> ++then
>> ++ echo "Passed 2 of 2"
>> ++else
>> ++ echo "Failed 2 of 2"
>> ++fi
>> ++exit $result
>> +diff -Nru openjdk.orig/jdk/test/java/lang/annotation/loaderLeak/Main.java
>> openjdk/jdk/test/java/lang/annotation/loaderLeak/Main.java
>> +--- openjdk.orig/jdk/test/java/lang/annotation/loaderLeak/Main.java
>> 1970-01-01 01:00:00.000000000 +0100
>> ++++ openjdk/jdk/test/java/lang/annotation/loaderLeak/Main.java 2009-02-11
>> 00:58:01.000000000 +0000
>> +@@ -0,0 +1,127 @@
>> ++/*
>> ++ * Copyright 2004 Sun Microsystems, Inc. All Rights Reserved.
>> ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
>> ++ *
>> ++ * This code is free software; you can redistribute it and/or modify it
>> ++ * under the terms of the GNU General Public License version 2 only, as
>> ++ * published by the Free Software Foundation.
>> ++ *
>> ++ * This code is distributed in the hope that it will be useful, but
>> WITHOUT
>> ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
>> ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
>> ++ * version 2 for more details (a copy is included in the LICENSE file
>> that
>> ++ * accompanied this code).
>> ++ *
>> ++ * You should have received a copy of the GNU General Public License
>> version
>> ++ * 2 along with this work; if not, write to the Free Software
>> Foundation,
>> ++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
>> ++ *
>> ++ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
>> Clara,
>> ++ * CA 95054 USA or visit www.sun.com if you need additional information
>> or
>> ++ * have any questions.
>> ++ */
>> ++
>> ++/*
>> ++ * @test
>> ++ * @bug 5040740
>> ++ * @summary annotations cause memory leak
>> ++ * @author gafter
>> ++ *
>> ++ * @run shell LoaderLeak.sh
>> ++ */
>> ++
>> ++import java.net.*;
>> ++import java.lang.ref.*;
>> ++import java.util.*;
>> ++import java.io.*;
>> ++
>> ++public class Main {
>> ++ public static void main(String[] args) throws Exception {
>> ++ for (int i=0; i<100; i++)
>> ++ doTest(args.length != 0);
>> ++ }
>> ++
>> ++ static void doTest(boolean readAnn) throws Exception {
>> ++ // URL classes = new URL("file://" +
>> System.getProperty("user.dir") + "/classes");
>> ++ // URL[] path = { classes };
>> ++ // URLClassLoader loader = new URLClassLoader(path);
>> ++ ClassLoader loader = new SimpleClassLoader();
>> ++ WeakReference<Class<?>> c = new
>> WeakReference(loader.loadClass("C"));
>> ++ if (c.get() == null) throw new AssertionError();
>> ++ if (c.get().getClassLoader() != loader) throw new
>> AssertionError();
>> ++ if (readAnn) System.out.println(c.get().getAnnotations()[0]);
>> ++ if (c.get() == null) throw new AssertionError();
>> ++ System.gc();
>> ++ System.gc();
>> ++ if (c.get() == null) throw new AssertionError();
>> ++ System.gc();
>> ++ System.gc();
>> ++ loader = null;
>> ++ System.gc();
>> ++ System.gc();
>> ++ if (c.get() != null) throw new AssertionError();
>> ++ }
>> ++}
>> ++
>> ++class SimpleClassLoader extends ClassLoader {
>> ++ private Hashtable classes = new Hashtable();
>> ++
>> ++ public SimpleClassLoader() {
>> ++ }
>> ++ private byte getClassImplFromDataBase(String className)[] {
>> ++ byte result[];
>> ++ try {
>> ++ FileInputStream fi = new
>> FileInputStream("classes/"+className+".class");
>> ++ result = new byte[fi.available()];
>> ++ fi.read(result);
>> ++ return result;
>> ++ } catch (Exception e) {
>> ++
>> ++ /*
>> ++ * If we caught an exception, either the class wasnt found
>> or it
>> ++ * was unreadable by our process.
>> ++ */
>> ++ return null;
>> ++ }
>> ++ }
>> ++ public Class loadClass(String className) throws
>> ClassNotFoundException {
>> ++ return (loadClass(className, true));
>> ++ }
>> ++ public synchronized Class loadClass(String className, boolean
>> resolveIt)
>> ++ throws ClassNotFoundException {
>> ++ Class result;
>> ++ byte classData[];
>> ++
>> ++ /* Check our local cache of classes */
>> ++ result = (Class)classes.get(className);
>> ++ if (result != null) {
>> ++ return result;
>> ++ }
>> ++
>> ++ /* Check with the primordial class loader */
>> ++ try {
>> ++ result = super.findSystemClass(className);
>> ++ return result;
>> ++ } catch (ClassNotFoundException e) {
>> ++ }
>> ++
>> ++ /* Try to load it from our repository */
>> ++ classData = getClassImplFromDataBase(className);
>> ++ if (classData == null) {
>> ++ throw new ClassNotFoundException();
>> ++ }
>> ++
>> ++ /* Define it (parse the class file) */
>> ++ result = defineClass(classData, 0, classData.length);
>> ++ if (result == null) {
>> ++ throw new ClassFormatError();
>> ++ }
>> ++
>> ++ if (resolveIt) {
>> ++ resolveClass(result);
>> ++ }
>> ++
>> ++ classes.put(className, result);
>> ++ return result;
>> ++ }
>> ++}
>> +diff -Nru openjdk.orig/jdk/test/java/lang/annotation/Missing/A.java
>> openjdk/jdk/test/java/lang/annotation/Missing/A.java
>> +--- openjdk.orig/jdk/test/java/lang/annotation/Missing/A.java 1970-01-01
>> 01:00:00.000000000 +0100
>> ++++ openjdk/jdk/test/java/lang/annotation/Missing/A.java 2009-02-11
>> 00:58:01.000000000 +0000
>> +@@ -0,0 +1,30 @@
>> ++/*
>> ++ * Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.
>> ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
>> ++ *
>> ++ * This code is free software; you can redistribute it and/or modify it
>> ++ * under the terms of the GNU General Public License version 2 only, as
>> ++ * published by the Free Software Foundation.
>> ++ *
>> ++ * This code is distributed in the hope that it will be useful, but
>> WITHOUT
>> ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
>> ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
>> ++ * version 2 for more details (a copy is included in the LICENSE file
>> that
>> ++ * accompanied this code).
>> ++ *
>> ++ * You should have received a copy of the GNU General Public License
>> version
>> ++ * 2 along with this work; if not, write to the Free Software
>> Foundation,
>> ++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
>> ++ *
>> ++ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
>> Clara,
>> ++ * CA 95054 USA or visit www.sun.com if you need additional information
>> or
>> ++ * have any questions.
>> ++ */
>> ++
>> ++/**
>> ++ * Class to have a missing annotation applied for running MissingTest.
>> ++ */
>> ++ at Missing
>> ++ at Marker
>> ++public class A {
>> ++}
>> +diff -Nru openjdk.orig/jdk/test/java/lang/annotation/Missing/B.java
>> openjdk/jdk/test/java/lang/annotation/Missing/B.java
>> +--- openjdk.orig/jdk/test/java/lang/annotation/Missing/B.java 1970-01-01
>> 01:00:00.000000000 +0100
>> ++++ openjdk/jdk/test/java/lang/annotation/Missing/B.java 2009-02-11
>> 00:58:01.000000000 +0000
>> +@@ -0,0 +1,31 @@
>> ++/*
>> ++ * Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.
>> ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
>> ++ *
>> ++ * This code is free software; you can redistribute it and/or modify it
>> ++ * under the terms of the GNU General Public License version 2 only, as
>> ++ * published by the Free Software Foundation.
>> ++ *
>> ++ * This code is distributed in the hope that it will be useful, but
>> WITHOUT
>> ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
>> ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
>> ++ * version 2 for more details (a copy is included in the LICENSE file
>> that
>> ++ * accompanied this code).
>> ++ *
>> ++ * You should have received a copy of the GNU General Public License
>> version
>> ++ * 2 along with this work; if not, write to the Free Software
>> Foundation,
>> ++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
>> ++ *
>> ++ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
>> Clara,
>> ++ * CA 95054 USA or visit www.sun.com if you need additional information
>> or
>> ++ * have any questions.
>> ++ */
>> ++
>> ++/**
>> ++ * Class to have an indirectly missing annotation applied for for
>> ++ * running MisssingTest.
>> ++ */
>> ++ at MissingWrapper(@Missing)
>> ++ at Marker
>> ++public class B {
>> ++}
>> +diff -Nru openjdk.orig/jdk/test/java/lang/annotation/Missing/C.java
>> openjdk/jdk/test/java/lang/annotation/Missing/C.java
>> +--- openjdk.orig/jdk/test/java/lang/annotation/Missing/C.java 1970-01-01
>> 01:00:00.000000000 +0100
>> ++++ openjdk/jdk/test/java/lang/annotation/Missing/C.java 2009-02-11
>> 00:58:01.000000000 +0000
>> +@@ -0,0 +1,31 @@
>> ++/*
>> ++ * Copyright 2005 Sun Microsystems, Inc. All Rights Reserved.
>> ++ * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
>> ++ *
>> ++ * This code is free software; you can redistribute it and/or modify it
>> ++ * under the terms of the GNU General Public License version 2 only, as
>> ++ * published by the Free Software Foundation.
>> ++ *
>> ++ * This code is distributed in the hope that it will be useful, but
>> WITHOUT
>> ++ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
>> ++ * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
>> ++ * version 2 for more details (a copy is included in the LICENSE file
>> that
>> ++ * accompanied this code).
>> ++ *
>> ++ * You should have received a copy of the GNU General Public License
>> version
>> ++ * 2 along with this work; if not, write to the Free Software
>> Foundation,
>> ++ * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
>> ++ *
>> ++ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa
>> Clara,
>> ++ * CA 95054 USA or visit www.sun.com if you need additional information
>> or
>> ++ * have any questions.
>> ++ */
>> ++
>> ++/**
>> ++ * Class to have a missing annotation applied for running MissingTest.
>> ++ */
>> ++public class C {
>> ++ public void method1(@Missing @Marker Object param1) {
>> ++ return;
>>
>
>
--
Andrew :-)
Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)
Support Free Java!
Contribute to GNU Classpath and the OpenJDK
http://www.gnu.org/software/classpath
http://openjdk.java.net
PGP Key: 94EFD9D8 (http://subkeys.pgp.net)
Fingerprint: F8EF F1EA 401E 2E60 15FA 7927 142C 2591 94EF D9D8
More information about the distro-pkg-dev
mailing list