No problem 2008/10/31 Nathan Beyer <[EMAIL PROTECTED]>: > Thanks for doing this. I was playing around, but I just haven't had > the time to concentrate on coding lately. Thanks again. > > On Thu, Oct 30, 2008 at 10:01 AM, <[EMAIL PROTECTED]> wrote: >> Author: sjanuary >> Date: Thu Oct 30 08:01:41 2008 >> New Revision: 709179 >> >> URL: http://svn.apache.org/viewvc?rev=709179&view=rev >> Log: >> Fix failing archive tests to run on the bootclasspath >> >> Added: >> harmony/enhanced/classlib/trunk/modules/archive/src/test/java-internal/ >> >> harmony/enhanced/classlib/trunk/modules/archive/src/test/java-internal/org/ >> >> harmony/enhanced/classlib/trunk/modules/archive/src/test/java-internal/org/apache/ >> >> harmony/enhanced/classlib/trunk/modules/archive/src/test/java-internal/org/apache/harmony/ >> >> harmony/enhanced/classlib/trunk/modules/archive/src/test/java-internal/org/apache/harmony/archive/ >> >> harmony/enhanced/classlib/trunk/modules/archive/src/test/java-internal/org/apache/harmony/archive/util/ >> >> harmony/enhanced/classlib/trunk/modules/archive/src/test/java-internal/org/apache/harmony/archive/util/UtilTest.java >> (with props) >> Removed: >> >> harmony/enhanced/classlib/trunk/modules/archive/src/test/java/org/apache/harmony/archive/util/ >> Modified: >> harmony/enhanced/classlib/trunk/modules/archive/.classpath >> harmony/enhanced/classlib/trunk/modules/archive/build.xml >> harmony/enhanced/classlib/trunk/modules/archive/make/hyproperties.xml >> >> Modified: harmony/enhanced/classlib/trunk/modules/archive/.classpath >> URL: >> http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/archive/.classpath?rev=709179&r1=709178&r2=709179&view=diff >> ============================================================================== >> --- harmony/enhanced/classlib/trunk/modules/archive/.classpath (original) >> +++ harmony/enhanced/classlib/trunk/modules/archive/.classpath Thu Oct 30 >> 08:01:41 2008 >> @@ -3,6 +3,7 @@ >> <classpathentry output="bin/main" kind="src" path="src/main/java"/> >> <classpathentry output="bin/main" kind="src" >> path="src/main/resources"/> >> <classpathentry output="bin/test" kind="src" path="src/test/java"/> >> + <classpathentry output="bin/test-internal" kind="src" >> path="src/test/java-internal"/> >> <classpathentry output="bin/test" kind="src" >> path="src/test/resources"/> >> <classpathentry kind="con" >> path="org.eclipse.pde.core.requiredPlugins"/> >> <classpathentry kind="con" >> path="org.eclipse.jdt.junit.JUNIT_CONTAINER/4"/> >> >> Modified: harmony/enhanced/classlib/trunk/modules/archive/build.xml >> URL: >> http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/archive/build.xml?rev=709179&r1=709178&r2=709179&view=diff >> ============================================================================== >> --- harmony/enhanced/classlib/trunk/modules/archive/build.xml (original) >> +++ harmony/enhanced/classlib/trunk/modules/archive/build.xml Thu Oct 30 >> 08:01:41 2008 >> @@ -37,6 +37,8 @@ >> </or> >> </fileset> >> >> + <property file="../../make/depends.properties" /> >> + >> <property name="zlib.zip" location="${depends.oss}/zlib_1.2.3.zip" /> >> >> <property name="archive.exclude.file" >> location="${hy.hdk}/build/archive.exclude" /> >> @@ -241,10 +243,30 @@ >> </target> >> >> <target name="compile-tests" depends="copy-test-resources"> >> - <echo message="Compiling ARCHIVE tests" /> >> - >> + <mkdir dir="${hy.archive.bin.internal}" /> >> <mkdir dir="${hy.archive.bin.test}" /> >> >> + <echo message="Compiling internal ARCHIVE tests" /> >> + <javac srcdir="${hy.archive.src.test.internal}" >> + destdir="${hy.archive.bin.internal}" >> + sourcepath="" >> + compiler="${hy.javac.compiler}" >> + memoryMaximumSize="${hy.javac.maxmem}" >> + source="${hy.javac.source}" >> + target="${hy.javac.target}" >> + debug="${hy.javac.debug}"> >> + >> + <compilerarg line="${build.compilerarg}" /> >> + >> + <bootclasspath> >> + <fileset dir="${hy.jdk}/jre/lib/boot"> >> + <include name="**/*.jar" /> >> + </fileset> >> + </bootclasspath> >> + <classpath location="${hy.hdk}/build/test/support.jar" /> >> + </javac> >> + >> + <echo message="Compiling ARCHIVE tests" /> >> <javac srcdir="${hy.archive.src.test.java}" >> destdir="${hy.archive.bin.test}" >> sourcepath="" >> @@ -276,6 +298,48 @@ >> >> <property name="test.jre.home" value="${hy.jdk}/jre" /> >> >> + <!-- internal tests that need to run on the bootclasspath --> >> + <echo message="Running internal ARCHIVE tests" /> >> + <junit fork="yes" >> + forkmode="${hy.test.forkmode}" >> + timeout="${hy.test.timeout}" >> + printsummary="withOutAndErr" >> + errorproperty="test.errors" >> + failureproperty="test.failures" >> + showoutput="on" >> + dir="${basedir}" >> + jvm="${test.jre.home}/bin/java"> >> + >> + <assertions enableSystemAssertions="true"> >> + <enable /> >> + </assertions> >> + >> + <jvmarg line="${hy.test.vmargs}" /> >> + >> + <jvmarg >> value="-Xbootclasspath/a:${hy.archive.bin.internal}${path.separator}../../${junit.jar}"/> >> + >> + <classpath> >> + <pathelement path="${hy.archive.bin.test}"/> >> + </classpath> >> + <classpath location="../../build/tests" /> >> + <classpath >> location="${hy.hdk}/build/test/support.jar" /> >> + >> + <formatter type="xml" /> >> + >> + <batchtest todir="${hy.tests.reports}" haltonfailure="no" > >> + >> + <fileset dir="${hy.archive.src.test.internal}"> >> + <!-- if ${test.case} --> >> + <include name="${converted.tc}" if="test.case" /> >> + <!-- unless ${test.case} --> >> + <include name="**/*Test.java" unless="test.case" /> >> + <excludesfile name="${archive.exclude.file}" >> unless="test.case" /> >> + </fileset> >> + </batchtest> >> + </junit> >> + >> + <!-- API tests --> >> + <echo message="Running ARCHIVE tests" /> >> <junit fork="yes" >> forkmode="${hy.test.forkmode}" >> timeout="${hy.test.timeout}" >> >> Modified: >> harmony/enhanced/classlib/trunk/modules/archive/make/hyproperties.xml >> URL: >> http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/archive/make/hyproperties.xml?rev=709179&r1=709178&r2=709179&view=diff >> ============================================================================== >> --- harmony/enhanced/classlib/trunk/modules/archive/make/hyproperties.xml >> (original) >> +++ harmony/enhanced/classlib/trunk/modules/archive/make/hyproperties.xml >> Thu Oct 30 08:01:41 2008 >> @@ -27,12 +27,14 @@ >> <test> >> <java location="src/test/java" /> >> <resources location="src/test/resources" /> >> + <internal location="src/test/java-internal" /> >> </test> >> <natives location="src/natives" /> >> </src> >> <bin> >> <main location="bin/main" /> >> <test location="bin/test" /> >> + <internal location="bin/test-internal" /> >> </bin> >> <packaging> >> </packaging> >> >> Added: >> harmony/enhanced/classlib/trunk/modules/archive/src/test/java-internal/org/apache/harmony/archive/util/UtilTest.java >> URL: >> http://svn.apache.org/viewvc/harmony/enhanced/classlib/trunk/modules/archive/src/test/java-internal/org/apache/harmony/archive/util/UtilTest.java?rev=709179&view=auto >> ============================================================================== >> --- >> harmony/enhanced/classlib/trunk/modules/archive/src/test/java-internal/org/apache/harmony/archive/util/UtilTest.java >> (added) >> +++ >> harmony/enhanced/classlib/trunk/modules/archive/src/test/java-internal/org/apache/harmony/archive/util/UtilTest.java >> Thu Oct 30 08:01:41 2008 >> @@ -0,0 +1,87 @@ >> +/* >> + * Licensed to the Apache Software Foundation (ASF) under one or more >> + * contributor license agreements. See the NOTICE file distributed with >> + * this work for additional information regarding copyright ownership. >> + * The ASF licenses this file to You under the Apache License, Version 2.0 >> + * (the "License"); you may not use this file except in compliance with >> + * the License. You may obtain a copy of the License at >> + * >> + * http://www.apache.org/licenses/LICENSE-2.0 >> + * >> + * Unless required by applicable law or agreed to in writing, software >> + * distributed under the License is distributed on an "AS IS" BASIS, >> + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. >> + * See the License for the specific language governing permissions and >> + * limitations under the License. >> + */ >> + >> +package org.apache.harmony.archive.util; >> + >> +import junit.framework.TestCase; >> + >> +public class UtilTest extends TestCase { >> + private static final String ASCII_ALPHABET_LC = >> "abcdefghijklmnopqrstuvwxyz"; >> + private static final String ASCII_ALPHABET_UC = >> "ABCDEFGHIJKLMNOPQRSTUVWXYZ"; >> + private static final byte[] ASCII_ALPHABET_LC_BYTES; >> + private static final byte[] ASCII_ALPHABET_UC_BYTES; >> + >> + static { >> + ASCII_ALPHABET_LC_BYTES = new byte[ASCII_ALPHABET_LC.length()]; >> + for (int i = 0; i < ASCII_ALPHABET_LC_BYTES.length; i++) { >> + final char c = ASCII_ALPHABET_LC.charAt(i); >> + final byte b = (byte) c; >> + assert ((char) b) == c; >> + ASCII_ALPHABET_LC_BYTES[i] = b; >> + } >> + >> + ASCII_ALPHABET_UC_BYTES = new byte[ASCII_ALPHABET_UC.length()]; >> + for (int i = 0; i < ASCII_ALPHABET_UC_BYTES.length; i++) { >> + final char c = ASCII_ALPHABET_UC.charAt(i); >> + final byte b = (byte) c; >> + assert ((char) b) == c; >> + ASCII_ALPHABET_UC_BYTES[i] = b; >> + } >> + } >> + >> + public void testASCIIIgnoreCaseRegionMatches() { >> + final String s1 = ASCII_ALPHABET_LC; >> + final String s2 = ASCII_ALPHABET_UC; >> + for (int i = 0; i < s1.length(); i++) { >> + assertTrue(Util.ASCIIIgnoreCaseRegionMatches(s1, i, s2, i, s1 >> + .length() >> + - i)); >> + } >> + } >> + >> + public void testToASCIIUpperCaseByte() { >> + for (int i = 0; i < ASCII_ALPHABET_LC_BYTES.length; i++) { >> + assertEquals(ASCII_ALPHABET_UC_BYTES[i], Util >> + .toASCIIUpperCase(ASCII_ALPHABET_LC_BYTES[i])); >> + } >> + for (int i = 0; i < ASCII_ALPHABET_UC_BYTES.length; i++) { >> + assertEquals(ASCII_ALPHABET_UC_BYTES[i], Util >> + .toASCIIUpperCase(ASCII_ALPHABET_UC_BYTES[i])); >> + } >> + } >> + >> + public void testToASCIIUpperCaseChar() { >> + for (int i = 0; i < ASCII_ALPHABET_LC.length(); i++) { >> + assertEquals(ASCII_ALPHABET_UC.charAt(i), Util >> + .toASCIIUpperCase(ASCII_ALPHABET_LC.charAt(i))); >> + } >> + for (int i = 0; i < ASCII_ALPHABET_UC.length(); i++) { >> + assertEquals(ASCII_ALPHABET_UC.charAt(i), Util >> + .toASCIIUpperCase(ASCII_ALPHABET_UC.charAt(i))); >> + } >> + } >> + >> + public void testEqualsIgnoreCaseByteArrayByteArray() { >> + assertTrue(Util.equalsIgnoreCase(ASCII_ALPHABET_LC_BYTES, >> + ASCII_ALPHABET_LC_BYTES)); >> + assertTrue(Util.equalsIgnoreCase(ASCII_ALPHABET_LC_BYTES, >> + ASCII_ALPHABET_UC_BYTES)); >> + assertTrue(Util.equalsIgnoreCase(ASCII_ALPHABET_UC_BYTES, >> + ASCII_ALPHABET_UC_BYTES)); >> + } >> + >> +} >> >> Propchange: >> harmony/enhanced/classlib/trunk/modules/archive/src/test/java-internal/org/apache/harmony/archive/util/UtilTest.java >> ------------------------------------------------------------------------------ >> svn:eol-style = native >> >> Propchange: >> harmony/enhanced/classlib/trunk/modules/archive/src/test/java-internal/org/apache/harmony/archive/util/UtilTest.java >> ------------------------------------------------------------------------------ >> svn:mime-type = text/plain >> >> >> >
-- Unless stated otherwise above: IBM United Kingdom Limited - Registered in England and Wales with number 741598. Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6 3AU
