[JBoss JIRA] (ARQ-905) Provide SPI for filtering tests
by Dan Allen (JIRA)
Dan Allen created ARQ-905:
-----------------------------
Summary: Provide SPI for filtering tests
Key: ARQ-905
URL: https://issues.jboss.org/browse/ARQ-905
Project: Arquillian
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Reporter: Dan Allen
Provide an SPI (or observer hook) for filtering the test classes.
There are many reasons to filter which tests are run:
* execution speed
* available environment (e.g., based on target container, based on access to shared resource)
* permitted exclusions (like in a TCK)
* user story
* deliverable
* demo
* security (whether running the test is allowed)
* ...
We can't think of all of them. That's why we should over an SPI to allow these possibilities to be explored.
Currently, test filtering (or selection) is handled in a few different ways:
* suite definition
* groups
* test plugin includes/excludes (e.g., Maven surefire)
While these options can handle many of the cases, they are still very limiting, esp since they are static declarations. Imagine long lists of test classes or brow-wrinkling include/exclude logic.
Let's give the developers the choice of how they want to implement filtering. We can then provide some nice options in the way of extensions. For instance, imagine a rule-based test filter extension. You can write rules in the Drools DSL to decide which tests to execute. This is very powerful for user story-based development and even contract deliverables.
The filter should be able to inject various parts of the Arquillian runtime, including:
* Current test class being processed
* Active container class and configuration
* Test archive
The filter should be able to invoke an "ignore" or "skip" method to instruct Arquillian to skip running the test.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 8 months
[JBoss JIRA] (ARQ-906) Provide SPI for container configuration activation
by Dan Allen (JIRA)
Dan Allen created ARQ-906:
-----------------------------
Summary: Provide SPI for container configuration activation
Key: ARQ-906
URL: https://issues.jboss.org/browse/ARQ-906
Project: Arquillian
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Reporter: Dan Allen
Activing container configuration right now is a real pain. It requires the user to manually correlate the choice of container adapter with the choice of container configuration.
I propose that we offer an SPI for container configuration activation. We can then provide some nice options in the way of extensions for doing container selection.
For example, an extension could match the qualifier name to the package name of the container implementation to decide which configuration to activate. It could read a mapping file that the user provides. Or it could use a remote registry.
Anything is possible once this aspect of Arquillian is pluggable. And it will take the burden of selecting a container configuration off the developer.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 8 months
[JBoss JIRA] (ARQ-941) Make Exception.class default for @ShouldThrowException value attribute
by Dan Allen (JIRA)
Dan Allen created ARQ-941:
-----------------------------
Summary: Make Exception.class default for @ShouldThrowException value attribute
Key: ARQ-941
URL: https://issues.jboss.org/browse/ARQ-941
Project: Arquillian
Issue Type: Enhancement
Security Level: Public (Everyone can see)
Components: Base Implementation
Reporter: Dan Allen
Priority: Minor
The annotation @ShouldThrowException is expressive enough to be understood as meaning a generic Exception will be thrown (during deployment) unless a more specific exception is specified.
Therefore, a default should be specified for the value attribute such that:
@ShouldThrowException == @ShouldThrowException(Exception.class)
Here's the resulting annotation definition:
{code:java}
@Documented
@Retention(RUNTIME)
@Target(ElementType.METHOD)
public @interface ShouldThrowException {
Class<? extends Exception> value() default Exception.class;
}
{code}
(Alternatively, the default can be Throwable.class, though the value of least surprise is likely Exception.class).
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 8 months
[JBoss JIRA] (ARQ-918) Pick a better name for testable attribute on @Deployment annotation
by Dan Allen (JIRA)
Dan Allen created ARQ-918:
-----------------------------
Summary: Pick a better name for testable attribute on @Deployment annotation
Key: ARQ-918
URL: https://issues.jboss.org/browse/ARQ-918
Project: Arquillian
Issue Type: Enhancement
Security Level: Public (Everyone can see)
Components: Base Implementation
Affects Versions: 1.0.0.Final
Reporter: Dan Allen
@Deployment(testable = false) sends the wrong message for a testing platform and is subject to a wide variety of interpretations. We need a better name for this attribute.
The purpose of this attribute is to determine if this deployment should be wrapped up based on the protocol so the test case can be executed inside the container.
I'd be content if we gave it a very explicit name, even if that name wasn't tremendously fluent. Here are some suggestions:
* transportsTest : Indicates whether this deployment will transport the test as part of the deployment so the it can be executed inside the container
* testRunner : Indicates whether this deployment is itself a test runner, which by definition means it will be run inside the container
* providesTestRunner : Mixed mode tests are possible, so this most accurately indicates whether this deployment will provide an additional test runner inside the container
* hostsTest : Indicates whether the deployment will be a host to the test, so the test can be run inside the container
* packageWithTest : Indicates whether this deployment will be packaged with the test and deployed to the server; when false, the deployment is left alone (not packaged with test)
The hard part is that when the test is run in container, the @Deployment archive, the test and the test infrastructure often go into another archive that's the real deployment. So this is more of a directive of how to handle the @Deployment than it is about what role it will serve directly.
I think that "testRunner" or "providesTestRunner" are the most clear options of the ones listed above.
We can support this attribute as an alias to maintain backwards compatibility, marking testable as deprecated.
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 8 months
[JBoss JIRA] (ARQ-945) Extract Spring Integration out of Spring Deployer
by Aslak Knutsen (JIRA)
Aslak Knutsen created ARQ-945:
---------------------------------
Summary: Extract Spring Integration out of Spring Deployer
Key: ARQ-945
URL: https://issues.jboss.org/browse/ARQ-945
Project: Arquillian
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: Spring Integration
Affects Versions: spring_1.0.0.Alpha1
Reporter: Aslak Knutsen
Assignee: Marius Bogoevici
Fix For: spring_1.0.0.next
In Alpha1 the Service Deployer and the Service Integration is one module, these should be two separate where the Service Integration part can be reused between the Service Deployer and the upcoming Service Container
Service Integration = Enrichers
Service Deployer = Related to moving Spring to a Container (packaging)
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.jboss.org/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira
13 years, 8 months