[webbeans-commits] Webbeans SVN: r1467 - ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration and 16 other directories.

webbeans-commits at lists.jboss.org webbeans-commits at lists.jboss.org
Mon Feb 9 08:13:29 EST 2009


Author: pete.muir at jboss.org
Date: 2009-02-09 08:13:29 -0500 (Mon, 09 Feb 2009)
New Revision: 1467

Added:
   ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/
   ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/ContainersImpl.java
   tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/Configurable.java
Removed:
   ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jboss/
   ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/ContainersImpl.java
   tck/trunk/impl/src/test/resources/org/jboss/jsr299/tck/test/impl/packaging/declarativeArtifact/unspecified/
Modified:
   ri/trunk/jboss-tck-runner/pom.xml
   ri/trunk/jboss-tck-runner/src/main/resources/META-INF/web-beans-tck.properties
   ri/trunk/jboss-tck-runner/src/test/resources/log4j.xml
   tck/trunk/api/pom.xml
   tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/Configuration.java
   tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/TCK.java
   tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/TestLauncher.java
   tck/trunk/api/src/main/java/org/jboss/jsr299/tck/spi/Containers.java
   tck/trunk/impl/pom.xml
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/ConfigurationImpl.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/PropertiesBasedConfigurationImpl.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/TCKImpl.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ArtifactScanner.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/TestSuiteLauncher.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/servlet/ServletTestLauncher.java
   tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/servlet/ServletTestRunner.java
   tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/impl/packaging/war/default/web.xml
   tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/tck/TCKArtifactTest.java
   tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/scanner/ArtifactScannerTest.java
Log:
Lots of improvements for in-container tests

Modified: ri/trunk/jboss-tck-runner/pom.xml
===================================================================
--- ri/trunk/jboss-tck-runner/pom.xml	2009-02-09 11:22:26 UTC (rev 1466)
+++ ri/trunk/jboss-tck-runner/pom.xml	2009-02-09 13:13:29 UTC (rev 1467)
@@ -20,7 +20,6 @@
       <dependency>
          <groupId>org.jboss.webbeans</groupId>
          <artifactId>webbeans-ri</artifactId>
-         <scope>test</scope>
       </dependency>
 
       <dependency>
@@ -50,15 +49,39 @@
    
    <profiles>
       <profile>
-         <id>integration-tests</id>
+         <id>incontainer</id>
          <activation>
             <property>
-               <name>integration</name>
+               <name>incontainer</name>
             </property>
          </activation>
          <build>
             <plugins>
                <plugin>
+                  <groupId>org.apache.maven.plugins</groupId>
+                  <artifactId>maven-dependency-plugin</artifactId>
+                  <executions>
+                     <execution>
+                        <id>copy</id>
+                        <phase>generate-test-sources</phase>
+                        <goals>
+                           <goal>copy</goal>
+                        </goals>
+                        <configuration>
+                           <stripVersion>true</stripVersion>
+                           <artifactItems>
+                              <artifactItem>
+                                 <groupId>org.jboss.webbeans</groupId>
+                                 <artifactId>webbeans-porting-package</artifactId>
+                                 <overWrite>true</overWrite>
+                                 <outputDirectory>${project.build.directory}/dependency/lib</outputDirectory>
+                              </artifactItem>
+                           </artifactItems>
+                        </configuration>
+                     </execution>
+                  </executions>
+               </plugin>
+               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-antrun-plugin</artifactId>
                  <executions>
@@ -69,6 +92,11 @@
                        <tasks>
                          <java classname="org.jboss.jsr299.tck.api.TCK" classpathref="maven.test.classpath" failonerror="true" fork="true">
                             <jvmarg line="-DrunSuite=true"/>
+                            <jvmarg line="-Dorg.jboss.jsr299.tck.standalone=false"/>
+                            <jvmarg line="-DjbossHome=/Applications/jboss-5.0.0.GA"/>
+                            <jvmarg line="-Dorg.jboss.jsr299.tck.deploymentDelay=8000"/>
+                            <jvmarg line="-DdumpConfiguration=true" />
+                            <jvmarg line="-Dorg.jboss.jsr299.tck.libraryDirectory=${project.build.directory}/dependency/lib"/>
                          </java>
                        </tasks>
                      </configuration>

Copied: ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas (from rev 1462, ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jboss)

Deleted: ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/ContainersImpl.java
===================================================================
--- ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jboss/ContainersImpl.java	2009-02-08 22:44:55 UTC (rev 1462)
+++ ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/ContainersImpl.java	2009-02-09 13:13:29 UTC (rev 1467)
@@ -1,52 +0,0 @@
-package org.jboss.webbeans.tck.integration.jboss;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.OutputStream;
-
-import org.jboss.jsr299.tck.spi.Containers;
-
-
-public class ContainersImpl implements Containers
-{
-   
-   public static final String JBOSS_HOME = "/Applications/jboss-5.0.0.GA";
-   
-   private final File deployDir;
-   
-   public ContainersImpl()
-   {
-      deployDir = new File(JBOSS_HOME, "server/default/deploy");
-      if (!deployDir.isDirectory())
-      {
-         throw new IllegalArgumentException(deployDir.getPath() + " is not a directory"); 
-      }
-   }
-   
-   public void deploy(InputStream archive, String name) throws Exception
-   {
-      File file = new File(deployDir, name);
-      file.createNewFile();
-      copy(archive, file);
-   }
-   
-   private static void copy(InputStream inputStream, File file) throws IOException
-   {
-      OutputStream os = new FileOutputStream(file);
-      try 
-      {
-         byte[] buf = new byte[1024];
-         int i = 0;
-         while ((i = inputStream.read(buf)) != -1) 
-         {
-             os.write(buf, 0, i);
-         }
-     } 
-     finally 
-     {
-         os.close();
-     }
-   }
-   
-}

