<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
<!--
	
	Licensed to the Apache Software Foundation (ASF) under one or more
	contributor license agreements. See the NOTICE file distributed with
	this work for additional information regarding copyright ownership.
	The ASF licenses this file to You under the Apache License, Version
	2.0 (the "License"); you may not use this file except in compliance
	with the License. You may obtain a copy of the License at
	
	http://www.apache.org/licenses/LICENSE-2.0 Unless required by
	applicable law or agreed to in writing, software distributed under the
	License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
	CONDITIONS OF ANY KIND, either express or implied. See the License for
	the specific language governing permissions and limitations under the
	License.
-->
<suite name="JSR-299 TCK" verbose="2">
    <test name="JSR-299 TCK">
        <method-selectors>

            <method-selector>
                <selector-class
                    name="org.jboss.testharness.impl.testng.DisableIntegrationTestsMethodSelector" />
            </method-selector>

            <method-selector>
                <selector-class
                    name="org.jboss.testharness.impl.testng.ExcludeIncontainerUnderInvestigationMethodSelector" />
            </method-selector>
        </method-selectors>

        <groups>
            <run>
                <exclude name="ri-broken" />
                <exclude name="jboss-as-broken" />
                <exclude name="broken" />
                <exclude name="integration"></exclude>
            </run>
        </groups>

        <classes>

            <!--
                It's not necessary to perform EJB tests in standalone mode!
                Those tests will be executed as part of the integration in OpenEJB.
            -->
            <class name="org.jboss.jsr299.tck.tests.implementation.enterprise.definition.EnterpriseBeanDefinitionTest">
                <methods>
                    <exclude name="testConstructorAnnotatedInjectCalled"></exclude>
                </methods>
            </class>
            <!-- Not necessary test some EJBs in standalone mode!!! -->
            <class name="org.jboss.jsr299.tck.tests.inheritance.specialization.simple.broken.extendejb.SpecializingBeanExtendsEnterpriseBeanTest">
                <methods>
                    <exclude name=".*"></exclude>
                </methods>
            </class>
            <class name="org.jboss.jsr299.tck.tests.implementation.enterprise.broken.statelessWithApplicationScope.StatelessWithApplicationScopeTest">
                <methods>
                    <exclude name=".*"></exclude>
                </methods>
            </class>
            <class name="org.jboss.jsr299.tck.tests.implementation.enterprise.broken.statelessWithRequestScope.StatelessWithRequestScopeTest">
                <methods>
                    <exclude name=".*"></exclude>
                </methods>
            </class>
            <!-- Not necessary test some EJBs in standalone mode!!! -->
            <class name="org.jboss.jsr299.tck.tests.event.broken.observer.notBusinessMethod.EJBObserverMethodNotBusinessMethodTest">
                <methods>
                    <exclude name=".*"></exclude>
                </methods>
            </class>
            <!-- Not necessary test some EJBs in standalone mode!!! -->
            <class name="org.jboss.jsr299.tck.tests.implementation.enterprise.newBean.NewEnterpriseBeanTest">
                <methods>
                    <exclude name=".*"></exclude>
                </methods>
            </class>
            <class name="org.jboss.jsr299.tck.tests.inheritance.specialization.enterprise.broken.directlyExtendsSimpleBean.DirectlyExtendsSimpleBeanTest">
                <methods>
                    <exclude name=".*"></exclude>
                </methods>
            </class>
            <class name="org.jboss.jsr299.tck.tests.implementation.producer.method.broken.enterprise.nonbusiness.ProducerMethodNotBusinessMethodTest">
                <methods>
                    <exclude name="testProducerMethodOnSessionBeanMustBeBusinessMethod"></exclude>
                </methods>
            </class>
            <class name="org.jboss.jsr299.tck.tests.implementation.enterprise.broken.singletonWithRequestScope.SingletonWithRequestScopeTest">
                <methods>
                    <exclude name="testSingletonWithRequestScopeFails"></exclude>
                </methods>
            </class>
            <class name="org.jboss.jsr299.tck.tests.implementation.enterprise.broken.singletonWithSessionScope.SingletonWithSessionScopeTest">
                <methods>
                    <exclude name="testSingletonWithSessionScopeFails"></exclude>
                </methods>
            </class>
            <class name="org.jboss.jsr299.tck.tests.implementation.enterprise.broken.singletonWithConversationScope.SingletonWithConversationScopeTest">
                <methods>
                    <exclude name="testSingletonWithConversationScopeFails"></exclude>
                </methods>
            </class>
            <class name="org.jboss.jsr299.tck.tests.context.passivating.PassivatingContextTest">
                <!-- sadly this test also loads EJBs :( -->
                <methods>
                    <exclude name=".*"></exclude>
                </methods>
            </class>



            <!-- ERROR IN CDI-TCK-137 -->
            <class name="org.jboss.jsr299.tck.tests.decorators.invocation.DecoratorInvocationTest">
                <methods>
                    <exclude name="testChainedDecoratorInvocation"></exclude>
                </methods>
            </class>

            <!-- ERROR in TCK, see CDITCK-265 -->
            <class name="org.jboss.jsr299.tck.tests.implementation.producer.field.lifecycle.ProducerFieldLifecycleTest">
                <methods>
                    <exclude name=".*"></exclude>
                </methods>
            </class>

            <!-- ERROR IN CDITCK-138 -->
            <class name="org.jboss.jsr299.tck.tests.lookup.injectionpoint.InjectionPointTest">
                <methods>
                    <exclude name="testIsDelegate"></exclude>
                </methods>
            </class>

            <!-- ERROR IN CDITCK-183 -->
            <class name="org.jboss.jsr299.tck.tests.context.DestroyedInstanceReturnedByGetTest">
                <methods>
                    <exclude name="testDestroyedInstanceMustNotBeReturnedByGet"></exclude>
                </methods>
            </class>

            <!-- see CDI-140 -->
            <class name="org.jboss.jsr299.tck.tests.context.passivating.broken.passivatingProducerMethodWithNonPassivatingParameter.PassivatingProducerMethodWithNonPassivatingParameterTest">
                <methods>
                    <exclude name="testSimpleDependentWebBeanWithNonSerializableImplementationInjectedIntoProducerMethodParameterWithPassivatingScopeFails"></exclude>
                </methods>
            </class>
            
            <!-- we need to force the order in which those methods get called as the TCK is broken otherwise -->
            <class name="org.jboss.jsr299.tck.tests.event.observer.conditional.ConditionalObserverTest">
                <methods>
                    <include name="testConditionalObserver"/>
                </methods>
            </class>
            <class name="org.jboss.jsr299.tck.tests.event.observer.conditional.ConditionalObserverTest">
                <methods>
                    <include name="testObserverMethodInvokedOnReturnedInstanceFromContext"/>
                </methods>
            </class>
            <class name="org.jboss.jsr299.tck.tests.event.observer.conditional.ConditionalObserverTest">
                <methods>
                    <include name="testNotifyEnumerationContainsNotifyValues"/>
                </methods>
            </class>

            <class name="org.jboss.jsr299.tck.tests.implementation.disposal.method.definition.DisposalMethodDefinitionTest">
                <methods>
                    <include name="testBindingTypesAppliedToDisposalMethodParameters"/>
                </methods>
            </class>
            <class name="org.jboss.jsr299.tck.tests.implementation.disposal.method.definition.DisposalMethodDefinitionTest">
                <methods>
                    <include name="testDisposalMethodOnNonBean"/>
                </methods>
            </class>
            <class name="org.jboss.jsr299.tck.tests.implementation.disposal.method.definition.DisposalMethodDefinitionTest">
                <methods>
                    <include name="testDisposalMethodParametersGetInjected"/>
                </methods>
            </class>

        </classes>

        <packages>
            <package name="org.jboss.jsr299.tck.tests.*"></package>
            <package name="org.jboss.jsr299.tck.interceptors.tests.*"/>
        </packages>
    </test>

</suite>
