[JBoss JIRA] Created: (ARQ-474) provide a mechanism to order the test runs
by Prabhat Jha (JIRA)
provide a mechanism to order the test runs
------------------------------------------
Key: ARQ-474
URL: https://issues.jboss.org/browse/ARQ-474
Project: Arquillian
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: Test Harness Integration
Affects Versions: 1.0.0.Beta1
Reporter: Prabhat Jha
Currently there exists annotation for deployment ordering but there does not exist a way to control the order in which one wants to run the test. TestNG does have ordering via depends method but JUnit does not. Usually, it's recommended to not have a dependency of test order but in case of clustering and data grid testing where you want to verify replication, it makes sense to have that.
Please add a fix version which makes a sense based on the roadmap you have.
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 1 month
[JBoss JIRA] Created: (ARQ-49) Arquillian depends upon ShrinkWrap internals
by Andrew Lee Rubinger (JIRA)
Arquillian depends upon ShrinkWrap internals
--------------------------------------------
Key: ARQ-49
URL: https://jira.jboss.org/jira/browse/ARQ-49
Project: Arquillian
Issue Type: Task
Reporter: Andrew Lee Rubinger
Caught that a few Arquillian classes are directly depending upon ShrinkWrap internals, for which we cannot provide guarantee of consistency between releases.
[alr@localhost trunk]$ egrep 'shrinkwrap.impl' -R . |grep .java
./demo/src/test/java/com/acme/cdi/InjectionTestCase.java:import org.jboss.shrinkwrap.impl.base.asset.ByteArrayAsset;
./demo/src/test/java/com/acme/cdi/.svn/text-base/InjectionTestCase.java.svn-base:import org.jboss.shrinkwrap.impl.base.asset.ByteArrayAsset;
./impl-base/src/main/java/org/jboss/arquillian/impl/ArquillianDeploymentAppender.java: Package.getPackage("org.jboss.shrinkwrap.impl.base"),
./impl-base/src/main/java/org/jboss/arquillian/impl/.svn/text-base/ArquillianDeploymentAppender.java.svn-base: Package.getPackage("org.jboss.shrinkwrap.impl.base"),
./junit/src/main/java/org/jboss/arquillian/junit/JUnitTestRunner.java:import org.jboss.shrinkwrap.impl.base.Validate;
./junit/src/main/java/org/jboss/arquillian/junit/.svn/text-base/JUnitTestRunner.java.svn-base:import org.jboss.shrinkwrap.impl.base.Validate;
./testng/src/main/java/org/jboss/arquillian/testng/TestNGTestRunner.java:import org.jboss.shrinkwrap.impl.base.Validate;
./testng/src/main/java/org/jboss/arquillian/testng/.svn/text-base/TestNGTestRunner.java.svn-base:import org.jboss.shrinkwrap.impl.base.Validate;
./demo-testng/src/test/java/com/acme/cdi/InjectionTestCase.java:import org.jboss.shrinkwrap.impl.base.asset.ByteArrayAsset;
./demo-testng/src/test/java/com/acme/cdi/.svn/text-base/InjectionTestCase.java.svn-base:import org.jboss.shrinkwrap.impl.base.asset.ByteArrayAsset;
Likely we'll want to evaluate these dependencies and instead move to API-only (for compile time, runtime requiring ShrinkWrap impls in "test" scope).
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 1 month
[JBoss JIRA] Created: (ARQ-236) Should be able to configure the Container lifecycle based on the Test events
by Aslak Knutsen (JIRA)
Should be able to configure the Container lifecycle based on the Test events
----------------------------------------------------------------------------
Key: ARQ-236
URL: https://jira.jboss.org/browse/ARQ-236
Project: Arquillian
Issue Type: Feature Request
Reporter: Aslak Knutsen
A user should be able to customize how he wants the Container to be controlled.
The default behavior is:
@BeforeSuite -> container.start()
@BeforeClass -> container.deploy()
@AfterClass -> container.undeploy()
@AfterSuite -> container.stop()
Other scenarios are:
- Restart server pr test class
@BeforeClass -> container.start()
@BeforeClass -> container.deploy()
@AfterClass -> container.undeploy()
@AfterClass -> container.stop()
- Redeploy pr test method
@BeforeSuite -> container.start()
@Before -> container.deploy()
@After -> container.undeploy()
@AfterSuite -> container.stop()
- Restart pr test method
@Before -> container.start()
@Before -> container.deploy()
@After -> container.undeploy()
@After -> container.stop()
This could be done by adding a Engine configuration option
e.g.:
engine/containerLifeCycle PrSuite|PrClass|PrMethod
this option would map to different ContextAppenders in the background that does the setup/ordering.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://jira.jboss.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 1 month
[JBoss JIRA] Created: (ARQ-367) Add support for @ArquillianResource
by Aslak Knutsen (JIRA)
Add support for @ArquillianResource
-----------------------------------
Key: ARQ-367
URL: https://issues.jboss.org/browse/ARQ-367
Project: Arquillian
Issue Type: Feature Request
Components: Base Implementation
Reporter: Aslak Knutsen
@ArquillianResource is a way to inject extension/core controlled objects so they can be used by the user.
@ArquillianResource
URL url; <-- targeted containers http context
@ArquillianResource(SomeServlet.class)
URL url; <-- targeted containers http context where servlet is located
@ArquillianResource
InitialContext|Context context; <-- targeted containers initial context
@ArquillianResource
Deployer deployer; <-- the manual deployer
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 1 month
[JBoss JIRA] Created: (ARQ-402) Arquillian no long works on Java 1.5
by David Allen (JIRA)
Arquillian no long works on Java 1.5
------------------------------------
Key: ARQ-402
URL: https://issues.jboss.org/browse/ARQ-402
Project: Arquillian
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: Base Implementation
Affects Versions: 1.0.0.Alpha5
Reporter: David Allen
When using Arquillian 1.0.0.Alpha5 or SNAPSHOT versions on a Sun JDK version 1.5, the following error occurs:
java.lang.UnsupportedClassVersionError: Bad version number in .class file
(stack trace below)
The error occurs on the first line in this getType() method:
InjectionPointImpl.class
------------------------
@Override
public Type getType()
{
ParameterizedType type = (ParameterizedType) field.getGenericType();
if(type.getActualTypeArguments()[0] instanceof ParameterizedType)
{
ParameterizedType first = (ParameterizedType)type.getActualTypeArguments()[0];
return (Class<?>)first.getRawType();
}
else
{
return (Class<?>)type.getActualTypeArguments()[0];
}
}
It only occurs when the instance producer is for an ArquillianDescriptor which extends a newly used
Descriptor from ShrinkWrap. It appears that ShrinkWrap was compiled only for Java 1.6.
The field being injected is this one:
private org.jboss.arquillian.spi.core.InstanceProducer org.jboss.arquillian.impl.bootstrap.ConfigurationRegistrar.descriptorInst
The templated type is this descriptor:
org.jboss.arquillian.impl.configuration.api.ArquillianDescriptor extends org.jboss.shrinkwrap.descriptor.api.Descriptor
...and these are the header infos from the corresponding classes:
// Compiled from Descriptor.java (version 1.6 : 50.0, no super bit)
public abstract interface org.jboss.shrinkwrap.descriptor.api.Descriptor {
// Compiled from ArquillianDescriptor.java (version 1.5 : 49.0, no super bit)
public abstract interface org.jboss.arquillian.impl.configuration.api.ArquillianDescriptor extends org.jboss.shrinkwrap.descriptor.api.Descriptor {
The ArquillianDescriptor was probably compiled with Java 1.6, but set to target version 1.5
The full stack trace is as follows:
-----------------------------------
java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:242)
at sun.reflect.generics.factory.CoreReflectionFactory.makeNamedType(CoreReflectionFactory.java:95)
at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:107)
at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:31)
at sun.reflect.generics.visitor.Reifier.reifyTypeArguments(Reifier.java:50)
at sun.reflect.generics.visitor.Reifier.visitClassTypeSignature(Reifier.java:120)
at sun.reflect.generics.tree.ClassTypeSignature.accept(ClassTypeSignature.java:31)
at sun.reflect.generics.repository.FieldRepository.getGenericType(FieldRepository.java:67)
at java.lang.reflect.Field.getGenericType(Field.java:222)
at org.jboss.arquillian.impl.core.InjectionPointImpl.getType(InjectionPointImpl.java:66)
at org.jboss.arquillian.impl.core.ManagerImpl.injectInstances(ManagerImpl.java:443)
at org.jboss.arquillian.impl.core.ManagerImpl.inject(ManagerImpl.java:432)
at org.jboss.arquillian.impl.core.ManagerImpl.createExtensions(ManagerImpl.java:330)
at org.jboss.arquillian.impl.core.ManagerImpl.<init>(ManagerImpl.java:82)
at org.jboss.arquillian.impl.core.ManagerBuilder.create(ManagerBuilder.java:74)
at org.jboss.arquillian.impl.DeployableTestBuilder.build(DeployableTestBuilder.java:97)
at org.jboss.arquillian.impl.DeployableTestBuilder.build(DeployableTestBuilder.java:67)
at org.jboss.arquillian.junit.Arquillian.<init>(Arquillian.java:82)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:494)
at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:31)
at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:24)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29)
at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:24)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.<init>(JUnit4TestReference.java:32)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestClassReference.<init>(JUnit4TestClassReference.java:25)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.createTest(JUnit4TestLoader.java:41)
at org.eclipse.jdt.internal.junit4.runner.JUnit4TestLoader.loadTests(JUnit4TestLoader.java:31)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:452)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:683)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:390)
at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:197)
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 2 months