Copied: ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/ContainersImpl.java (from rev 1466, ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jboss/ContainersImpl.java)
===================================================================
--- ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/ContainersImpl.java	                        (rev 0)
+++ ri/trunk/jboss-tck-runner/src/main/java/org/jboss/webbeans/tck/integration/jbossas/ContainersImpl.java	2009-02-09 13:13:29 UTC (rev 1467)
@@ -0,0 +1,122 @@
+package org.jboss.webbeans.tck.integration.jbossas;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
+import java.net.HttpURLConnection;
+import java.net.MalformedURLException;
+import java.net.URL;
+import java.net.URLConnection;
+
+import org.apache.log4j.Logger;
+import org.jboss.jsr299.tck.api.Configurable;
+import org.jboss.jsr299.tck.api.Configuration;
+import org.jboss.jsr299.tck.spi.Containers;
+
+
+public class ContainersImpl implements Containers, Configurable
+{
+   
+   private Logger log = Logger.getLogger(ContainersImpl.class);
+   
+   public static final String JBOSS_HOME_PROPERTY_NAME = "jbossHome";
+   
+   private File deployDir;
+   private Configuration configuration;
+   
+   private boolean validated;
+   
+   public void setConfiguration(Configuration configuration)
+   {
+      this.configuration = configuration;
+      
+     
+   }
+   
+   protected void validate()
+   {
+      String jbossHome = System.getProperty(JBOSS_HOME_PROPERTY_NAME);
+      if (jbossHome == null)
+      {
+         throw new IllegalArgumentException("-DjbossHome must be set");
+      }
+      deployDir = new File(jbossHome, "server/default/deploy");
+      if (!deployDir.isDirectory())
+      {
+         throw new IllegalArgumentException(deployDir.getPath() + " is not a directory"); 
+      }
+      log.info("Deploying TCK artifacts to " + deployDir.getPath());
+      
+      // Check that JBoss is up!
+      String url = "http://" + configuration.getHost() + "/";
+      try
+      {
+         URLConnection connection = new URL(url).openConnection();
+         if (!(connection instanceof HttpURLConnection))
+         {
+            throw new IllegalStateException("Not an http connection! " + connection);
+         }
+         HttpURLConnection httpConnection = (HttpURLConnection) connection;
+         httpConnection.connect();
+         if (httpConnection.getResponseCode() != HttpURLConnection.HTTP_OK)
+         {
+            throw new IllegalStateException("Error connecting to JBoss AS at " + url);
+         }
+      }
+      catch (Exception e) 
+      {
+         throw new IllegalStateException("Cannot connect to JBoss AS", e);
+      }
+      log.info("Successfully connected to JBoss AS at " + url);
+      
+   }
+   
+   public ContainersImpl() throws MalformedURLException, IOException
+   {
+      
+   }
+   
+   
+   
+   public void deploy(InputStream archive, String name) throws Exception
+   {
+      if (!validated)
+      {
+         validate();
+      }
+      File file = new File(deployDir, name);
+      log.info("Deploying test " + name);
+      file.createNewFile();
+      copy(archive, file);
+   }
+   
+   private static void copy(InputStream inputStream, File file) throws IOException
+   {
+      OutputStream os = new FileOutputStream(file);
+      try 
+      {
+         byte[] buf = new byte[1024];
+         int i = 0;
+         while ((i = inputStream.read(buf)) != -1) 
+         {
+             os.write(buf, 0, i);
+         }
+     } 
+     finally 
+     {
+         os.close();
+     }
+   }
+   
+   public void undeploy(String name) throws Exception
+   {
+      File file = new File(deployDir, name);
+      if (file.exists())
+      {
+         //file.delete();
+      }
+      Thread.sleep(1000);
+   }
+   
+}

Modified: ri/trunk/jboss-tck-runner/src/main/resources/META-INF/web-beans-tck.properties
===================================================================
--- ri/trunk/jboss-tck-runner/src/main/resources/META-INF/web-beans-tck.properties	2009-02-09 11:22:26 UTC (rev 1466)
+++ ri/trunk/jboss-tck-runner/src/main/resources/META-INF/web-beans-tck.properties	2009-02-09 13:13:29 UTC (rev 1467)
@@ -1 +1,2 @@
-org.jboss.jsr299.tck.spi.Containers=org.jboss.webbeans.tck.integration.ContainersImpl
\ No newline at end of file
+org.jboss.jsr299.tck.spi.Containers=org.jboss.webbeans.tck.integration.jbossas.ContainersImpl
+org.jboss.jsr299.tck.api.TestLauncher=org.jboss.jsr299.tck.impl.runner.servlet.ServletTestLauncher
\ No newline at end of file

Modified: ri/trunk/jboss-tck-runner/src/test/resources/log4j.xml
===================================================================
--- ri/trunk/jboss-tck-runner/src/test/resources/log4j.xml	2009-02-09 11:22:26 UTC (rev 1466)
+++ ri/trunk/jboss-tck-runner/src/test/resources/log4j.xml	2009-02-09 13:13:29 UTC (rev 1467)
@@ -12,7 +12,7 @@
 
     <!-- ############### Embedded EJB3 #################  -->
     <category name="org.jboss">
