diff --git a/hibernate-core/src/test/java/org/hibernate/jpa/test/query/QueryWithLiteralsInSelectExpressionTest.java b/hibernate-core/src/test/java/org/hibernate/jpa/test/query/QueryWithLiteralsInSelectExpressionTest.java index ba1c4e70be..102ec48593 100644 --- a/hibernate-core/src/test/java/org/hibernate/jpa/test/query/QueryWithLiteralsInSelectExpressionTest.java +++ b/hibernate-core/src/test/java/org/hibernate/jpa/test/query/QueryWithLiteralsInSelectExpressionTest.java @@ -78,7 +78,7 @@ public class QueryWithLiteralsInSelectExpressionTest extends BaseEntityManagerFu final EntityManager entityManager = getOrCreateEntityManager(); try { final List elements = entityManager.createQuery( - "SELECT cast(null as boolean), false, e.name FROM MyEntity e", + "SELECT cast(null as char), false, e.name FROM MyEntity e", Object[].class ).getResultList(); Assert.assertEquals( 1, elements.size() ); diff --git a/hibernate-core/src/test/java/org/hibernate/test/id/array/ByteArrayIdTest.java b/hibernate-core/src/test/java/org/hibernate/test/id/array/ByteArrayIdTest.java index 742d1cf0fb..10d8f02ca1 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/id/array/ByteArrayIdTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/id/array/ByteArrayIdTest.java @@ -13,15 +13,17 @@ import javax.persistence.Entity; import javax.persistence.Id; import javax.persistence.Table; +import org.hibernate.Query; +import org.hibernate.Session; +import org.hibernate.dialect.MySQL5Dialect; + +import org.hibernate.testing.SkipForDialect; +import org.hibernate.testing.TestForIssue; +import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase; import org.junit.After; import org.junit.Before; import org.junit.Test; -import org.hibernate.Query; -import org.hibernate.Session; -import org.hibernate.testing.TestForIssue; -import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase; - import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertTrue; @@ -29,6 +31,7 @@ import static org.junit.Assert.assertTrue; * @author Piotr Krauzowicz * @author Gail Badner */ +@SkipForDialect(value = MySQL5Dialect.class, comment = "BLOB/TEXT column 'id' used in key specification without a key length") public class ByteArrayIdTest extends BaseCoreFunctionalTestCase { @Override diff --git a/hibernate-core/src/test/java/org/hibernate/test/id/array/PrimitiveByteArrayIdTest.java b/hibernate-core/src/test/java/org/hibernate/test/id/array/PrimitiveByteArrayIdTest.java index a2998b55d4..5871609cdc 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/id/array/PrimitiveByteArrayIdTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/id/array/PrimitiveByteArrayIdTest.java @@ -19,6 +19,9 @@ import org.junit.Test; import org.hibernate.Query; import org.hibernate.Session; +import org.hibernate.dialect.MySQL5Dialect; + +import org.hibernate.testing.SkipForDialect; import org.hibernate.testing.TestForIssue; import org.hibernate.testing.junit4.BaseCoreFunctionalTestCase; @@ -29,6 +32,7 @@ import static org.junit.Assert.assertTrue; * @author Piotr Krauzowicz * @author Gail Badner */ +@SkipForDialect(value = MySQL5Dialect.class, comment = "BLOB/TEXT column 'id' used in key specification without a key length") public class PrimitiveByteArrayIdTest extends BaseCoreFunctionalTestCase { @Override diff --git a/hibernate-core/src/test/java/org/hibernate/test/schemaupdate/QuotedTableNameSchemaUpdateTest.java b/hibernate-core/src/test/java/org/hibernate/test/schemaupdate/QuotedTableNameSchemaUpdateTest.java index 1c46745538..a1a7b17f4e 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/schemaupdate/QuotedTableNameSchemaUpdateTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/schemaupdate/QuotedTableNameSchemaUpdateTest.java @@ -6,15 +6,15 @@ */ package org.hibernate.test.schemaupdate; -import javax.persistence.Entity; -import javax.persistence.Id; -import javax.persistence.Table; import java.io.File; import java.io.IOException; import java.nio.charset.Charset; import java.nio.file.Files; import java.util.EnumSet; import java.util.List; +import javax.persistence.Entity; +import javax.persistence.Id; +import javax.persistence.Table; import org.hibernate.boot.MetadataSources; import org.hibernate.boot.registry.StandardServiceRegistry; @@ -25,12 +25,13 @@ import org.hibernate.tool.hbm2ddl.SchemaExport; import org.hibernate.tool.hbm2ddl.SchemaUpdate; import org.hibernate.tool.schema.TargetType; +import org.hibernate.testing.Skip; +import org.hibernate.testing.TestForIssue; +import org.hibernate.testing.junit4.BaseUnitTestCase; import org.junit.After; import org.junit.Before; import org.junit.Test; -import org.hibernate.testing.TestForIssue; - import static org.hamcrest.core.Is.is; import static org.junit.Assert.assertThat; @@ -38,7 +39,7 @@ import static org.junit.Assert.assertThat; * @author Andrea Boriero */ -public class QuotedTableNameSchemaUpdateTest { +public class QuotedTableNameSchemaUpdateTest extends BaseUnitTestCase { private File output; private StandardServiceRegistry ssr; @@ -59,6 +60,7 @@ public class QuotedTableNameSchemaUpdateTest { @Test @TestForIssue(jiraKey = "HHH-10820") + @Skip(condition = Skip.OperatingSystem.Windows.class, message = "On Windows, MySQL is case insensitive!") public void testSchemaUpdateWithQuotedTableName() throws Exception { final MetadataSources metadataSources = new MetadataSources( ssr ); metadataSources.addAnnotatedClass( QuotedTable.class ); diff --git a/hibernate-core/src/test/java/org/hibernate/test/schemaupdate/idbag/IdBagSequenceTest.java b/hibernate-core/src/test/java/org/hibernate/test/schemaupdate/idbag/IdBagSequenceTest.java index f6731bb162..c6f8562502 100644 --- a/hibernate-core/src/test/java/org/hibernate/test/schemaupdate/idbag/IdBagSequenceTest.java +++ b/hibernate-core/src/test/java/org/hibernate/test/schemaupdate/idbag/IdBagSequenceTest.java @@ -18,9 +18,11 @@ import org.hibernate.cfg.Environment; import org.hibernate.tool.hbm2ddl.SchemaUpdate; import org.hibernate.tool.schema.TargetType; -import org.junit.Test; - +import org.hibernate.testing.DialectChecks; +import org.hibernate.testing.RequiresDialectFeature; import org.hibernate.testing.TestForIssue; +import org.hibernate.testing.junit4.BaseUnitTestCase; +import org.junit.Test; import static org.hamcrest.core.Is.is; import static org.junit.Assert.assertThat; @@ -29,7 +31,8 @@ import static org.junit.Assert.assertThat; * @author Andrea Boriero */ @TestForIssue(jiraKey = "HHH-10373") -public class IdBagSequenceTest { +@RequiresDialectFeature(DialectChecks.SupportsSequences.class) +public class IdBagSequenceTest extends BaseUnitTestCase { @Test public void testIdBagSequenceGeneratorIsCreated() throws Exception { diff --git a/hibernate-core/src/test/java/org/hibernate/test/sorted/Search.hbm.xml b/hibernate-core/src/test/java/org/hibernate/test/sorted/Search.hbm.xml index 7543586fb9..85926231eb 100755 --- a/hibernate-core/src/test/java/org/hibernate/test/sorted/Search.hbm.xml +++ b/hibernate-core/src/test/java/org/hibernate/test/sorted/Search.hbm.xml @@ -23,8 +23,8 @@ - - + + diff --git a/hibernate-testing/src/main/java/org/hibernate/testing/Skip.java b/hibernate-testing/src/main/java/org/hibernate/testing/Skip.java index ab04474e33..417e0dc591 100644 --- a/hibernate-testing/src/main/java/org/hibernate/testing/Skip.java +++ b/hibernate-testing/src/main/java/org/hibernate/testing/Skip.java @@ -45,10 +45,19 @@ public @interface Skip { public boolean isMatch(); } - public static class AlwaysSkip implements Matcher { + class AlwaysSkip implements Matcher { @Override public boolean isMatch() { return true; } } + + interface OperatingSystem { + class Windows implements Matcher { + @Override + public boolean isMatch() { + return System.getProperty("os.name").toLowerCase().contains( "windows" ); + } + } + } }