Skip to content

Commit 91dd51e

Browse files
committed
improve all the array tests
so that one failure doesn't drag everything down with it
1 parent 7a37a85 commit 91dd51e

16 files changed

+150
-30
lines changed

hibernate-core/src/test/java/org/hibernate/orm/test/type/BasicListTest.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import java.util.Collections;
99
import java.util.List;
1010

11+
import org.hibernate.community.dialect.InformixDialect;
1112
import org.hibernate.dialect.DB2Dialect;
1213
import org.hibernate.dialect.Dialect;
1314
import org.hibernate.dialect.HANADialect;
@@ -25,7 +26,8 @@
2526
import org.hibernate.testing.orm.junit.SessionFactoryScope;
2627
import org.hibernate.testing.orm.junit.SkipForDialect;
2728
import org.hibernate.type.BasicType;
28-
import org.junit.jupiter.api.BeforeAll;
29+
import org.junit.jupiter.api.AfterEach;
30+
import org.junit.jupiter.api.BeforeEach;
2931
import org.junit.jupiter.api.Test;
3032

3133
import jakarta.persistence.Column;
@@ -54,7 +56,7 @@ public class BasicListTest {
5456

5557
private BasicType<List<Integer>> integerListType;
5658

57-
@BeforeAll
59+
@BeforeEach
5860
public void startUp(SessionFactoryScope scope) {
5961
scope.inTransaction( em -> {
6062
integerListType = em.getTypeConfiguration().getBasicTypeForGenericJavaType( List.class, Integer.class );
@@ -75,6 +77,11 @@ public void startUp(SessionFactoryScope scope) {
7577
} );
7678
}
7779

80+
@AfterEach
81+
public void tearDown(SessionFactoryScope scope) {
82+
scope.getSessionFactory().getSchemaManager().truncate();
83+
}
84+
7885
@Test
7986
public void testById(SessionFactoryScope scope) {
8087
scope.inSession( em -> {
@@ -128,6 +135,7 @@ public void testNativeQueryById(SessionFactoryScope scope) {
128135
@SkipForDialect(dialectClass = SybaseASEDialect.class, reason = "Sybase ASE requires a special function to compare XML")
129136
@SkipForDialect(dialectClass = HANADialect.class, reason = "HANA requires a special function to compare LOBs")
130137
@SkipForDialect(dialectClass = MySQLDialect.class, matchSubTypes = true, reason = "MySQL supports distinct from through a special operator")
138+
@SkipForDialect(dialectClass = InformixDialect.class, reason = "Informix can't compare LOBs")
131139
public void testNativeQuery(SessionFactoryScope scope) {
132140
scope.inSession( em -> {
133141
final Dialect dialect = em.getDialect();

hibernate-core/src/test/java/org/hibernate/orm/test/type/BasicSortedSetTest.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
import java.util.SortedSet;
1010
import java.util.TreeSet;
1111

12+
import org.hibernate.community.dialect.InformixDialect;
1213
import org.hibernate.dialect.DB2Dialect;
1314
import org.hibernate.dialect.Dialect;
1415
import org.hibernate.dialect.HANADialect;
@@ -26,7 +27,8 @@
2627
import org.hibernate.testing.orm.junit.SessionFactoryScope;
2728
import org.hibernate.testing.orm.junit.SkipForDialect;
2829
import org.hibernate.type.BasicType;
29-
import org.junit.jupiter.api.BeforeAll;
30+
import org.junit.jupiter.api.AfterEach;
31+
import org.junit.jupiter.api.BeforeEach;
3032
import org.junit.jupiter.api.Test;
3133

3234
import jakarta.persistence.Column;
@@ -55,7 +57,7 @@ public class BasicSortedSetTest {
5557

5658
private BasicType<SortedSet<Integer>> integerSortedSetType;
5759

58-
@BeforeAll
60+
@BeforeEach
5961
public void startUp(SessionFactoryScope scope) {
6062
scope.inTransaction( em -> {
6163
integerSortedSetType = em.getTypeConfiguration().getBasicTypeForGenericJavaType( SortedSet.class, Integer.class );
@@ -76,6 +78,11 @@ public void startUp(SessionFactoryScope scope) {
7678
} );
7779
}
7880

81+
@AfterEach
82+
public void tearDown(SessionFactoryScope scope) {
83+
scope.getSessionFactory().getSchemaManager().truncate();
84+
}
85+
7986
@Test
8087
public void testById(SessionFactoryScope scope) {
8188
scope.inSession( em -> {
@@ -129,6 +136,7 @@ public void testNativeQueryById(SessionFactoryScope scope) {
129136
@SkipForDialect(dialectClass = SybaseASEDialect.class, reason = "Sybase ASE requires a special function to compare XML")
130137
@SkipForDialect(dialectClass = HANADialect.class, reason = "HANA requires a special function to compare LOBs")
131138
@SkipForDialect(dialectClass = MySQLDialect.class, matchSubTypes = true, reason = "MySQL supports distinct from through a special operator")
139+
@SkipForDialect(dialectClass = InformixDialect.class, reason = "Informix can't compare LOBs")
132140
public void testNativeQuery(SessionFactoryScope scope) {
133141
scope.inSession( em -> {
134142
final Dialect dialect = em.getDialect();

hibernate-core/src/test/java/org/hibernate/orm/test/type/BooleanArrayTest.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
*/
55
package org.hibernate.orm.test.type;
66

7+
import org.hibernate.community.dialect.InformixDialect;
78
import org.hibernate.dialect.DB2Dialect;
89
import org.hibernate.dialect.Dialect;
910
import org.hibernate.dialect.HANADialect;
@@ -25,7 +26,8 @@
2526
import org.hibernate.testing.orm.junit.SessionFactoryScope;
2627
import org.hibernate.testing.orm.junit.SkipForDialect;
2728
import org.hibernate.type.BasicType;
28-
import org.junit.jupiter.api.BeforeAll;
29+
import org.junit.jupiter.api.AfterEach;
30+
import org.junit.jupiter.api.BeforeEach;
2931
import org.junit.jupiter.api.Test;
3032

3133
import jakarta.persistence.Column;
@@ -57,7 +59,7 @@ public class BooleanArrayTest {
5759

5860
private BasicType<Boolean[]> arrayType;
5961

60-
@BeforeAll
62+
@BeforeEach
6163
public void startUp(SessionFactoryScope scope) {
6264
scope.inTransaction( em -> {
6365
arrayType = em.getTypeConfiguration().getBasicTypeForJavaType( Boolean[].class );
@@ -78,6 +80,11 @@ public void startUp(SessionFactoryScope scope) {
7880
} );
7981
}
8082

83+
@AfterEach
84+
public void tearDown(SessionFactoryScope scope) {
85+
scope.getSessionFactory().getSchemaManager().truncate();
86+
}
87+
8188
@Test
8289
@SkipForDialect( dialectClass = OracleDialect.class, reason = "External driver fix required")
8390
public void testById(SessionFactoryScope scope) {
@@ -135,6 +142,7 @@ public void testNativeQueryById(SessionFactoryScope scope) {
135142
@SkipForDialect(dialectClass = SybaseASEDialect.class, reason = "Sybase ASE requires a special function to compare XML")
136143
@SkipForDialect(dialectClass = HANADialect.class, reason = "HANA requires a special function to compare LOBs")
137144
@SkipForDialect(dialectClass = MySQLDialect.class, matchSubTypes = true, reason = "MySQL supports distinct from through a special operator")
145+
@SkipForDialect(dialectClass = InformixDialect.class, reason = "Informix can't compare LOBs")
138146
public void testNativeQuery(SessionFactoryScope scope) {
139147
scope.inSession( em -> {
140148
final Dialect dialect = em.getDialect();

hibernate-core/src/test/java/org/hibernate/orm/test/type/DateArrayTest.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66

77
import java.time.LocalDate;
88

9+
import org.hibernate.community.dialect.InformixDialect;
910
import org.hibernate.dialect.DB2Dialect;
1011
import org.hibernate.dialect.Dialect;
1112
import org.hibernate.dialect.HANADialect;
@@ -25,7 +26,8 @@
2526
import org.hibernate.testing.orm.junit.SessionFactoryScope;
2627
import org.hibernate.testing.orm.junit.SkipForDialect;
2728
import org.hibernate.type.BasicType;
28-
import org.junit.jupiter.api.BeforeAll;
29+
import org.junit.jupiter.api.AfterEach;
30+
import org.junit.jupiter.api.BeforeEach;
2931
import org.junit.jupiter.api.Test;
3032

3133
import jakarta.persistence.Column;
@@ -61,7 +63,7 @@ public class DateArrayTest {
6163

6264
private BasicType<LocalDate[]> arrayType;
6365

64-
@BeforeAll
66+
@BeforeEach
6567
public void startUp(SessionFactoryScope scope) {
6668
scope.inTransaction( em -> {
6769
arrayType = em.getTypeConfiguration().getBasicTypeForJavaType( LocalDate[].class );
@@ -87,6 +89,11 @@ public void startUp(SessionFactoryScope scope) {
8789
} );
8890
}
8991

92+
@AfterEach
93+
public void tearDown(SessionFactoryScope scope) {
94+
scope.getSessionFactory().getSchemaManager().truncate();
95+
}
96+
9097
@Test
9198
public void testById(SessionFactoryScope scope) {
9299
scope.inSession( em -> {
@@ -145,6 +152,7 @@ public void testNativeQueryById(SessionFactoryScope scope) {
145152
@SkipForDialect(dialectClass = HANADialect.class, reason = "HANA requires a special function to compare LOBs")
146153
@SkipForDialect(dialectClass = MySQLDialect.class, matchSubTypes = true, reason = "MySQL supports distinct from through a special operator")
147154
@SkipForDialect(dialectClass = PostgresPlusDialect.class, reason = "Seems that comparing date[] through JDBC is buggy. ERROR: operator does not exist: timestamp without time zone[] = date[]")
155+
@SkipForDialect(dialectClass = InformixDialect.class, reason = "Informix can't compare LOBs")
148156
public void testNativeQuery(SessionFactoryScope scope) {
149157
scope.inSession( em -> {
150158
final Dialect dialect = em.getDialect();

hibernate-core/src/test/java/org/hibernate/orm/test/type/DoubleArrayTest.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
package org.hibernate.orm.test.type;
66

77

8+
import org.hibernate.community.dialect.InformixDialect;
89
import org.hibernate.dialect.DB2Dialect;
910
import org.hibernate.dialect.Dialect;
1011
import org.hibernate.dialect.HANADialect;
@@ -23,7 +24,8 @@
2324
import org.hibernate.testing.orm.junit.SessionFactoryScope;
2425
import org.hibernate.testing.orm.junit.SkipForDialect;
2526
import org.hibernate.type.BasicType;
26-
import org.junit.jupiter.api.BeforeAll;
27+
import org.junit.jupiter.api.AfterEach;
28+
import org.junit.jupiter.api.BeforeEach;
2729
import org.junit.jupiter.api.Test;
2830

2931
import jakarta.persistence.Column;
@@ -54,7 +56,7 @@ public class DoubleArrayTest {
5456

5557
private BasicType<Double[]> arrayType;
5658

57-
@BeforeAll
59+
@BeforeEach
5860
public void startUp(SessionFactoryScope scope) {
5961
scope.inTransaction( em -> {
6062
arrayType = em.getTypeConfiguration().getBasicTypeForJavaType( Double[].class );
@@ -77,6 +79,11 @@ public void startUp(SessionFactoryScope scope) {
7779
} );
7880
}
7981

82+
@AfterEach
83+
public void tearDown(SessionFactoryScope scope) {
84+
scope.getSessionFactory().getSchemaManager().truncate();
85+
}
86+
8087
@Test
8188
public void testLoadValueWithInexactFloatRepresentation(SessionFactoryScope scope) {
8289
scope.inSession( em -> {
@@ -139,6 +146,7 @@ public void testNativeQueryById(SessionFactoryScope scope) {
139146
@SkipForDialect(dialectClass = SybaseASEDialect.class, reason = "Sybase ASE requires a special function to compare XML")
140147
@SkipForDialect(dialectClass = HANADialect.class, reason = "HANA requires a special function to compare LOBs")
141148
@SkipForDialect(dialectClass = MySQLDialect.class, matchSubTypes = true, reason = "MySQL supports distinct from through a special operator")
149+
@SkipForDialect(dialectClass = InformixDialect.class, reason = "Informix can't compare LOBs")
142150
public void testNativeQuery(SessionFactoryScope scope) {
143151
scope.inSession( em -> {
144152
final Dialect dialect = em.getDialect();

hibernate-core/src/test/java/org/hibernate/orm/test/type/EnumArrayTest.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,7 @@
55
package org.hibernate.orm.test.type;
66

77
import org.hibernate.community.dialect.AltibaseDialect;
8+
import org.hibernate.community.dialect.InformixDialect;
89
import org.hibernate.dialect.DB2Dialect;
910
import org.hibernate.community.dialect.DerbyDialect;
1011
import org.hibernate.dialect.Dialect;
@@ -22,7 +23,8 @@
2223
import org.hibernate.testing.orm.junit.SessionFactoryScope;
2324
import org.hibernate.testing.orm.junit.SkipForDialect;
2425
import org.hibernate.type.BasicType;
25-
import org.junit.jupiter.api.BeforeAll;
26+
import org.junit.jupiter.api.AfterEach;
27+
import org.junit.jupiter.api.BeforeEach;
2628
import org.junit.jupiter.api.Test;
2729

2830
import jakarta.persistence.Column;
@@ -54,7 +56,7 @@ public class EnumArrayTest {
5456

5557
private BasicType<MyEnum[]> arrayType;
5658

57-
@BeforeAll
59+
@BeforeEach
5860
public void startUp(SessionFactoryScope scope) {
5961
scope.inTransaction( em -> {
6062
arrayType = em.getTypeConfiguration().getBasicTypeForJavaType( MyEnum[].class );
@@ -75,6 +77,11 @@ public void startUp(SessionFactoryScope scope) {
7577
} );
7678
}
7779

80+
@AfterEach
81+
public void tearDown(SessionFactoryScope scope) {
82+
scope.getSessionFactory().getSchemaManager().truncate();
83+
}
84+
7885
@Test
7986
@SkipForDialect(dialectClass = AltibaseDialect.class, reason = "When length 0 byte array is inserted, Altibase returns with null")
8087
public void testById(SessionFactoryScope scope) {
@@ -132,6 +139,7 @@ public void testNativeQueryById(SessionFactoryScope scope) {
132139
@SkipForDialect(dialectClass = MySQLDialect.class, matchSubTypes = true, reason = "MySQL supports distinct from through a special operator")
133140
@SkipForDialect(dialectClass = DerbyDialect.class )
134141
@SkipForDialect(dialectClass = DB2Dialect.class )
142+
@SkipForDialect(dialectClass = InformixDialect.class, reason = "Informix can't compare LOBs")
135143
public void testNativeQuery(SessionFactoryScope scope) {
136144
scope.inSession( em -> {
137145
final Dialect dialect = em.getDialect();

hibernate-core/src/test/java/org/hibernate/orm/test/type/EnumSetConverterTest.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import java.util.HashSet;
99
import java.util.Set;
1010

11+
import org.hibernate.community.dialect.InformixDialect;
1112
import org.hibernate.dialect.DB2Dialect;
1213
import org.hibernate.dialect.Dialect;
1314
import org.hibernate.dialect.HANADialect;
@@ -26,7 +27,8 @@
2627
import org.hibernate.testing.orm.junit.SessionFactoryScope;
2728
import org.hibernate.testing.orm.junit.SkipForDialect;
2829
import org.hibernate.type.BasicType;
29-
import org.junit.jupiter.api.BeforeAll;
30+
import org.junit.jupiter.api.AfterEach;
31+
import org.junit.jupiter.api.BeforeEach;
3032
import org.junit.jupiter.api.Test;
3133

3234
import jakarta.persistence.AttributeConverter;
@@ -57,7 +59,7 @@ public class EnumSetConverterTest {
5759

5860
private BasicType<Set<MySpecialEnum>> enumSetType;
5961

60-
@BeforeAll
62+
@BeforeEach
6163
public void startUp(SessionFactoryScope scope) {
6264
scope.inTransaction( em -> {
6365
//noinspection unchecked
@@ -84,6 +86,11 @@ public void startUp(SessionFactoryScope scope) {
8486
} );
8587
}
8688

89+
@AfterEach
90+
public void tearDown(SessionFactoryScope scope) {
91+
scope.getSessionFactory().getSchemaManager().truncate();
92+
}
93+
8794
@Test
8895
public void testById(SessionFactoryScope scope) {
8996
scope.inSession( em -> {
@@ -137,6 +144,7 @@ public void testNativeQueryById(SessionFactoryScope scope) {
137144
@SkipForDialect(dialectClass = SybaseASEDialect.class, reason = "Sybase ASE requires a special function to compare XML")
138145
@SkipForDialect(dialectClass = HANADialect.class, reason = "HANA requires a special function to compare LOBs")
139146
@SkipForDialect(dialectClass = MySQLDialect.class, matchSubTypes = true, reason = "MySQL supports distinct from through a special operator")
147+
@SkipForDialect(dialectClass = InformixDialect.class, reason = "Informix can't compare LOBs")
140148
public void testNativeQuery(SessionFactoryScope scope) {
141149
scope.inSession( em -> {
142150
final Dialect dialect = em.getDialect();

hibernate-core/src/test/java/org/hibernate/orm/test/type/EnumSetTest.java

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@
88
import java.util.HashSet;
99
import java.util.Set;
1010

11+
import org.hibernate.community.dialect.InformixDialect;
1112
import org.hibernate.dialect.DB2Dialect;
1213
import org.hibernate.dialect.Dialect;
1314
import org.hibernate.dialect.HANADialect;
@@ -25,7 +26,8 @@
2526
import org.hibernate.testing.orm.junit.SessionFactoryScope;
2627
import org.hibernate.testing.orm.junit.SkipForDialect;
2728
import org.hibernate.type.BasicType;
28-
import org.junit.jupiter.api.BeforeAll;
29+
import org.junit.jupiter.api.AfterEach;
30+
import org.junit.jupiter.api.BeforeEach;
2931
import org.junit.jupiter.api.Test;
3032

3133
import jakarta.persistence.Column;
@@ -56,7 +58,7 @@ public class EnumSetTest {
5658

5759
private BasicType<Set<MyEnum>> enumSetType;
5860

59-
@BeforeAll
61+
@BeforeEach
6062
public void startUp(SessionFactoryScope scope) {
6163
scope.inTransaction( em -> {
6264
enumSetType = em.getTypeConfiguration().getBasicTypeForGenericJavaType( Set.class, MyEnum.class );
@@ -77,6 +79,11 @@ public void startUp(SessionFactoryScope scope) {
7779
} );
7880
}
7981

82+
@AfterEach
83+
public void tearDown(SessionFactoryScope scope) {
84+
scope.getSessionFactory().getSchemaManager().truncate();
85+
}
86+
8087
@Test
8188
public void testById(SessionFactoryScope scope) {
8289
scope.inSession( em -> {
@@ -130,6 +137,7 @@ public void testNativeQueryById(SessionFactoryScope scope) {
130137
@SkipForDialect(dialectClass = SybaseASEDialect.class, reason = "Sybase ASE requires a special function to compare XML")
131138
@SkipForDialect(dialectClass = HANADialect.class, reason = "HANA requires a special function to compare LOBs")
132139
@SkipForDialect(dialectClass = MySQLDialect.class, matchSubTypes = true, reason = "MySQL supports distinct from through a special operator")
140+
@SkipForDialect(dialectClass = InformixDialect.class, reason = "Informix can't compare LOBs")
133141
public void testNativeQuery(SessionFactoryScope scope) {
134142
scope.inSession( em -> {
135143
final Dialect dialect = em.getDialect();

0 commit comments

Comments
 (0)