-        <priority value="INFO"/>
+        <priority value="ERROR"/>
     </category>
     <category name="com.arjuna">
         <priority value="ERROR"/>
@@ -44,7 +44,7 @@
     <!-- ############### Web Beans logging ################### -->
 
     <category name="org.jboss.webbeans">
-        <priority value="INFO"/>
+        <priority value="ERROR"/>
     </category>
     
     <root>

Modified: tck/trunk/api/pom.xml
===================================================================
--- tck/trunk/api/pom.xml	2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/api/pom.xml	2009-02-09 13:13:29 UTC (rev 1467)
@@ -63,6 +63,42 @@
       </plugins>
    </build>
 
+   <profiles>
+      <profile>
+         <id>write-artifacts-to-disk</id>
+         <activation>
+            <property>
+               <name>dumpArtifacts</name>
+            </property>
+         </activation>
+         <build>
+            <plugins>
+               <plugin>
+                 <groupId>org.apache.maven.plugins</groupId>
+                 <artifactId>maven-antrun-plugin</artifactId>
+                 <executions>
+                   <execution>
+                     <id>package</id>
+                     <phase>package</phase>
+                     <configuration>
+                       <tasks>
+                         <java classname="org.jboss.jsr299.tck.api.TCK" classpathref="maven.compile.classpath" failonerror="true" fork="true">
+                            <jvmarg line="-DdumpArtifacts=true"/>
+                            <jvmarg line="-Dorg.jboss.jsr299.tck.outputDirectory=${project.build.directory}/jsr299-artifacts" />
+                            <jvmarg line="-Dorg.jboss.jsr299.tck.libraryDirectory=${libraryDirectory}" />
+                         </java>
+                         <echo>Dumped artifacts to ${project.build.directory}/jsr299-artifacts</echo>
+                       </tasks>
+                     </configuration>
+                     <goals>
+                       <goal>run</goal>
+                     </goals>
+                   </execution>
+                 </executions>
+               </plugin>
+            </plugins>
+         </build>
+      </profile>
+   </profiles>
 
-
 </project>

Added: tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/Configurable.java
===================================================================
--- tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/Configurable.java	                        (rev 0)
+++ tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/Configurable.java	2009-02-09 13:13:29 UTC (rev 1467)
@@ -0,0 +1,17 @@
+package org.jboss.jsr299.tck.api;
+
+/**
+ * If you implement this interface, the TCK will inject the configuration into
+ * your implementation in the post-construct phase.
+ * 
+ * This interface can be implemented by any implementation of a TCK SPI.
+ * 
+ * @author Pete Muir
+ *
+ */
+public interface Configurable
+{
+   
+   public void setConfiguration(Configuration configuration);
+   
+}


Property changes on: tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/Configurable.java
___________________________________________________________________
Name: svn:mime-type
   + text/plain

Modified: tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/Configuration.java
===================================================================
--- tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/Configuration.java	2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/Configuration.java	2009-02-09 13:13:29 UTC (rev 1467)
@@ -14,13 +14,12 @@
 public interface Configuration
 {
    
-   public static final String OUTPUT_DIRECTORY_PROPERTY_NAME = "org.jboss.webbeans.tck.outputDirectory";
-   public static final String STANDALONE_PROPERTY_NAME = "org.jboss.webbeans.tck.standalone";
-   public static final String RUN_INTEGRATION_TESTS_PROPERTY_NAME = "org.jboss.webbeans.tck.runIntegrationTests";
-   public static final String DEPLOYMENT_DELAY_PROPERTY_NAME = "org.jboss.webbeans.tck.deploymentDelay";
-   public static final String WRITE_DEPLOYED_ARCHIVES_TO_DISK_PROPERTY_NAME = "org.jboss.webbeans.tck.writeDeployedArchivesToDisk";
-   public static final String LIBRARY_DIRECTORY_PROPERTY_NAME = "org.jboss.webbeans.tck.outputDirectory";
-   public static final String HOST_PROPERTY_NAME = "org.jboss.webbeans.tck.host";
+   public static final String OUTPUT_DIRECTORY_PROPERTY_NAME = "org.jboss.jsr299.tck.outputDirectory";
+   public static final String STANDALONE_PROPERTY_NAME = "org.jboss.jsr299.tck.standalone";
+   public static final String RUN_INTEGRATION_TESTS_PROPERTY_NAME = "org.jboss.jsr299.tck.runIntegrationTests";
+   public static final String DEPLOYMENT_DELAY_PROPERTY_NAME = "org.jboss.jsr299.tck.deploymentDelay";
+   public static final String LIBRARY_DIRECTORY_PROPERTY_NAME = "org.jboss.jsr299.tck.libraryDirectory";
+   public static final String HOST_PROPERTY_NAME = "org.jboss.jsr299.tck.host";
    
    public static final String DEFAULT_OUTPUT_DIRECTORY = System.getProperty("java.io.tmpdir") + "/jsr-299-tck/";
    public static final boolean DEFAULT_STANDALONE = true;
@@ -36,8 +35,6 @@
    
    public int getDeploymentDelay();
    
-   public boolean isWriteDeployedArchivesToDisk();
-   
    public String getLibraryDirectory();
    
    public TestLauncher getInContainerTestLauncher();
@@ -58,7 +55,6 @@
 
    public void setDeploymentDelay(int deploymentDelay);
 
-   public void setWriteDeployedArchivesToDisk(boolean writeDeployedArchivesToDisk);
 
    public void setLibraryDirectory(String libraryDir);
 

Modified: tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/TCK.java
===================================================================
--- tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/TCK.java	2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/TCK.java	2009-02-09 13:13:29 UTC (rev 1467)
@@ -13,6 +13,8 @@
    
    public static final String DUMP_ARTIFACTS_PROPERTY_NAME = "dumpArtifacts";
    
+   public static final String DUMP_CONFIGURATION_PROPERTY_NAME = "dumpConfiguration";
+   
    public static final String RUN_SUITE_PROPERTY_NAME = "runSuite";
    
    /**
@@ -58,6 +60,10 @@
          TCK tck = newInstance();
          tck.runInContainerTests();
       }
+      if (isSystemPropertyTrue(DUMP_CONFIGURATION_PROPERTY_NAME))
+      {
+         System.out.println(newInstance().getConfiguration());
+      }
    }
 
    protected TCK()

Modified: tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/TestLauncher.java
===================================================================
--- tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/TestLauncher.java	2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/api/src/main/java/org/jboss/jsr299/tck/api/TestLauncher.java	2009-02-09 13:13:29 UTC (rev 1467)
@@ -1,6 +1,6 @@
 package org.jboss.jsr299.tck.api;
 
-import java.util.Collection;
+import java.util.List;
 
 import org.testng.ITestResult;
 
@@ -9,6 +9,6 @@
    
    public static final String PROPERTY_NAME = TestLauncher.class.getName();
    
-   public Collection<ITestResult> launchTest(Configuration configuration, Class<?> testClass) throws Exception;
+   public List<ITestResult> launchTest(Configuration configuration, Class<?> testClass) throws Exception;
    
 }

Modified: tck/trunk/api/src/main/java/org/jboss/jsr299/tck/spi/Containers.java
===================================================================
--- tck/trunk/api/src/main/java/org/jboss/jsr299/tck/spi/Containers.java	2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/api/src/main/java/org/jboss/jsr299/tck/spi/Containers.java	2009-02-09 13:13:29 UTC (rev 1467)
@@ -16,5 +16,7 @@
     * @return
     */
    public void deploy(InputStream archive, String name) throws Exception;
+   
+   public void undeploy(String name) throws Exception;
       
 }
