[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
12 years, 7 months
[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
12 years, 7 months
[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
12 years, 8 months
[JBoss JIRA] Created: (ARQ-606) Glassfish JUnit test fails upon successful deploy (but with warnings)
by Pedro Kowalski (JIRA)
Glassfish JUnit test fails upon successful deploy (but with warnings)
---------------------------------------------------------------------
Key: ARQ-606
URL: https://issues.jboss.org/browse/ARQ-606
Project: Arquillian
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: GlassFish Containers
Affects Versions: 1.0.0.CR1
Environment: GNU/Linux Ubuntu 11.04 x86
Reporter: Pedro Kowalski
Arquillian controlled JUnit test is failing because of Glassfish WARNING:
[#|2011-09-19T23:52:35.182+0200|WARNING|glassfish3.1.1|javax.org.glassfish.persistence.org.glassfish.persistence.common|_ThreadID=18;_ThreadName=admin-thread-pool-4848(2);|PER01000: Got SQLException executing statement "CREATE TABLE SEQUENCE (SEQ_NAME VARCHAR(50) NOT NULL, SEQ_COUNT DECIMAL(15), PRIMARY KEY (SEQ_NAME))": java.sql.SQLException: Table/View 'SEQUENCE' already exists in Schema 'APP'.|#]
The REST deployer returns:
org.jboss.arquillian.container.spi.client.container.DeploymentException: "http://localhost:4848/management/domain/applications/application/test" created successfully.
but the tests are failing.
According to Glassfish team (http://java.net/projects/glassfish/lists/persistence/archive/2006-11/mess...) this message can be safely ignored.
Suggestion: Apparently the deployer re-catches the exception and marks test as failed. The deployer should be aware of the return status (in this case the archive is deployed successfully) or check the thrown exception and react appropriately (i.e. ignore the above exception).
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira
12 years, 8 months