Revision: 5949
Author: [email protected]
Date: Tue Aug 11 19:16:05 2009
Log: Make SerializableTypeOracleBuilderTest run much faster by not building
the same type oracle over and over.
http://code.google.com/p/google-web-toolkit/source/detail?r=5949
Modified:
/trunk/user/test/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilderTest.java
=======================================
---
/trunk/user/test/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilderTest.java
Tue Aug 11 19:15:27 2009
+++
/trunk/user/test/com/google/gwt/user/rebind/rpc/SerializableTypeOracleBuilderTest.java
Tue Aug 11 19:16:05 2009
@@ -106,6 +106,8 @@
private static final int EXPOSURE_NONE =
TypeParameterExposureComputer.EXPOSURE_NONE;
+ private static TypeOracle sTypeOracle;
+
private static void addGwtTransient(Set<CompilationUnit> units) {
StringBuffer code = new StringBuffer();
code.append("package com.google.gwt.user.client.rpc;\n");
@@ -250,6 +252,20 @@
sort(actual);
return actual;
}
+
+ private static TypeOracle getTestTypeOracle()
+ throws UnableToCompleteException {
+ if (sTypeOracle == null) {
+ TreeLogger logger = createLogger();
+ ModuleDef moduleDef = ModuleDefLoader.createSyntheticModule(logger,
+ "com.google.gwt.user.rebind.rpc.testcases.RebindRPCTestCases.JUnit",
+ new String[] {
+ "com.google.gwt.user.rebind.rpc.testcases.RebindRPCTestCases",
+ "com.google.gwt.junit.JUnit"}, true);
+ sTypeOracle = moduleDef.getTypeOracle(logger);
+ }
+ return sTypeOracle;
+ }
private static String makeSourceName(String binaryName) {
return binaryName.replace('$', '.');
@@ -290,21 +306,6 @@
assertTrue("Expected: \n" + toString(expected) + ",\n Actual: \n"
+ toString(actual), Arrays.equals(expected, actual));
}
-
- private final ModuleDef moduleDef;
-
- private final TypeOracle typeOracle;
-
- public SerializableTypeOracleBuilderTest() throws
UnableToCompleteException {
- TreeLogger logger = createLogger();
-
- moduleDef = ModuleDefLoader.createSyntheticModule(logger,
- "com.google.gwt.user.rebind.rpc.testcases.RebindRPCTestCases.JUnit",
- new String[] {
- "com.google.gwt.user.rebind.rpc.testcases.RebindRPCTestCases",
- "com.google.gwt.junit.JUnit"}, true);
- typeOracle = moduleDef.getTypeOracle(logger);
- }
/**
* Test with a generic class whose type parameter is exposed only in
certain
@@ -872,6 +873,7 @@
throws NotFoundException, UnableToCompleteException {
TreeLogger logger = createLogger();
+ TypeOracle typeOracle = getTestTypeOracle();
JRawType rawType = typeOracle.getType(
ClassWithTypeParameterThatErasesToObject.class.getCanonicalName()).isGenericType().getRawType();
@@ -1400,6 +1402,7 @@
UnableToCompleteException {
TreeLogger logger = createLogger();
+ TypeOracle typeOracle = getTestTypeOracle();
SerializableTypeOracleBuilder stob =
createSerializableTypeOracleBuilder(
logger, typeOracle);
JClassType a =
typeOracle.getType(ManualSerialization.A.class.getCanonicalName());
@@ -1418,6 +1421,7 @@
UnableToCompleteException {
TreeLogger logger = createLogger();
+ TypeOracle typeOracle = getTestTypeOracle();
JClassType rawList = typeOracle.getType(List.class.getName());
SerializableTypeOracleBuilder stob =
createSerializableTypeOracleBuilder(
logger, typeOracle);
@@ -1562,6 +1566,7 @@
UnableToCompleteException {
TreeLogger logger = createLogger();
+ TypeOracle typeOracle = getTestTypeOracle();
JClassType a =
typeOracle.getType(NoSerializableTypes.A.class.getCanonicalName());
SerializableTypeOracleBuilder stob =
createSerializableTypeOracleBuilder(
logger, typeOracle);
@@ -1583,6 +1588,7 @@
throws UnableToCompleteException, NotFoundException {
TreeLogger logger = createLogger();
+ TypeOracle typeOracle = getTestTypeOracle();
JClassType a =
typeOracle.getType(NotAllSubtypesAreSerializable.A.class.getCanonicalName());
SerializableTypeOracleBuilder stob =
createSerializableTypeOracleBuilder(
logger, typeOracle);
@@ -1605,6 +1611,7 @@
public void testObjectArrayNotInstantiable() throws
UnableToCompleteException {
TreeLogger logger = createLogger();
+ TypeOracle typeOracle = getTestTypeOracle();
JArrayType objectArray =
typeOracle.getArrayType(typeOracle.getJavaLangObject());
SerializableTypeOracleBuilder stob =
createSerializableTypeOracleBuilder(
logger, typeOracle);
@@ -1623,6 +1630,7 @@
public void testObjectNotInstantiable() throws UnableToCompleteException
{
TreeLogger logger = createLogger();
+ TypeOracle typeOracle = getTestTypeOracle();
SerializableTypeOracleBuilder stob =
createSerializableTypeOracleBuilder(
logger, typeOracle);
stob.addRootType(logger, typeOracle.getJavaLangObject());
@@ -1642,6 +1650,7 @@
throws UnableToCompleteException, NotFoundException {
TreeLogger logger = createLogger();
+ TypeOracle typeOracle = getTestTypeOracle();
SerializableTypeOracleBuilder stob =
createSerializableTypeOracleBuilder(
logger, typeOracle);
stob.addRootType(
--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---