[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