More TCK tests

Run the Non TCK tests so all TestCases have at least one included test.

[JSR 303 TCK Result] 150 of 229 (65.50%) Pass with 34 Failures and 7 Errors.

Review at http://gwt-code-reviews.appspot.com/1567804

Review by: rjrjr@google.com

git-svn-id: https://google-web-toolkit.googlecode.com/svn/trunk@10706 8db76d5a-ed1c-0410-87a9-c151d255dfc7
diff --git a/user/build.xml b/user/build.xml
index f1f1c1a..fa0903b 100755
--- a/user/build.xml
+++ b/user/build.xml
@@ -853,7 +853,7 @@
           excludes="${gwt.tck.testcase.dev.excludes}" />
       <gwt.junit test.name="test.dev.htmlunit"
           test.args="${test.args} -standardsMode "
-          test.jvmargs="-ea -Dcom.google.gwt.sample.validationtck.util.Failing.include=true  -Dcom.google.gwt.sample.validationtck.util.NonTckTest.exclude=true"
+          test.jvmargs="-ea -Dcom.google.gwt.sample.validationtck.util.Failing.include=true"     
           test.out="${junit.out}/tck-dev-htmlunit"
           test.cases="tck.dev.htmlunit.tests"
           haltonfailure="false"
diff --git a/user/style/html/junit-noframes.xsl b/user/style/html/junit-noframes.xsl
index e316ce4..1e2f8ed 100644
--- a/user/style/html/junit-noframes.xsl
+++ b/user/style/html/junit-noframes.xsl
@@ -261,7 +261,7 @@
           grep -r \@Test org/hibernate/jsr303/tck/tests/| grep -v "enabled = false"  | wc -l
         -->
         <xsl:variable name="testCount" select="($rawTestCount - $markedNotSupported - $markedTestNotCompatible)"/>
-        <xsl:variable name="testExecutedCount" select="sum(testsuite/@tests)"/>
+        <xsl:variable name="testExecutedCount" select="sum(testsuite/@tests) - $markedNonTckTest"/>
         <xsl:variable name="errorCount" select="sum(testsuite/@errors)"/>
         <xsl:variable name="failureCount" select="sum(testsuite/@failures)"/>
         <xsl:variable name="timeCount" select="sum(testsuite/@time)"/>
diff --git a/user/style/text/junit-noframes.xsl b/user/style/text/junit-noframes.xsl
index 10865fc..89b49c8 100644
--- a/user/style/text/junit-noframes.xsl
+++ b/user/style/text/junit-noframes.xsl
@@ -44,7 +44,7 @@
       grep -r \@Test org/hibernate/jsr303/tck/tests/| grep -v "enabled = false"  | wc -l
     -->
     <xsl:variable name="testCount" select="($rawTestCount - $markedNotSupported -$markedTestNotCompatible)"/>
-    <xsl:variable name="testExecutedCount" select="sum(testsuite/@tests)"/>
+    <xsl:variable name="testExecutedCount" select="sum(testsuite/@tests) - $markedNonTckTest"/>
     <xsl:variable name="errorCount" select="sum(testsuite/@errors)"/>
     <xsl:variable name="failureCount" select="sum(testsuite/@failures)"/>
     <xsl:variable name="timeCount" select="sum(testsuite/@time)"/>
diff --git a/user/test/com/google/gwt/validation/tck/BootstrapGwtSuite.java b/user/test/com/google/gwt/validation/tck/BootstrapGwtSuite.java
index d7262cc..1c13ab1 100644
--- a/user/test/com/google/gwt/validation/tck/BootstrapGwtSuite.java
+++ b/user/test/com/google/gwt/validation/tck/BootstrapGwtSuite.java
@@ -21,6 +21,9 @@
 import org.hibernate.jsr303.tck.tests.bootstrap.CustomMessageInterpolatorGwtTest;
 import org.hibernate.jsr303.tck.tests.bootstrap.ValidationProviderGwtTest;
 import org.hibernate.jsr303.tck.tests.bootstrap.ValidationProviderResolverGwtTest;