\ No newline at end of file

Modified: tck/trunk/impl/pom.xml
===================================================================
--- tck/trunk/impl/pom.xml	2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/impl/pom.xml	2009-02-09 13:13:29 UTC (rev 1467)
@@ -189,41 +189,6 @@
         </plugins>
      </build>
    </profile>
-   <profile>
-      <id>write-artifacts-to-disk</id>
-      <activation>
-         <property>
-            <name>dumpArtifacts</name>
-         </property>
-      </activation>
-      <build>
-         <plugins>
-            <plugin>
-              <groupId>org.apache.maven.plugins</groupId>
-              <artifactId>maven-antrun-plugin</artifactId>
-              <executions>
-                <execution>
-                  <id>package</id>
-                  <phase>package</phase>
-                  <configuration>
-                    <tasks>
-                      <java classname="org.jboss.jsr299.tck.api.TCK" classpathref="maven.compile.classpath" failonerror="true" fork="true">
-                         <jvmarg line="-DdumpArtifacts=true"/>
-                         <jvmarg line="-Dorg.jboss.jsr299.tck.outputDirectory=${project.build.directory}/jsr299-artifacts" />
-                         <jvmarg line="-Dorg.jboss.jsr299.tck.libraryDirectory=${libraryDirectory}" />
-                      </java>
-                      <echo>Dumped artifacts to ${project.build.directory}/jsr299-artifacts</echo>
-                    </tasks>
-                  </configuration>
-                  <goals>
-                    <goal>run</goal>
-                  </goals>
-                </execution>
-              </executions>
-            </plugin>
-         </plugins>
-      </build>
-   </profile>
  </profiles>   
 
 </project>

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java	2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/AbstractTest.java	2009-02-09 13:13:29 UTC (rev 1467)
@@ -74,7 +74,7 @@
    public static boolean visited = false;
 
    @BeforeMethod
