From c303cd5db5a811bfba8feef4eb9cb6876919a423 Mon Sep 17 00:00:00 2001 From: avasseur Date: Wed, 20 Apr 2005 12:46:46 +0000 Subject: refactored to avoid clash and duplicate class with modules/testing. Package for modules/testing-util is now org.aspectj.testingutil --- .../aspectj/testing/util/TestCompareClassFile.java | 148 --------------------- .../org/aspectj/testing/util/TestUtilTest.java | 115 ---------------- .../org/aspectj/testing/util/UtilTests.java | 33 ----- .../aspectj/testingutil/TestCompareClassFile.java | 147 ++++++++++++++++++++ .../org/aspectj/testingutil/TestUtilTest.java | 116 ++++++++++++++++ .../testsrc/org/aspectj/testingutil/UtilTests.java | 31 +++++ 6 files changed, 294 insertions(+), 296 deletions(-) delete mode 100644 testing-util/testsrc/org/aspectj/testing/util/TestCompareClassFile.java delete mode 100644 testing-util/testsrc/org/aspectj/testing/util/TestUtilTest.java delete mode 100644 testing-util/testsrc/org/aspectj/testing/util/UtilTests.java create mode 100644 testing-util/testsrc/org/aspectj/testingutil/TestCompareClassFile.java create mode 100644 testing-util/testsrc/org/aspectj/testingutil/TestUtilTest.java create mode 100644 testing-util/testsrc/org/aspectj/testingutil/UtilTests.java (limited to 'testing-util/testsrc/org/aspectj') diff --git a/testing-util/testsrc/org/aspectj/testing/util/TestCompareClassFile.java b/testing-util/testsrc/org/aspectj/testing/util/TestCompareClassFile.java deleted file mode 100644 index e4dcf8050..000000000 --- a/testing-util/testsrc/org/aspectj/testing/util/TestCompareClassFile.java +++ /dev/null @@ -1,148 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 1999-2001 Xerox Corporation, - * 2002 Palo Alto Research Center, Incorporated (PARC). - * All rights reserved. - * This program and the accompanying materials are made available - * under the terms of the Common Public License v1.0 - * which accompanies this distribution and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * Xerox/PARC initial implementation - * ******************************************************************/ - -package org.aspectj.testing.util; - -import org.aspectj.util.LangUtil; - -import java.lang.reflect.Array; -import java.util.ArrayList; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; -import java.util.SortedSet; -import java.util.StringTokenizer; -import java.util.TreeSet; - -/** - * This is source for a sample .class file. - * It is compiled and the corresponding .class files are - * checked in under the testdata directory. - * It has no other purpose. - */ -public class TestCompareClassFile implements Runnable { - public static final String STATIC_CONST = "STATIC_CONST"; - public static void main(String[] args) { - // tc static references - long l = Math.abs(System.currentTimeMillis()); - String s = STATIC_CONST + " is constant"; - } - public static void runStatic() { - } - private static void privateRunStatic() { - } - static void defaultRunStatic() { - } - protected static void protectedRunStatic() { - } - - private long privateLong; - private final Object privateFinalObject; - - private TestCompareClassFile() { - super(); - privateLong = System.currentTimeMillis(); - // method-local inner class - privateFinalObject = new Runnable() { public void run(){}}; - } - - /** implement Runnable */ - public void run() { - } - private void privateRun() { - } - void defaultRun() { - } - protected void protectedRun() { - } - - // ------- misc stolen utility code - // Collections Util - public static List getListInMap(Map map, Object key) { - List list = (List)map.get(key); - if (list == null) { - list = new ArrayList(); - map.put(key, list); - } - return list; - } - - public static SortedSet getSortedSetInMap(Map map, Object key) { - SortedSet list = (SortedSet)map.get(key); - if (list == null) { - list = new TreeSet(); - map.put(key, list); - } - return list; - } - - // LangUtil - /** - * Make a copy of the array. - * @return an array with the same component type as source - * containing same elements, even if null. - * @throws IllegalArgumentException if source is null - */ - public static final Object[] copy(Object[] source) { - final Class c = source.getClass().getComponentType(); - Object[] result = (Object[]) Array.newInstance(c, source.length); - System.arraycopy(source, 0, result, 0, result.length); - return result; - } - /** - * Trim ending lines from a StringBuffer, - * clipping to maxLines and further removing any number of - * trailing lines accepted by checker. - * @param checker returns true if trailing line should be elided. - * @param stack StringBuffer with lines to elide - * @param maxLines int for maximum number of resulting lines - */ - static void elideEndingLines(StringBuffer stack, int maxLines) { - if ((null == stack) || (0 == stack.length())) { - return; - } - final LinkedList lines = new LinkedList(); - StringTokenizer st = new StringTokenizer(stack.toString(),"\n\r"); - while (st.hasMoreTokens() && (0 < --maxLines)) { - lines.add(st.nextToken()); - } - st = null; - - String line; - int elided = 0; - while (!lines.isEmpty()) { - line = (String) lines.getLast(); - if (null == line) { - break; - } else { - elided++; - lines.removeLast(); - } - } - if ((elided > 0) || (maxLines < 1)) { - final int EOL_LEN = LangUtil.EOL.length(); - int totalLength = 0; - while (!lines.isEmpty()) { - totalLength += EOL_LEN + ((String) lines.getFirst()).length(); - lines.removeFirst(); - } - if (stack.length() > totalLength) { - stack.setLength(totalLength); - if (elided > 0) { - stack.append(" (... " + elided + " lines...)"); - } - } - } - } - -} diff --git a/testing-util/testsrc/org/aspectj/testing/util/TestUtilTest.java b/testing-util/testsrc/org/aspectj/testing/util/TestUtilTest.java deleted file mode 100644 index 41abff3c9..000000000 --- a/testing-util/testsrc/org/aspectj/testing/util/TestUtilTest.java +++ /dev/null @@ -1,115 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 1999-2001 Xerox Corporation, - * 2002 Palo Alto Research Center, Incorporated (PARC). - * All rights reserved. - * This program and the accompanying materials are made available - * under the terms of the Common Public License v1.0 - * which accompanies this distribution and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * Xerox/PARC initial implementation - * ******************************************************************/ - -package org.aspectj.testing.util; - -import java.io.File; -import java.io.IOException; - -import junit.framework.TestCase; - -import org.aspectj.bridge.MessageHandler; -import org.aspectj.bridge.MessageUtil; -import org.aspectj.util.FileUtil; - -/** - * - */ -public class TestUtilTest extends TestCase { - - public TestUtilTest(String name) { - super(name); - } - - public void testFileCompareNonClass() throws IOException { - MessageHandler holder = new MessageHandler(); - File thisFile = new File(UtilTests.TESTING_UTIL_PATH + "/testsrc/org/aspectj/testing/util/TestUtilTest.java"); - //File thisFile = new File("src/testing-util.lst"); - assertTrue(TestUtil.sameFiles(holder, thisFile, thisFile)); - - File tempFile = File.createTempFile("TestUtilTest", ".tmp"); - FileUtil.copyFile(thisFile, tempFile); - long len = tempFile.length(); - assertTrue(0 != len); - long tlen = thisFile.length(); - assertEquals(tlen, len); - assertTrue(TestUtil.sameFiles(holder, tempFile, thisFile)); - try { - String path = thisFile.getName(); - File basedir = tempFile.getParentFile(); - File renamed = new File(basedir, path); - if (!tempFile.renameTo(renamed)) { - MessageUtil.warn(holder, "unable to rename " + tempFile + " to " + renamed); - } else { - len = renamed.length(); - assertEquals(tlen, len); - assertTrue(TestUtil.sameFiles(holder, basedir, thisFile.getParentFile(), path)); - } - } finally { - if (0 < holder.numMessages(null, true)) { - MessageUtil.print(System.out, holder); - holder.clearMessages(); - } - tempFile.delete(); - } - } - - public void testFileCompareNonClassStaticPositive() throws IOException { - MessageHandler holder = new MessageHandler(); - File basedir = new File(UtilTests.TESTING_UTIL_PATH + "/testdata/testCompareTextFiles/sameFile"); - File expectedBaseDir = new File(basedir, "expected"); - File actualBaseDir = new File(basedir, "actual"); - String filename = "TestUtilTest.java"; - File expected = new File(expectedBaseDir, filename); - File actual = new File(actualBaseDir, filename); - - assertTrue(TestUtil.sameFiles(holder, expected, actual)); - - assertTrue(TestUtil.sameFiles(holder, expectedBaseDir, actualBaseDir, filename)); - } - - public void testFileCompareNonClassStaticNegative() throws IOException { - MessageHandler holder = new MessageHandler(); - File basedir = new File("testdata/testCompareTextFiles/differentFile"); - File expectedBaseDir = new File(basedir, "expected"); - File actualBaseDir = new File(basedir, "actual"); - String filename = "TestUtilTest.java"; - File expected = new File(expectedBaseDir, filename); - File actual = new File(actualBaseDir, filename); - - assertTrue(!TestUtil.sameFiles(holder, expected, actual)); - - assertTrue(!TestUtil.sameFiles(holder, expectedBaseDir, actualBaseDir, filename)); - } - - public void testFileCompareClass() throws IOException { - if (!TestUtil.ClassLineator.haveDisassembler()) { - System.err.println("skipping testFileCompareClass - no disassembler on classpath"); - return; - } - MessageHandler holder = new MessageHandler(); - File classBase = new File(UtilTests.TESTING_UTIL_PATH + "/testdata/testCompareClassFiles"); - String path = "org/aspectj/testing/util/TestCompareClassFile.class"; - File classFile = new File(classBase, path); - - try { - assertTrue(TestUtil.sameFiles(holder, classFile, classFile)); - assertTrue(TestUtil.sameFiles(holder, classBase, classBase, path)); - } finally { - if (0 < holder.numMessages(null, true)) { - MessageUtil.print(System.out, holder); - } - } - } - -} diff --git a/testing-util/testsrc/org/aspectj/testing/util/UtilTests.java b/testing-util/testsrc/org/aspectj/testing/util/UtilTests.java deleted file mode 100644 index cd36e8b60..000000000 --- a/testing-util/testsrc/org/aspectj/testing/util/UtilTests.java +++ /dev/null @@ -1,33 +0,0 @@ -/* ******************************************************************* - * Copyright (c) 1999-2001 Xerox Corporation, - * 2002 Palo Alto Research Center, Incorporated (PARC). - * All rights reserved. - * This program and the accompanying materials are made available - * under the terms of the Common Public License v1.0 - * which accompanies this distribution and is available at - * http://www.eclipse.org/legal/cpl-v10.html - * - * Contributors: - * Xerox/PARC initial implementation - * ******************************************************************/ - - -package org.aspectj.testing.util; - -import junit.framework.*; - -public class UtilTests extends TestCase { - - public static final String TESTING_UTIL_PATH = "../testing-util"; - public static Test suite() { - TestSuite suite = new TestSuite(UtilTests.class.getName()); - // for now, do not include SuiteTest because it would take 15 minutes - //$JUnit-BEGIN$ - suite.addTestSuite(TestUtilTest.class); - //$JUnit-END$ - return suite; - } - - public UtilTests(String name) { super(name); } - -} diff --git a/testing-util/testsrc/org/aspectj/testingutil/TestCompareClassFile.java b/testing-util/testsrc/org/aspectj/testingutil/TestCompareClassFile.java new file mode 100644 index 000000000..61e88e97a --- /dev/null +++ b/testing-util/testsrc/org/aspectj/testingutil/TestCompareClassFile.java @@ -0,0 +1,147 @@ +/* ******************************************************************* + * Copyright (c) 1999-2001 Xerox Corporation, + * 2002 Palo Alto Research Center, Incorporated (PARC). + * All rights reserved. + * This program and the accompanying materials are made available + * under the terms of the Common Public License v1.0 + * which accompanies this distribution and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: + * Xerox/PARC initial implementation + * ******************************************************************/ + +package org.aspectj.testingutil; + +import org.aspectj.util.LangUtil; + +import java.lang.reflect.Array; +import java.util.ArrayList; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import java.util.SortedSet; +import java.util.StringTokenizer; +import java.util.TreeSet; + +/** + * This is source for a sample .class file. + * It is compiled and the corresponding .class files are + * checked in under the testdata directory. + * It has no other purpose. + */ +public class TestCompareClassFile implements Runnable { + public static final String STATIC_CONST = "STATIC_CONST"; + public static void main(String[] args) { + // tc static references + long l = Math.abs(System.currentTimeMillis()); + String s = STATIC_CONST + " is constant"; + } + public static void runStatic() { + } + private static void privateRunStatic() { + } + static void defaultRunStatic() { + } + protected static void protectedRunStatic() { + } + + private long privateLong; + private final Object privateFinalObject; + + private TestCompareClassFile() { + super(); + privateLong = System.currentTimeMillis(); + // method-local inner class + privateFinalObject = new Runnable() { public void run(){}}; + } + + /** implement Runnable */ + public void run() { + } + private void privateRun() { + } + void defaultRun() { + } + protected void protectedRun() { + } + + // ------- misc stolen utility code + // Collections Util + public static List getListInMap(Map map, Object key) { + List list = (List)map.get(key); + if (list == null) { + list = new ArrayList(); + map.put(key, list); + } + return list; + } + + public static SortedSet getSortedSetInMap(Map map, Object key) { + SortedSet list = (SortedSet)map.get(key); + if (list == null) { + list = new TreeSet(); + map.put(key, list); + } + return list; + } + + // LangUtil + /** + * Make a copy of the array. + * @return an array with the same component type as source + * containing same elements, even if null. + * @throws IllegalArgumentException if source is null + */ + public static final Object[] copy(Object[] source) { + final Class c = source.getClass().getComponentType(); + Object[] result = (Object[]) Array.newInstance(c, source.length); + System.arraycopy(source, 0, result, 0, result.length); + return result; + } + /** + * Trim ending lines from a StringBuffer, + * clipping to maxLines and further removing any number of + * trailing lines accepted by checker. + * @param stack StringBuffer with lines to elide + * @param maxLines int for maximum number of resulting lines + */ + static void elideEndingLines(StringBuffer stack, int maxLines) { + if ((null == stack) || (0 == stack.length())) { + return; + } + final LinkedList lines = new LinkedList(); + StringTokenizer st = new StringTokenizer(stack.toString(),"\n\r"); + while (st.hasMoreTokens() && (0 < --maxLines)) { + lines.add(st.nextToken()); + } + st = null; + + String line; + int elided = 0; + while (!lines.isEmpty()) { + line = (String) lines.getLast(); + if (null == line) { + break; + } else { + elided++; + lines.removeLast(); + } + } + if ((elided > 0) || (maxLines < 1)) { + final int EOL_LEN = LangUtil.EOL.length(); + int totalLength = 0; + while (!lines.isEmpty()) { + totalLength += EOL_LEN + ((String) lines.getFirst()).length(); + lines.removeFirst(); + } + if (stack.length() > totalLength) { + stack.setLength(totalLength); + if (elided > 0) { + stack.append(" (... " + elided + " lines...)"); + } + } + } + } + +} diff --git a/testing-util/testsrc/org/aspectj/testingutil/TestUtilTest.java b/testing-util/testsrc/org/aspectj/testingutil/TestUtilTest.java new file mode 100644 index 000000000..00fb0f385 --- /dev/null +++ b/testing-util/testsrc/org/aspectj/testingutil/TestUtilTest.java @@ -0,0 +1,116 @@ +/* ******************************************************************* + * Copyright (c) 1999-2001 Xerox Corporation, + * 2002 Palo Alto Research Center, Incorporated (PARC). + * All rights reserved. + * This program and the accompanying materials are made available + * under the terms of the Common Public License v1.0 + * which accompanies this distribution and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: + * Xerox/PARC initial implementation + * ******************************************************************/ + +package org.aspectj.testingutil; + +import java.io.File; +import java.io.IOException; + +import junit.framework.TestCase; + +import org.aspectj.bridge.MessageHandler; +import org.aspectj.bridge.MessageUtil; +import org.aspectj.util.FileUtil; +import org.aspectj.testing.util.TestUtil; + +/** + * + */ +public class TestUtilTest extends TestCase { + + public TestUtilTest(String name) { + super(name); + } + + public void testFileCompareNonClass() throws IOException { + MessageHandler holder = new MessageHandler(); + File thisFile = new File(UtilTests.TESTING_UTIL_PATH + "/testsrc/org/aspectj/testingutil/TestUtilTest.java"); + //File thisFile = new File("src/testing-util.lst"); + assertTrue(TestUtil.sameFiles(holder, thisFile, thisFile)); + + File tempFile = File.createTempFile("TestUtilTest", ".tmp"); + FileUtil.copyFile(thisFile, tempFile); + long len = tempFile.length(); + assertTrue(0 != len); + long tlen = thisFile.length(); + assertEquals(tlen, len); + assertTrue(TestUtil.sameFiles(holder, tempFile, thisFile)); + try { + String path = thisFile.getName(); + File basedir = tempFile.getParentFile(); + File renamed = new File(basedir, path); + if (!tempFile.renameTo(renamed)) { + MessageUtil.warn(holder, "unable to rename " + tempFile + " to " + renamed); + } else { + len = renamed.length(); + assertEquals(tlen, len); + assertTrue(TestUtil.sameFiles(holder, basedir, thisFile.getParentFile(), path)); + } + } finally { + if (0 < holder.numMessages(null, true)) { + MessageUtil.print(System.out, holder); + holder.clearMessages(); + } + tempFile.delete(); + } + } + + public void testFileCompareNonClassStaticPositive() throws IOException { + MessageHandler holder = new MessageHandler(); + File basedir = new File(UtilTests.TESTING_UTIL_PATH + "/testdata/testCompareTextFiles/sameFile"); + File expectedBaseDir = new File(basedir, "expected"); + File actualBaseDir = new File(basedir, "actual"); + String filename = "TestUtilTest.java"; + File expected = new File(expectedBaseDir, filename); + File actual = new File(actualBaseDir, filename); + + assertTrue(TestUtil.sameFiles(holder, expected, actual)); + + assertTrue(TestUtil.sameFiles(holder, expectedBaseDir, actualBaseDir, filename)); + } + + public void testFileCompareNonClassStaticNegative() throws IOException { + MessageHandler holder = new MessageHandler(); + File basedir = new File("testdata/testCompareTextFiles/differentFile"); + File expectedBaseDir = new File(basedir, "expected"); + File actualBaseDir = new File(basedir, "actual"); + String filename = "TestUtilTest.java"; + File expected = new File(expectedBaseDir, filename); + File actual = new File(actualBaseDir, filename); + + assertTrue(!TestUtil.sameFiles(holder, expected, actual)); + + assertTrue(!TestUtil.sameFiles(holder, expectedBaseDir, actualBaseDir, filename)); + } + + public void testFileCompareClass() throws IOException { + if (!TestUtil.ClassLineator.haveDisassembler()) { + System.err.println("skipping testFileCompareClass - no disassembler on classpath"); + return; + } + MessageHandler holder = new MessageHandler(); + File classBase = new File(UtilTests.TESTING_UTIL_PATH + "/testdata/testCompareClassFiles"); + String path = "org/aspectj/testingutil/TestCompareClassFile.class"; + File classFile = new File(classBase, path); + + try { + assertTrue(TestUtil.sameFiles(holder, classFile, classFile)); + assertTrue(TestUtil.sameFiles(holder, classBase, classBase, path)); + } finally { + if (0 < holder.numMessages(null, true)) { + MessageUtil.print(System.out, holder); + } + } + } + +} diff --git a/testing-util/testsrc/org/aspectj/testingutil/UtilTests.java b/testing-util/testsrc/org/aspectj/testingutil/UtilTests.java new file mode 100644 index 000000000..f23834fa7 --- /dev/null +++ b/testing-util/testsrc/org/aspectj/testingutil/UtilTests.java @@ -0,0 +1,31 @@ +/* ******************************************************************* + * Copyright (c) 1999-2001 Xerox Corporation, + * 2002 Palo Alto Research Center, Incorporated (PARC). + * All rights reserved. + * This program and the accompanying materials are made available + * under the terms of the Common Public License v1.0 + * which accompanies this distribution and is available at + * http://www.eclipse.org/legal/cpl-v10.html + * + * Contributors: + * Xerox/PARC initial implementation + * ******************************************************************/ +package org.aspectj.testingutil; + +import junit.framework.*; + +public class UtilTests extends TestCase { + + public static final String TESTING_UTIL_PATH = "../testing-util"; + public static Test suite() { + TestSuite suite = new TestSuite(UtilTests.class.getName()); + // for now, do not include SuiteTest because it would take 15 minutes + //$JUnit-BEGIN$ + suite.addTestSuite(TestUtilTest.class); + //$JUnit-END$ + return suite; + } + + public UtilTests(String name) { super(name); } + +} -- cgit v1.2.3