+import org.hibernate.jsr303.tck.tests.bootstrap.customprovider.BootstrapCustomProviderDefinedInServiceFileGwtTest;
+import org.hibernate.jsr303.tck.tests.bootstrap.customprovider.BootstrapCustomProviderDefinedInValidationXmlGwtTest;
+import org.hibernate.jsr303.tck.tests.bootstrap.customprovider.BootstrapUnknownCustomProviderGwtTest;
 import org.hibernate.jsr303.tck.util.TckTestSuiteWrapper;
 
 /**
@@ -34,6 +37,11 @@
     suite.addTestSuite(CustomMessageInterpolatorGwtTest.class);
     suite.addTestSuite(ValidationProviderGwtTest.class);
     suite.addTestSuite(ValidationProviderResolverGwtTest.class);
+    suite
+        .addTestSuite(BootstrapCustomProviderDefinedInServiceFileGwtTest.class);
+    suite
+        .addTestSuite(BootstrapCustomProviderDefinedInValidationXmlGwtTest.class);
+    suite.addTestSuite(BootstrapUnknownCustomProviderGwtTest.class);
     return suite;
   }
 }
diff --git a/user/test/com/google/gwt/validation/tck/XmlConfigurationGwtSuite.java b/user/test/com/google/gwt/validation/tck/XmlConfigurationGwtSuite.java
new file mode 100644
index 0000000..0418289
--- /dev/null
+++ b/user/test/com/google/gwt/validation/tck/XmlConfigurationGwtSuite.java
@@ -0,0 +1,59 @@
+/*
+ * Copyright 2011 Google Inc.
+ *
+ * Licensed 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.
+ */
+package com.google.gwt.validation.tck;
+
+import junit.framework.Test;
+
+import org.hibernate.jsr303.tck.tests.xmlconfiguration.ConstraintValidatorFactorySpecifiedInValidationXmlGwtTest;
+import org.hibernate.jsr303.tck.tests.xmlconfiguration.DefaultProviderSpecifiedInValidationXmlGwtTest;
+import org.hibernate.jsr303.tck.tests.xmlconfiguration.DuplicateConfigurationGwtTest;
+import org.hibernate.jsr303.tck.tests.xmlconfiguration.InvalidXmlConfigurationGwtTest;
+import org.hibernate.jsr303.tck.tests.xmlconfiguration.MessageInterpolatorSpecifiedInValidationXmlGwtTest;
+import org.hibernate.jsr303.tck.tests.xmlconfiguration.MessageInterpolatorSpecifiedInValidationXmlNoDefaultConstructorGwtTest;
+import org.hibernate.jsr303.tck.tests.xmlconfiguration.MissingClassNameOnBeanNodeGwtTest;
+import org.hibernate.jsr303.tck.tests.xmlconfiguration.OptionalValidationXmlGwtTest;
+import org.hibernate.jsr303.tck.tests.xmlconfiguration.TraversableResolverSpecifiedInValidationXmlGwtTest;
+import org.hibernate.jsr303.tck.tests.xmlconfiguration.TraversableResolverSpecifiedInValidationXmlNoDefaultConstructorGwtTest;
+import org.hibernate.jsr303.tck.tests.xmlconfiguration.XmlConfigurationGwtTest;
+import org.hibernate.jsr303.tck.util.TckTestSuiteWrapper;
+
+/**
+ * Tck Tests for the {@code xml configuration} package.
+ */
+public class XmlConfigurationGwtSuite {
+  public static Test suite() {
+    TckTestSuiteWrapper suite = new TckTestSuiteWrapper(
+        "TCK for GWT Validation, xml configuration package");
+    suite
+        .addTestSuite(ConstraintValidatorFactorySpecifiedInValidationXmlGwtTest.class);
+    suite.addTestSuite(DefaultProviderSpecifiedInValidationXmlGwtTest.class);
+    suite.addTestSuite(DuplicateConfigurationGwtTest.class);
+    suite.addTestSuite(InvalidXmlConfigurationGwtTest.class);
+    suite
+        .addTestSuite(MessageInterpolatorSpecifiedInValidationXmlNoDefaultConstructorGwtTest.class);
+    suite
+        .addTestSuite(MessageInterpolatorSpecifiedInValidationXmlGwtTest.class);
+    suite.addTestSuite(MissingClassNameOnBeanNodeGwtTest.class);
+    suite.addTestSuite(OptionalValidationXmlGwtTest.class);
+    suite
+        .addTestSuite(TraversableResolverSpecifiedInValidationXmlNoDefaultConstructorGwtTest.class);
+    suite
+        .addTestSuite(TraversableResolverSpecifiedInValidationXmlGwtTest.class);
+    suite.addTestSuite(XmlConfigurationGwtTest.class);
+
+    return suite;
+  }
+}
diff --git a/user/test/org/hibernate/jsr303/tck/tests/bootstrap/customprovider/BootstrapCustomProviderDefinedInServiceFileGwtTest.java b/user/test/org/hibernate/jsr303/tck/tests/bootstrap/customprovider/BootstrapCustomProviderDefinedInServiceFileGwtTest.java
new file mode 100644
index 0000000..14adb08
--- /dev/null
+++ b/user/test/org/hibernate/jsr303/tck/tests/bootstrap/customprovider/BootstrapCustomProviderDefinedInServiceFileGwtTest.java
@@ -0,0 +1,47 @@
+/*
+ * Copyright 2011 Google Inc.
+ * 
+ * Licensed 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.
+ */
+package org.hibernate.jsr303.tck.tests.bootstrap.customprovider;
+
+import com.google.gwt.junit.client.GWTTestCase;
+
+import org.hibernate.jsr303.tck.util.client.Failing;
+import org.hibernate.jsr303.tck.util.client.NonTckTest;
+
+/**
+ * Wraps {@link BootstrapCustomProviderDefinedInServiceFileTest} .
+ */
+public class BootstrapCustomProviderDefinedInServiceFileGwtTest extends
+    GWTTestCase {
+
+  @Override
+  public String getModuleName() {
+    return "org.hibernate.jsr303.tck.tests.bootstrap.customprovider.TckTest";
+  }
+
+  @Failing(issue = 6663)
+  public void testGetFactoryByProviderSpecifiedProgrammatically() {
+    fail("TODO(nchalko) figure out how to test this in GWT");
+  }
+
+  @Failing(issue = 6663)
+  public void testProviderResolverReturnsListOfAvailableProviders() {
+    fail("TODO(nchalko) figure out how to test this in GWT");
+  }
+
+  @NonTckTest
+  public void testThereMustBeOnePassingTest() {
+  }
+}
diff --git a/user/test/org/hibernate/jsr303/tck/tests/bootstrap/customprovider/BootstrapCustomProviderDefinedInValidationXmlGwtTest.java b/user/test/org/hibernate/jsr303/tck/tests/bootstrap/customprovider/BootstrapCustomProviderDefinedInValidationXmlGwtTest.java
new file mode 100644
index 0000000..56d8e3b
--- /dev/null
+++ b/user/test/org/hibernate/jsr303/tck/tests/bootstrap/customprovider/BootstrapCustomProviderDefinedInValidationXmlGwtTest.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2011 Google Inc.
+ * 
+ * Licensed 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.
+ */
+package org.hibernate.jsr303.tck.tests.bootstrap.customprovider;
+
+import com.google.gwt.junit.client.GWTTestCase;
+
+import org.hibernate.jsr303.tck.util.client.NonTckTest;
+import org.hibernate.jsr303.tck.util.client.NotSupported;
+import org.hibernate.jsr303.tck.util.client.NotSupported.Reason;
+
+/**
+ * Wraps {@link BootstrapCustomProviderDefinedInValidationXmlTest} .
+ */
+public class BootstrapCustomProviderDefinedInValidationXmlGwtTest extends
+    GWTTestCase {
+
+  @Override
+  public String getModuleName() {
+    return null;
+  }
+
+  @NonTckTest
+  public void testThereMustBeOnePassingTest() {
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testWrongProviderConfiguredInValidationXml() {
+    fail("XML configuration is not supported");
+  }
+}
diff --git a/user/test/org/hibernate/jsr303/tck/tests/bootstrap/customprovider/BootstrapUnknownCustomProviderGwtTest.java b/user/test/org/hibernate/jsr303/tck/tests/bootstrap/customprovider/BootstrapUnknownCustomProviderGwtTest.java
new file mode 100644
index 0000000..4697d6e
--- /dev/null
+++ b/user/test/org/hibernate/jsr303/tck/tests/bootstrap/customprovider/BootstrapUnknownCustomProviderGwtTest.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2011 Google Inc.
+ *
+ * Licensed 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.
+ */
+package org.hibernate.jsr303.tck.tests.bootstrap.customprovider;
+
+import com.google.gwt.junit.client.GWTTestCase;
+
+import org.hibernate.jsr303.tck.util.client.NonTckTest;
+import org.hibernate.jsr303.tck.util.client.NotSupported;
+import org.hibernate.jsr303.tck.util.client.NotSupported.Reason;
+
+/**
+ * Wraps {@link BootstrapCustomProviderDefinedInValidationXmlTest} .
+ */
+public class BootstrapUnknownCustomProviderGwtTest extends GWTTestCase {
+
+  @Override
+  public String getModuleName() {
+    return null;
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testGetFactoryByProviderSpecifiedInValidationXml() {
+    fail("XML configuration is not supported");
+  }
+
+  @NonTckTest
+  public void testThereMustBeOnePassingTest(){}
+}
diff --git a/user/test/org/hibernate/jsr303/tck/tests/bootstrap/customprovider/TckTest.gwt.xml b/user/test/org/hibernate/jsr303/tck/tests/bootstrap/customprovider/TckTest.gwt.xml
new file mode 100644
index 0000000..054e740
--- /dev/null
+++ b/user/test/org/hibernate/jsr303/tck/tests/bootstrap/customprovider/TckTest.gwt.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.0.1//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.0.1/distro-source/core/src/gwt-module.dtd">
+<!--
+  Copyright 2011 Google Inc.
+
+  Licensed 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.
+-->
+<module>
+  <inherits name="org.hibernate.jsr303.tck.tests.ValidationTck" />
+  <source path="">
+    <include name="*.java" />
+  </source>
+  <replace-with class="org.hibernate.jsr303.tck.tests.bootstrap.customprovider.TckTestValidatorFactory">
+    <when-type-is class="javax.validation.ValidatorFactory"/>
+  </replace-with>
+</module>
diff --git a/user/test/org/hibernate/jsr303/tck/tests/bootstrap/customprovider/TckTestValidatorFactory.java b/user/test/org/hibernate/jsr303/tck/tests/bootstrap/customprovider/TckTestValidatorFactory.java
new file mode 100644
index 0000000..61b2ccd
--- /dev/null
+++ b/user/test/org/hibernate/jsr303/tck/tests/bootstrap/customprovider/TckTestValidatorFactory.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2011 Google Inc.
+ *
+ * Licensed 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.
+ */
+package org.hibernate.jsr303.tck.tests.bootstrap.customprovider;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.validation.client.AbstractGwtValidatorFactory;
+import com.google.gwt.validation.client.GwtValidation;
+import com.google.gwt.validation.client.impl.AbstractGwtValidator;
+
+import org.hibernate.jsr303.tck.tests.bootstrap.CustomMessageInterpolatorTest.Person;
+
+import javax.validation.Validator;
+
+/**
+ * {@link AbstractGwtValidatorFactory} implementation that uses
+ * {@link com.google.gwt.validation.client.GwtValidation GwtValidation}.
+ */
+public final class TckTestValidatorFactory extends AbstractGwtValidatorFactory {
+  /**
+   * Marker Interface for {@link GWT#create(Class)}.
+   */
+  @GwtValidation(value = {Person.class})
+  public static interface GwtValidator extends Validator {
+  }
+
+  @Override
+  public AbstractGwtValidator createValidator() {
+    return GWT.create(GwtValidator.class);
+  }
+}
diff --git a/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/ConstraintValidatorFactorySpecifiedInValidationXmlGwtTest.java b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/ConstraintValidatorFactorySpecifiedInValidationXmlGwtTest.java
new file mode 100644
index 0000000..b893ea0
--- /dev/null
+++ b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/ConstraintValidatorFactorySpecifiedInValidationXmlGwtTest.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2011 Google Inc.
+ * 
+ * Licensed 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.
+ */
+package org.hibernate.jsr303.tck.tests.xmlconfiguration;
+
+import com.google.gwt.junit.client.GWTTestCase;
+
+import org.hibernate.jsr303.tck.util.client.NonTckTest;
+import org.hibernate.jsr303.tck.util.client.NotSupported;
+import org.hibernate.jsr303.tck.util.client.NotSupported.Reason;
+
+/**
+ * Wraps {@link ConstraintValidatorFactorySpecifiedInValidationXmlTest}.
+ */
+public class ConstraintValidatorFactorySpecifiedInValidationXmlGwtTest extends
+    GWTTestCase {
+
+  @Override
+  public String getModuleName() {
+    return null;
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testConstraintValidatorFactorySpecifiedInValidationXml() {
+    fail("XML configuration is not supported");
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testConstraintValidatorFactorySpecifiedInValidationXmlCanBeOverridden() {
+    fail("XML configuration is not supported");
+  }
+
+  @NonTckTest
+  public void testThereMustBeOnePassingTest() {
+  }
+}
diff --git a/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/DefaultProviderSpecifiedInValidationXmlGwtTest.java b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/DefaultProviderSpecifiedInValidationXmlGwtTest.java
new file mode 100644
index 0000000..05c20bd
--- /dev/null
+++ b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/DefaultProviderSpecifiedInValidationXmlGwtTest.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2011 Google Inc.
+ * 
+ * Licensed 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.
+ */
+package org.hibernate.jsr303.tck.tests.xmlconfiguration;
+
+import com.google.gwt.junit.client.GWTTestCase;
+
+import org.hibernate.jsr303.tck.util.client.NonTckTest;
+import org.hibernate.jsr303.tck.util.client.NotSupported;
+import org.hibernate.jsr303.tck.util.client.NotSupported.Reason;
+
+/**
+ * Wraps {@link DefaultProviderSpecifiedInValidationXmlTest}.
+ */
+public class DefaultProviderSpecifiedInValidationXmlGwtTest extends
+    GWTTestCase {
+
+  @Override
+  public String getModuleName() {
+    return null;
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testProviderSpecifiedInValidationXml() {
+    fail("XML configuration is not supported");
+  }
+
+  @NonTckTest
+  public void testThereMustBeOnePassingTest() {
+  }
+
+}
diff --git a/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/DuplicateConfigurationGwtTest.java b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/DuplicateConfigurationGwtTest.java
new file mode 100644
index 0000000..9e02a38
--- /dev/null
+++ b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/DuplicateConfigurationGwtTest.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright 2011 Google Inc.
+ * 
+ * Licensed 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.
+ */
+package org.hibernate.jsr303.tck.tests.xmlconfiguration;
+
+import com.google.gwt.junit.client.GWTTestCase;
+
+import org.hibernate.jsr303.tck.util.client.NonTckTest;
+import org.hibernate.jsr303.tck.util.client.NotSupported;
+import org.hibernate.jsr303.tck.util.client.NotSupported.Reason;
+
+/**
+ * Wraps {@link DuplicateConfigurationTest}.
+ */
+public class DuplicateConfigurationGwtTest extends
+    GWTTestCase {
+
+  @Override
+  public String getModuleName() {
+    return null;
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testBeanCannotBeDescribedMoreThanOnce() {
+    fail("XML configuration is not supported");
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testFieldMappingCannotOccurMoreThanOnce() {
+    fail("XML configuration is not supported");
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testGetterMappingCannotOccurMoreThanOnce() {
+    fail("XML configuration is not supported");
+  }
+
+
+  @NonTckTest
+  public void testThereMustBeOnePassingTest() {
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testXmlConfiguredConstraintExposesCorrespondingAnnotationViaMetadata() {
+    fail("XML configuration is not supported");
+  }
+
+}
diff --git a/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/InvalidXmlConfigurationGwtTest.java b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/InvalidXmlConfigurationGwtTest.java
new file mode 100644
index 0000000..364411c
--- /dev/null
+++ b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/InvalidXmlConfigurationGwtTest.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2011 Google Inc.
+ * 
+ * Licensed 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.
+ */
+package org.hibernate.jsr303.tck.tests.xmlconfiguration;
+
+import com.google.gwt.junit.client.GWTTestCase;
+
+import org.hibernate.jsr303.tck.util.client.NonTckTest;
+import org.hibernate.jsr303.tck.util.client.NotSupported;
+import org.hibernate.jsr303.tck.util.client.NotSupported.Reason;
+
+/**
+ * Wraps {@link InvalidXmlConfigurationTest}.
+ */
+public class InvalidXmlConfigurationGwtTest extends
+    GWTTestCase {
+
+  @Override
+  public String getModuleName() {
+    return null;
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testInvalidValidationXml() {
+    fail("XML configuration is not supported");
+  }
+
+  @NonTckTest
+  public void testThereMustBeOnePassingTest() {
+  }
+}
diff --git a/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/MessageInterpolatorSpecifiedInValidationXmlGwtTest.java b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/MessageInterpolatorSpecifiedInValidationXmlGwtTest.java
new file mode 100644
index 0000000..cd58f0e
--- /dev/null
+++ b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/MessageInterpolatorSpecifiedInValidationXmlGwtTest.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2011 Google Inc.
+ * 
+ * Licensed 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.
+ */
+package org.hibernate.jsr303.tck.tests.xmlconfiguration;
+
+import com.google.gwt.junit.client.GWTTestCase;
+
+import org.hibernate.jsr303.tck.util.client.NonTckTest;
+import org.hibernate.jsr303.tck.util.client.NotSupported;
+import org.hibernate.jsr303.tck.util.client.NotSupported.Reason;
+
+/**
+ * Wraps {@link MessageInterpolatorSpecifiedInValidationXmlTest}.
+ */
+public class MessageInterpolatorSpecifiedInValidationXmlGwtTest extends
+    GWTTestCase {
+
+  @Override
+  public String getModuleName() {
+    return null;
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testMessageInterpolatorSpecifiedInValidationXml() {
+    fail("XML configuration is not supported");
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testMessageInterpolatorSpecifiedInValidationXmlCanBeOverridden() {
+    fail("XML configuration is not supported");
+  }
+
+  @NonTckTest
+  public void testThereMustBeOnePassingTest() {
+  }
+}
diff --git a/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/MessageInterpolatorSpecifiedInValidationXmlNoDefaultConstructorGwtTest.java b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/MessageInterpolatorSpecifiedInValidationXmlNoDefaultConstructorGwtTest.java
new file mode 100644
index 0000000..08c8e3c
--- /dev/null
+++ b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/MessageInterpolatorSpecifiedInValidationXmlNoDefaultConstructorGwtTest.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2011 Google Inc.
+ * 
+ * Licensed 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.
+ */
+package org.hibernate.jsr303.tck.tests.xmlconfiguration;
+
+import com.google.gwt.junit.client.GWTTestCase;
+
+import org.hibernate.jsr303.tck.util.client.NonTckTest;
+import org.hibernate.jsr303.tck.util.client.NotSupported;
+import org.hibernate.jsr303.tck.util.client.NotSupported.Reason;
+
+/**
+ * Wraps
+ * {@link MessageInterpolatorSpecifiedInValidationXmlNoDefaultConstructorTest}.
+ */
+public class MessageInterpolatorSpecifiedInValidationXmlNoDefaultConstructorGwtTest extends
+    GWTTestCase {
+
+  @Override
+  public String getModuleName() {
+    return null;
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testMessageInterpolatorSpecifiedInValidationXmlHasNoDefaultConstructor() {
+    fail("XML configuration is not supported");
+  }
+
+  @NonTckTest
+  public void testThereMustBeOnePassingTest() {
+  }
+}
diff --git a/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/MissingClassNameOnBeanNodeGwtTest.java b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/MissingClassNameOnBeanNodeGwtTest.java
new file mode 100644
index 0000000..0995ec1
--- /dev/null
+++ b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/MissingClassNameOnBeanNodeGwtTest.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2011 Google Inc.
+ * 
+ * Licensed 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.
+ */
+package org.hibernate.jsr303.tck.tests.xmlconfiguration;
+
+import com.google.gwt.junit.client.GWTTestCase;
+
+import org.hibernate.jsr303.tck.util.client.NonTckTest;
+import org.hibernate.jsr303.tck.util.client.NotSupported;
+import org.hibernate.jsr303.tck.util.client.NotSupported.Reason;
+
+/**
+ * Wraps {@link MissingClassNameOnBeanNodeTest}.
+ */
+public class MissingClassNameOnBeanNodeGwtTest extends
+    GWTTestCase {
+
+  @Override
+  public String getModuleName() {
+    return null;
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testClassNameIsMandatory() {
+    fail("XML configuration is not supported");
+  }
+
+  @NonTckTest
+  public void testThereMustBeOnePassingTest() {
+  }
+}
diff --git a/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/OptionalValidationXmlGwtTest.java b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/OptionalValidationXmlGwtTest.java
new file mode 100644
index 0000000..e3fa37c
--- /dev/null
+++ b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/OptionalValidationXmlGwtTest.java
@@ -0,0 +1,43 @@
+/*
+ * Copyright 2011 Google Inc.
+ * 
+ * Licensed 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.
+ */
+package org.hibernate.jsr303.tck.tests.xmlconfiguration;
+
+import com.google.gwt.junit.client.GWTTestCase;
+
+import org.hibernate.jsr303.tck.util.client.NonTckTest;
+import org.hibernate.jsr303.tck.util.client.NotSupported;
+import org.hibernate.jsr303.tck.util.client.NotSupported.Reason;
+
+/**
+ * Wraps {@link OptionalValidationXmlTest}.
+ */
+public class OptionalValidationXmlGwtTest extends
+    GWTTestCase {
+
+  @Override
+  public String getModuleName() {
+    return null;
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testIgnoreValidationXml() {
+    fail("XML configuration is not supported");
+  }
+
+  @NonTckTest
+  public void testThereMustBeOnePassingTest() {
+  }
+}
diff --git a/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/TckTest.gwt.xml b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/TckTest.gwt.xml
new file mode 100644
index 0000000..1b9f361
--- /dev/null
+++ b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/TckTest.gwt.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.0.1//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.0.1/distro-source/core/src/gwt-module.dtd">
+<!--
+  Copyright 2011 Google Inc.
+
+  Licensed 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.
+-->
+<module>
+  <inherits name="org.hibernate.jsr303.tck.tests.ValidationTck" />
+  <source path="">
+    <include name="*.java" />
+  </source>
+  <replace-with class="org.hibernate.jsr303.tck.tests.xmlconfiguration.TckTestValidatorFactory">
+    <when-type-is class="javax.validation.ValidatorFactory"/>
+  </replace-with>
+</module>
diff --git a/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/TckTestValidatorFactory.java b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/TckTestValidatorFactory.java
new file mode 100644
index 0000000..2306b2e
--- /dev/null
+++ b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/TckTestValidatorFactory.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2011 Google Inc.
+ *
+ * Licensed 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.
+ */
+package org.hibernate.jsr303.tck.tests.xmlconfiguration;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.validation.client.AbstractGwtValidatorFactory;
+import com.google.gwt.validation.client.GwtValidation;
+import com.google.gwt.validation.client.impl.AbstractGwtValidator;
+
+import javax.validation.Validator;
+
+/**
+ * {@link AbstractGwtValidatorFactory} implementation that uses
+ * {@link com.google.gwt.validation.client.GwtValidation GwtValidation}.
+ */
+public final class TckTestValidatorFactory extends AbstractGwtValidatorFactory {
+  /**
+   * Marker Interface for {@link GWT#create(Class)}.
+   */
+  @GwtValidation(value = {User.class})
+  public static interface GwtValidator extends Validator {
+  }
+
+  @Override
+  public AbstractGwtValidator createValidator() {
+    return GWT.create(GwtValidator.class);
+  }
+}
diff --git a/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/TraversableResolverSpecifiedInValidationXmlGwtTest.java b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/TraversableResolverSpecifiedInValidationXmlGwtTest.java
new file mode 100644
index 0000000..6e481d5
--- /dev/null
+++ b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/TraversableResolverSpecifiedInValidationXmlGwtTest.java
@@ -0,0 +1,48 @@
+/*
+ * Copyright 2011 Google Inc.
+ * 
+ * Licensed 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.
+ */
+package org.hibernate.jsr303.tck.tests.xmlconfiguration;
+
+import com.google.gwt.junit.client.GWTTestCase;
+
+import org.hibernate.jsr303.tck.util.client.NonTckTest;
+import org.hibernate.jsr303.tck.util.client.NotSupported;
+import org.hibernate.jsr303.tck.util.client.NotSupported.Reason;
+
+/**
+ * Wraps {@link TraversableResolverSpecifiedInValidationXmlTest}.
+ */
+public class TraversableResolverSpecifiedInValidationXmlGwtTest extends
+    GWTTestCase {
+
+  @Override
+  public String getModuleName() {
+    return null;
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testMessageInterpolatorSpecifiedInValidationXmlCanBeOverridden() {
+    fail("XML configuration is not supported");
+  }
+
+  @NonTckTest
+  public void testThereMustBeOnePassingTest() {
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testTraversableResolverSpecifiedInValidationXml() {
+    fail("XML configuration is not supported");
+  }
+}
diff --git a/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/TraversableResolverSpecifiedInValidationXmlNoDefaultConstructorGwtTest.java b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/TraversableResolverSpecifiedInValidationXmlNoDefaultConstructorGwtTest.java
new file mode 100644
index 0000000..8dcbbaf
--- /dev/null
+++ b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/TraversableResolverSpecifiedInValidationXmlNoDefaultConstructorGwtTest.java
@@ -0,0 +1,44 @@
+/*
+ * Copyright 2011 Google Inc.
+ * 
+ * Licensed 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.
+ */
+package org.hibernate.jsr303.tck.tests.xmlconfiguration;
+
+import com.google.gwt.junit.client.GWTTestCase;
+
+import org.hibernate.jsr303.tck.util.client.NonTckTest;
+import org.hibernate.jsr303.tck.util.client.NotSupported;
+import org.hibernate.jsr303.tck.util.client.NotSupported.Reason;
+
+/**
+ * Wraps
+ * {@link TraversableResolverSpecifiedInValidationXmlNoDefaultConstructorTest}.
+ */
+public class TraversableResolverSpecifiedInValidationXmlNoDefaultConstructorGwtTest extends
+    GWTTestCase {
+
+  @Override
+  public String getModuleName() {
+    return null;
+  }
+
+  @NonTckTest
+  public void testThereMustBeOnePassingTest() {
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testTraversableResolverSpecifiedInValidationXmlHasNoDefaultConstructor() {
+    fail("XML configuration is not supported");
+  }
+}
diff --git a/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/XmlConfigurationGwtTest.java b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/XmlConfigurationGwtTest.java
new file mode 100644
index 0000000..263ca62
--- /dev/null
+++ b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/XmlConfigurationGwtTest.java
@@ -0,0 +1,79 @@
+/*
+ * Copyright 2011 Google Inc.
+ * 
+ * Licensed 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.
+ */
+package org.hibernate.jsr303.tck.tests.xmlconfiguration;
+
+import com.google.gwt.junit.client.GWTTestCase;
+
+import org.hibernate.jsr303.tck.util.client.NonTckTest;
+import org.hibernate.jsr303.tck.util.client.NotSupported;
+import org.hibernate.jsr303.tck.util.client.NotSupported.Reason;
+
+/**
+ * Wraps {@link XmlConfigurationTest}.
+ */
+public class XmlConfigurationGwtTest extends
+    GWTTestCase {
+  XmlConfigurationTest d = null;
+
+  @Override
+  public String getModuleName() {
+    return null;
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testAnnotationDefinedConstraintApplies() {
+    fail("XML configuration is not supported");
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testCascadingConfiguredInXml() {
+    fail("XML configuration is not supported");
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testClassConstraintDefinedInXml() {
+    fail("XML configuration is not supported");
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testElementConversionInXmlConfiguredConstraint() {
+    fail("XML configuration is not supported");
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testFieldConstraintDefinedInXml() {
+    fail("XML configuration is not supported");
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testIgnoreValidationXml() {
+    fail("XML configuration is not supported");
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testMappingFilesAddedViaConfigurationGetAddedToXmlConfiguredMappings() {
+    fail("XML configuration is not supported");
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testPropertyConstraintDefinedInXml() {
+    fail("XML configuration is not supported");
+  }
+
+  @NonTckTest
+  public void testThereMustBeOnePassingTest() {
+  }
+}
diff --git a/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/constraintdeclaration/ConfigurationViaXmlAndAnnotationsGwtTest.java b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/constraintdeclaration/ConfigurationViaXmlAndAnnotationsGwtTest.java
new file mode 100644
index 0000000..51ec544
--- /dev/null
+++ b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/constraintdeclaration/ConfigurationViaXmlAndAnnotationsGwtTest.java
@@ -0,0 +1,49 @@
+/*
+ * Copyright 2011 Google Inc.
+ * 
+ * Licensed 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.
+ */
+package org.hibernate.jsr303.tck.tests.xmlconfiguration.constraintdeclaration;
+
+import com.google.gwt.junit.client.GWTTestCase;
+
+import org.hibernate.jsr303.tck.util.client.NonTckTest;
+import org.hibernate.jsr303.tck.util.client.NotSupported;
+import org.hibernate.jsr303.tck.util.client.NotSupported.Reason;
+
+/**
+ * Wraps {@link ConfigurationViaXmlAndAnnotationsTest}.
+ */
+public class ConfigurationViaXmlAndAnnotationsGwtTest extends
+    GWTTestCase {
+  ConfigurationViaXmlAndAnnotationsTest d = new ConfigurationViaXmlAndAnnotationsTest();
+
+  @Override
+  public String getModuleName() {
+    return null;
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testDefaultGroupDefinitionDefinedInEntityApplies() {
+    fail("XML configuration is not supported");
+  }
+
+  @NotSupported(reason = Reason.XML)
+  public void testEntityConfiguredViaAnnotationsAndXml() {
+    fail("XML configuration is not supported");
+  }
+
+  @NonTckTest
+  public void testThereMustBeOnePassingTest() {
+  }
+}
diff --git a/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/constraintdeclaration/TckTest.gwt.xml b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/constraintdeclaration/TckTest.gwt.xml
new file mode 100644
index 0000000..579c66d
--- /dev/null
+++ b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/constraintdeclaration/TckTest.gwt.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE module PUBLIC "-//Google Inc.//DTD Google Web Toolkit 2.0.1//EN" "http://google-web-toolkit.googlecode.com/svn/tags/2.0.1/distro-source/core/src/gwt-module.dtd">
+<!--
+  Copyright 2011 Google Inc.
+
+  Licensed 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.
+-->
+<module>
+  <inherits name="org.hibernate.jsr303.tck.tests.ValidationTck" />
+  <source path="">
+    <include name="*.java" />
+  </source>
+  <replace-with class="org.hibernate.jsr303.tck.tests.xmlconfiguration.constraintdeclaration.TckTestValidatorFactory">
+    <when-type-is class="javax.validation.ValidatorFactory"/>
+  </replace-with>
+</module>
diff --git a/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/constraintdeclaration/TckTestValidatorFactory.java b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/constraintdeclaration/TckTestValidatorFactory.java
new file mode 100644
index 0000000..734fcc7
--- /dev/null
+++ b/user/test/org/hibernate/jsr303/tck/tests/xmlconfiguration/constraintdeclaration/TckTestValidatorFactory.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright 2011 Google Inc.
+ *
+ * Licensed 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.
+ */
+package org.hibernate.jsr303.tck.tests.xmlconfiguration.constraintdeclaration;
+
+import com.google.gwt.core.client.GWT;
+import com.google.gwt.validation.client.AbstractGwtValidatorFactory;
+import com.google.gwt.validation.client.GwtValidation;
+import com.google.gwt.validation.client.impl.AbstractGwtValidator;
+
+import javax.validation.Validator;
+
+/**
+ * {@link AbstractGwtValidatorFactory} implementation that uses
+ * {@link com.google.gwt.validation.client.GwtValidation GwtValidation}.
+ */
+public final class TckTestValidatorFactory extends AbstractGwtValidatorFactory {
+  /**
+   * Marker Interface for {@link GWT#create(Class)}.
+   */
+  @GwtValidation(value = {User.class})
+  public static interface GwtValidator extends Validator {
+  }
+
+  @Override
+  public AbstractGwtValidator createValidator() {
+    return GWT.create(GwtValidator.class);
+  }
+}