-   public final void before(Method testMethod)
+   public final void before(Method method)
    {
       manager = ConfigurationImpl.get().getManagers().getManager();
       if (getEnabledDeploymentTypes().size() > 0)
@@ -88,7 +88,7 @@
       if (ConfigurationImpl.get().isStandalone())
       {
          containers = ConfigurationImpl.get().getStandaloneContainers();
-         Class<?> declaringClass = testMethod.getDeclaringClass();
+         Class<?> declaringClass = method.getDeclaringClass();
          if (declaringClass.isAnnotationPresent(Artifact.class) || declaringClass.isAnnotationPresent(EjbArtifact.class))
          {
             DeclarativeArtifactProcessor processor = new DeclarativeArtifactProcessor(declaringClass, true, null);

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/ConfigurationImpl.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/ConfigurationImpl.java	2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/ConfigurationImpl.java	2009-02-09 13:13:29 UTC (rev 1467)
@@ -35,7 +35,6 @@
    private boolean standalone;
    private boolean runIntegrationTests;
    private int deploymentDelay;
-   private boolean writeDeployedArchivesToDisk;
    private String libraryDirectory;
    private TestLauncher testLauncher;
    private Beans beans;
@@ -44,7 +43,7 @@
    private Containers containers;
    private StandaloneContainers standaloneContainers;
    private EL el;
-   private List<String> integrationTestPackageNames;
+   private List<String> inContainerPackageNames;
    private List<String> unitTestPackageNames;
    private String host;
    
@@ -59,7 +58,6 @@
       this.standalone = configuration.isStandalone();
       this.runIntegrationTests = configuration.isRunIntegrationTests();
       this.deploymentDelay = configuration.getDeploymentDelay();
-      this.writeDeployedArchivesToDisk = configuration.isWriteDeployedArchivesToDisk();
       this.libraryDirectory = configuration.getLibraryDirectory();
       this.testLauncher = configuration.getInContainerTestLauncher();
       this.beans = configuration.getBeans();
@@ -89,6 +87,8 @@
    public void setStandalone(boolean standalone)
    {
       this.standalone = standalone;
+      this.inContainerPackageNames = null;
+      this.unitTestPackageNames = null;
    }
 
    public int getDeploymentDelay()
@@ -101,16 +101,6 @@
       this.deploymentDelay = deploymentDelay;
    }
    
-   public boolean isWriteDeployedArchivesToDisk()
-   {
-      return writeDeployedArchivesToDisk;
-   }
-   
-   public void setWriteDeployedArchivesToDisk(boolean writeDeployedArchivesToDisk)
-   {
-      this.writeDeployedArchivesToDisk = writeDeployedArchivesToDisk;
-   }
-   
    public String getLibraryDirectory()
    {
       return libraryDirectory;
@@ -184,16 +174,16 @@
    
    public List<String> getInContainerTestPackageNames()
    {
-      if (integrationTestPackageNames == null)
+      if (inContainerPackageNames == null)
       {
-         integrationTestPackageNames = new ArrayList<String>();
-         integrationTestPackageNames.add(INTEGRATION_TEST_PACKAGE_NAME);
+         inContainerPackageNames = new ArrayList<String>();
+         inContainerPackageNames.add(INTEGRATION_TEST_PACKAGE_NAME);
          if (!isStandalone())
          {
-            integrationTestPackageNames.add(UNIT_TEST_PACKAGE_NAME);
+            inContainerPackageNames.add(UNIT_TEST_PACKAGE_NAME);
          }
       }
-      return Collections.unmodifiableList(integrationTestPackageNames);
+      return Collections.unmodifiableList(inContainerPackageNames);
    }
    
    public List<String> getStandaloneTestPackageNames()
@@ -249,6 +239,28 @@
       this.testLauncher = testLauncher;
    }
    
+   @Override
+   public String toString()
+   {
+      StringBuilder configuration = new StringBuilder();
+      configuration.append("TCK Configuration\n");
+      configuration.append("-----------------\n");
+      configuration.append("\tBeans: ").append(getBeans()).append("\n");
+      configuration.append("\tContainers: ").append(getContainers()).append("\n");
+      configuration.append("\tContexts: ").append(getContexts()).append("\n");
+      configuration.append("\tDeployment Delay: ").append(getDeploymentDelay()).append("\n");
+      configuration.append("\tEL: ").append(getEl()).append("\n");
+      configuration.append("\tHost: ").append(getHost()).append("\n");
+      configuration.append("\tIn Container Tests Package Names: ").append(getInContainerTestPackageNames()).append("\n");
+      configuration.append("\tLibrary Directory: ").append(getLibraryDirectory()).append("\n");
+      configuration.append("\tManagers: ").append(getManagers()).append("\n");
+      configuration.append("\tOutput Directory: ").append(getOutputDirectory()).append("\n");
+      configuration.append("\tRun Integration Tests: ").append(isRunIntegrationTests()).append("\n");
+      configuration.append("\tStandalone: ").append(isStandalone()).append("\n");
+      configuration.append("\tTest Launcher: ").append(getTestLauncher()).append("\n");
+      configuration.append("\tStandalone Tests Pacakge Names: ").append(getStandaloneTestPackageNames()).append("\n");
+      
+      return configuration.toString();
+   }
    
-   
 }

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/PropertiesBasedConfigurationImpl.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/PropertiesBasedConfigurationImpl.java	2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/PropertiesBasedConfigurationImpl.java	2009-02-09 13:13:29 UTC (rev 1467)
@@ -2,6 +2,7 @@
 
 import javax.context.Context;
 
+import org.jboss.jsr299.tck.api.Configurable;
 import org.jboss.jsr299.tck.api.TestLauncher;
 import org.jboss.jsr299.tck.impl.util.DeploymentProperties;
 import org.jboss.jsr299.tck.spi.Beans;
@@ -24,25 +25,34 @@
       setStandalone(deploymentProperties.getBooleanValue(STANDALONE_PROPERTY_NAME, DEFAULT_STANDALONE, false));
       setRunIntegrationTests(deploymentProperties.getBooleanValue(RUN_INTEGRATION_TESTS_PROPERTY_NAME, DEFAULT_RUN_INTEGRATION_TESTS, false));
       setDeploymentDelay(deploymentProperties.getIntValue(DEPLOYMENT_DELAY_PROPERTY_NAME, DEFAULT_DEPLOYMENT_DELAY, false));
-      setWriteDeployedArchivesToDisk(deploymentProperties.getBooleanValue(WRITE_DEPLOYED_ARCHIVES_TO_DISK_PROPERTY_NAME, DEFAULT_WRITE_DEPLOYED_ARCHIVES_TO_DISK, false));
       setLibraryDirectory(deploymentProperties.getStringValue(LIBRARY_DIRECTORY_PROPERTY_NAME, DEFAULT_LIBRARY_DIRECTORY, false));
-      
+      setHost(deploymentProperties.getStringValue(HOST_PROPERTY_NAME, DEFAULT_HOST, false));
    }
    
    public PropertiesBasedConfigurationImpl loadSPIImplementation()
    {
-      setInContainerTestLauncher(deploymentProperties.getInstanceValue(TestLauncher.PROPERTY_NAME, TestLauncher.class, isRunIntegrationTests() || !isStandalone()));
-      setManagers(deploymentProperties.getInstanceValue(Managers.PROPERTY_NAME, Managers.class, true));
-      setContainers(deploymentProperties.getInstanceValue(Containers.PROPERTY_NAME, Containers.class, !isStandalone() || isRunIntegrationTests()));
-      setStandaloneContainers(deploymentProperties.getInstanceValue(StandaloneContainers.PROPERTY_NAME, StandaloneContainers.class, isStandalone()));
-      setBeans(deploymentProperties.getInstanceValue(Beans.PROPERTY_NAME, Beans.class, true));
-      setEl(deploymentProperties.getInstanceValue(EL.PROPERTY_NAME, EL.class, true));
+      setInContainerTestLauncher(getInstanceValue(TestLauncher.PROPERTY_NAME, TestLauncher.class, isRunIntegrationTests() || !isStandalone()));
+      setManagers(getInstanceValue(Managers.PROPERTY_NAME, Managers.class, true));
+      setContainers(getInstanceValue(Containers.PROPERTY_NAME, Containers.class, !isStandalone() || isRunIntegrationTests()));
+      setStandaloneContainers(getInstanceValue(StandaloneContainers.PROPERTY_NAME, StandaloneContainers.class, isStandalone()));
+      setBeans(getInstanceValue(Beans.PROPERTY_NAME, Beans.class, true));
+      setEl(getInstanceValue(EL.PROPERTY_NAME, EL.class, true));
       
       @SuppressWarnings("unchecked")      
-      Contexts<? extends Context> instanceValue = deploymentProperties.getInstanceValue(Contexts.PROPERTY_NAME, Contexts.class, true);
+      Contexts<? extends Context> instanceValue = getInstanceValue(Contexts.PROPERTY_NAME, Contexts.class, true);
       
       setContexts(instanceValue);
       return this;
    }
    
