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
-~----------~----~----~----~------~----~------~--~---

Reply via email to