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