+   private <T> T getInstanceValue(String propertyName, Class<T> expectedType, boolean required)
+   {
+      T instance = deploymentProperties.getInstanceValue(propertyName, expectedType, required);
+      if (instance instanceof Configurable)
+      {
+         ((Configurable) instance).setConfiguration(this);
+      }
+      return instance;
+   }
+   
 }

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/TCKImpl.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/TCKImpl.java	2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/TCKImpl.java	2009-02-09 13:13:29 UTC (rev 1467)
@@ -75,7 +75,7 @@
       }
       for (ITestResult result : suiteLauncher.getResults())
       {
-         log.error(result);
+         log.info(result);
       }
    }
    
@@ -85,7 +85,6 @@
    {
       Configuration configuration = new PropertiesBasedConfigurationImpl();
       configuration.setStandalone(false);
-      configuration.setWriteDeployedArchivesToDisk(true);
       new ArtifactGenerator(configuration).dumpArtifacts();
    }
 

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ArtifactScanner.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ArtifactScanner.java	2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/packaging/ArtifactScanner.java	2009-02-09 13:13:29 UTC (rev 1467)
@@ -24,12 +24,14 @@
    private static final Logger log = Logger.getLogger(ArtifactScanner.class);
 
    private final String packageName;
+   private final String packageNameAsPath;
    
    private final Set<Class<?>> classes = new HashSet<Class<?>>();
    
    public ArtifactScanner(String packageName)
    {
       this.packageName = packageName;
+      this.packageNameAsPath = packageName.replace(".", "/");
    }
    
    private void scan()
@@ -37,8 +39,8 @@
       try
       {
          Set<String> paths = new HashSet<String>();
-         String packageName = this.packageName.replace(".", "/");
-         for (URL url : loadResources(packageName))
+         
+         for (URL url : loadResources(packageNameAsPath))
          {
             String urlPath = url.getFile();
             urlPath = URLDecoder.decode(urlPath, "UTF-8");
@@ -81,10 +83,9 @@
          {
             ZipEntry entry = entries.nextElement();
             String name = entry.getName();
-            if (name.startsWith(packageName) && name.endsWith(".class"))
+            if (name.startsWith(packageNameAsPath) && name.endsWith(".class"))
             {
-               String className = name.replace("/", ".").replace(".class", "");
-               classes.add(Reflections.loadClass(className));
+               addClass(name.replace(".class", "").replace("/", "."));
             }
          }
       }
@@ -106,16 +107,8 @@
       }
       else if (file.getName().endsWith(".class") && ! file.getName().contains("$"))
       {
-         String className = packageName + "." + file.getName().substring(0, file.getName().length() - 6);
-         Class<?> clazz = Reflections.loadClass(className);
-         if (clazz != null && clazz.isAnnotationPresent(Artifact.class) || clazz.isAnnotationPresent(EjbArtifact.class))
-         {
-            classes.add(clazz);
-         }
-         else if (clazz == null)
-         {
-            log.warn("Unable to load class " + className);
-         }
+         addClass(packageName + "." + file.getName().replace(".class", ""));
+         
       }
       else if (file.getName().endsWith(".jar"))
       {
@@ -123,6 +116,19 @@
       }
    }
    
+   private void addClass(String className)
+   {
+      Class<?> clazz = Reflections.loadClass(className);
+      if (clazz != null && clazz.isAnnotationPresent(Artifact.class) || clazz.isAnnotationPresent(EjbArtifact.class))
+      {
+         classes.add(clazz);
+      }
+      else if (clazz == null)
+      {
+         log.warn("Unable to load class " + className);
+      }
+   }
+   
    public Set<Class<?>> getClasses()
    {
       scan();

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/TestSuiteLauncher.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/TestSuiteLauncher.java	2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/TestSuiteLauncher.java	2009-02-09 13:13:29 UTC (rev 1467)
@@ -13,22 +13,29 @@
 {
    
    private final Configuration configuration;
-   private final List<ITestResult> results;
+   private final List<ITestResult> contexts;
    
    public TestSuiteLauncher(Configuration configuration)
    {
       this.configuration = configuration;
-      this.results = new ArrayList<ITestResult>();
+      this.contexts = new ArrayList<ITestResult>();
    }
    
    public void run() throws Exception
    {
       List<ArtifactDescriptor> artifacts = new ArtifactGenerator(configuration).createArtifacts();
-      System.out.println(artifacts);
       for (ArtifactDescriptor artifact : artifacts)
       {
-         deployArtifact(artifact);
-         results.addAll(configuration.getInContainerTestLauncher().launchTest(configuration, artifact.getDeclaringClass()));
+         try
+         {
+            deployArtifact(artifact);
+            Thread.sleep(configuration.getDeploymentDelay());
+            contexts.addAll(configuration.getInContainerTestLauncher().launchTest(configuration, artifact.getDeclaringClass()));
+         }
+         finally
+         {
+            configuration.getContainers().undeploy(artifact.getDefaultName());
+         }
       }
    }
    
@@ -37,19 +44,11 @@
       InputStream jar = artifact.getJar();
       configuration.getContainers().deploy(jar, artifact.getDefaultName());
       jar.close();
-      try
-      {
-         Thread.sleep(configuration.getDeploymentDelay());
-      }
-      catch (InterruptedException e)
-      {
-         Thread.interrupted();
-      }
    }
    
    public List<ITestResult> getResults()
    {
-      return results;
+      return contexts;
    }
    
 }

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/servlet/ServletTestLauncher.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/servlet/ServletTestLauncher.java	2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/servlet/ServletTestLauncher.java	2009-02-09 13:13:29 UTC (rev 1467)
@@ -1,22 +1,20 @@
 package org.jboss.jsr299.tck.impl.runner.servlet;
 
-import java.io.ByteArrayInputStream;
-import java.io.IOException;
 import java.io.ObjectInputStream;
 import java.net.HttpURLConnection;
 import java.net.URL;
 import java.net.URLConnection;
-import java.util.Collection;
 import java.util.List;
 
 import org.jboss.jsr299.tck.api.Configuration;
 import org.jboss.jsr299.tck.api.TestLauncher;
+import org.testng.ITestContext;
 import org.testng.ITestResult;
 
 public class ServletTestLauncher implements TestLauncher
 {
 
-   public Collection<ITestResult> launchTest(Configuration configuration, Class<?> testClass) throws Exception
+   public List<ITestResult> launchTest(Configuration configuration, Class<?> testClass) throws Exception
    {
       String url = "http://" + configuration.getHost() + "/" + testClass.getName() + "/?outputMode=serializedObject";
       URLConnection connection = new URL(url).openConnection();
@@ -25,27 +23,26 @@
          throw new IllegalStateException("Not an http connection! " + connection);
       }
       HttpURLConnection httpConnection = (HttpURLConnection) connection;
+      httpConnection.setUseCaches(false);
+      httpConnection.setDefaultUseCaches(false);
       httpConnection.connect();
       if (httpConnection.getResponseCode() == HttpURLConnection.HTTP_OK)
       {
-         Object o = new ObjectInputStream(httpConnection.getInputStream()).readObject();
-         if (!(o instanceof List))
+         ObjectInputStream ois = new ObjectInputStream(httpConnection.getInputStream());
+         Object o = ois.readObject();
+         ois.close();
+         if (o instanceof ITestContext)
          {
-            throw new IllegalStateException("Error reading test results - expected a List<TestResult> but got " + o);
+            throw new IllegalStateException("Error reading test results - expected a ITestContext but got " + o);
          }
          List<ITestResult> results = (List<ITestResult>) o;
+         httpConnection.disconnect();
          return results;
       }
       else
       {
-         throw new IllegalStateException("Error launching test " + httpConnection.getResponseMessage());
+         throw new IllegalStateException("Error launching test " + testClass.getName() + " at " + url + ". Got " + httpConnection.getResponseCode() + " ("+ httpConnection.getResponseMessage() + ")");
       }
    }
    
-   private Object deserialize(byte[] bytes) throws IOException, ClassNotFoundException
-   {
-      ObjectInputStream in = new ObjectInputStream(new ByteArrayInputStream(bytes));
-      return in.readObject();
-   }
-   
 }

Modified: tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/servlet/ServletTestRunner.java
===================================================================
--- tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/servlet/ServletTestRunner.java	2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/impl/src/main/java/org/jboss/jsr299/tck/impl/runner/servlet/ServletTestRunner.java	2009-02-09 13:13:29 UTC (rev 1467)
@@ -3,6 +3,8 @@
 import java.io.IOException;
 import java.io.ObjectOutputStream;
 import java.io.PrintWriter;
+import java.util.ArrayList;
+import java.util.List;
 
 import javax.servlet.ServletException;
 import javax.servlet.http.HttpServlet;
@@ -24,9 +26,10 @@
       TestRunner runner = new TestRunner();
       ITestContext context = runner.run();
       String outputMode;
-      if (req.getAttribute("outputMode") != null)
+      if (req.getParameter("outputMode") != null)
       {
-         outputMode = (String) req.getAttribute("outputMode");
+         outputMode = (String) req.getParameter("outputMode");
+         System.out.println("Outputting as " + outputMode);
       }
       else
       {
@@ -76,9 +79,14 @@
       }
       else if (outputMode.equals("serializedObject"))
       {
-         resp.setContentType("application/octet-stream");
+         List<ITestResult> results = new ArrayList<ITestResult>();
+         results.addAll(context.getFailedTests().getAllResults());
+         results.addAll(context.getPassedTests().getAllResults());
          resp.setStatus(HttpServletResponse.SC_OK);
-         new ObjectOutputStream(resp.getOutputStream()).writeObject(context);
+         ObjectOutputStream oos = new ObjectOutputStream(resp.getOutputStream());
+         oos.writeObject(results);
+         oos.flush();
+         oos.close();
       }
       else
       {

Modified: tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/impl/packaging/war/default/web.xml
===================================================================
--- tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/impl/packaging/war/default/web.xml	2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/impl/src/main/resources/org/jboss/jsr299/tck/impl/packaging/war/default/web.xml	2009-02-09 13:13:29 UTC (rev 1467)
@@ -9,12 +9,12 @@
    
    <servlet>
       <servlet-name>JSR-299 TCK Test Runner</servlet-name>
-      <servlet-class>org.jboss.jsr299.tck.runner.servlet.ServletTestRunner</servlet-class>
+      <servlet-class>org.jboss.jsr299.tck.impl.runner.servlet.ServletTestRunner</servlet-class>
    </servlet>
    
    <servlet-mapping>
       <servlet-name>JSR-299 TCK Test Runner</servlet-name>
-      <url-pattern>*.tck</url-pattern>
+      <url-pattern>/*</url-pattern>
    </servlet-mapping>
 
 </web-app>

Modified: tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/tck/TCKArtifactTest.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/tck/TCKArtifactTest.java	2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/descriptors/tck/TCKArtifactTest.java	2009-02-09 13:13:29 UTC (rev 1467)
@@ -18,7 +18,6 @@
    @Test
    public void testTCKSupportJar() throws Exception
    {
-      System.out.println("test");
       ArtifactDescriptor artifactDescriptor = new WarArtifactDescriptor(DummyTest.class, null);
       File root = artifactDescriptor.getExplodedJar();
       File tckSupportJar = new File(root, "WEB-INF/lib/tck-support.jar");

Modified: tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/scanner/ArtifactScannerTest.java
===================================================================
--- tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/scanner/ArtifactScannerTest.java	2009-02-09 11:22:26 UTC (rev 1466)
+++ tck/trunk/impl/src/test/java/org/jboss/jsr299/tck/test/impl/packaging/scanner/ArtifactScannerTest.java	2009-02-09 13:13:29 UTC (rev 1467)
@@ -5,6 +5,7 @@
 import java.util.Set;
 
 import org.jboss.jsr299.tck.api.Configuration;
+import org.jboss.jsr299.tck.impl.ConfigurationImpl;
 import org.jboss.jsr299.tck.impl.packaging.ArtifactDescriptor;
 import org.jboss.jsr299.tck.impl.packaging.ArtifactGenerator;
 import org.jboss.jsr299.tck.impl.packaging.ArtifactScanner;
@@ -27,7 +28,7 @@
    }
    
    @Test
-   public void testArtifactGenerator() throws Exception
+   public void testMockArtifactGenerator() throws Exception
    {
       Configuration configuration = new MockConfiguration()
       {
@@ -61,6 +62,27 @@
       }
    }
    
+   @Test
+   public void testConfiguration() throws Exception
+   {
+      Configuration configuration = new MockConfiguration();
+      configuration.setStandalone(false);
+      assert configuration.getInContainerTestPackageNames().size() == 2;
+      assert configuration.getInContainerTestPackageNames().contains(ConfigurationImpl.INTEGRATION_TEST_PACKAGE_NAME);
+      assert configuration.getInContainerTestPackageNames().contains(ConfigurationImpl.UNIT_TEST_PACKAGE_NAME);
+      
+      configuration.setStandalone(true);
+      assert configuration.getInContainerTestPackageNames().size() == 1;
+      assert configuration.getInContainerTestPackageNames().contains(ConfigurationImpl.INTEGRATION_TEST_PACKAGE_NAME);
+   }
    
+   @Test
+   public void testArtifactGenerator() throws Exception
+   {
+      Configuration configuration = new MockConfiguration();
+      assert new ArtifactGenerator(configuration).createArtifacts().size() > 0;
+      configuration.setStandalone(true);
+      //assert new ArtifactGenerator(configuration).createArtifacts().size() > 0;
+   }
    
 }




More information about the weld-commits mailing list