You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jdo-commits@db.apache.org by mb...@apache.org on 2023/12/17 20:49:15 UTC

(db-jdo) branch JDO-831 updated: JDO-831: setup and teardown per class for non modifying query tests

This is an automated email from the ASF dual-hosted git repository.

mbo pushed a commit to branch JDO-831
in repository https://gitbox.apache.org/repos/asf/db-jdo.git


The following commit(s) were added to refs/heads/JDO-831 by this push:
     new e1256c4b JDO-831: setup and teardown per class for non modifying query tests
e1256c4b is described below

commit e1256c4b4cb69af2aa15cc9d296116e489718052
Author: Michael Bouschen <Mi...@akquinet.de>
AuthorDate: Sun Dec 17 21:49:08 2023 +0100

    JDO-831: setup and teardown per class for non modifying query tests
---
 tck/src/main/java/org/apache/jdo/tck/JDO_Test.java       |  4 ++--
 .../java/org/apache/jdo/tck/query/api/AutoCloseable.java | 16 ++++++++++++++++
 .../java/org/apache/jdo/tck/query/api/GetFetchPlan.java  | 16 ++++++++++++++++
 .../apache/jdo/tck/query/api/MetadataSearchOrder.java    | 16 ++++++++++++++++
 .../java/org/apache/jdo/tck/query/api/NewNamedQuery.java | 16 ++++++++++++++++
 .../java/org/apache/jdo/tck/query/api/QueryCancel.java   | 16 ++++++++++++++++
 .../org/apache/jdo/tck/query/api/SampleReadQueries.java  | 16 ++++++++++++++++
 .../java/org/apache/jdo/tck/query/api/SetResult.java     | 16 ++++++++++++++++
 .../org/apache/jdo/tck/query/api/UnmodifiableQuery.java  | 16 ++++++++++++++++
 .../main/java/org/apache/jdo/tck/query/jdoql/Cast.java   | 16 ++++++++++++++++
 .../jdo/tck/query/jdoql/CharacterAndStringLiterals.java  | 16 ++++++++++++++++
 .../ComparingPersistentAndNonPersistentInstance.java     | 16 ++++++++++++++++
 .../jdo/tck/query/jdoql/DenoteUniquenessInFilter.java    | 16 ++++++++++++++++
 .../main/java/org/apache/jdo/tck/query/jdoql/Having.java | 16 ++++++++++++++++
 .../jdo/tck/query/jdoql/IdentifiersEqualFieldNames.java  | 16 ++++++++++++++++
 .../org/apache/jdo/tck/query/jdoql/IfElseInFilter.java   | 16 ++++++++++++++++
 .../jdo/tck/query/jdoql/MultipleIdenticalImports.java    | 16 ++++++++++++++++
 .../tck/query/jdoql/NavigationComparisonWithNull.java    | 16 ++++++++++++++++
 .../query/jdoql/NavigationThroughANullValuedField.java   | 16 ++++++++++++++++
 .../NavigationThroughReferencesUsesDotOperator.java      | 16 ++++++++++++++++
 .../org/apache/jdo/tck/query/jdoql/NegativeRange.java    | 16 ++++++++++++++++
 .../query/jdoql/NullCollectionsAndContainsMethod.java    | 16 ++++++++++++++++
 .../jdo/tck/query/jdoql/OrderingSpecification.java       | 16 ++++++++++++++++
 .../org/apache/jdo/tck/query/jdoql/PositiveRange.java    | 16 ++++++++++++++++
 .../org/apache/jdo/tck/query/jdoql/RangeAsString.java    | 16 ++++++++++++++++
 .../tck/query/jdoql/SeparateNamespaceForTypeNames.java   | 16 ++++++++++++++++
 .../tck/query/jdoql/keywords/KeywordsAsFieldNames.java   | 16 ++++++++++++++++
 .../jdo/tck/query/jdoql/keywords/UppercaseLowercase.java | 16 ++++++++++++++++
 .../tck/query/jdoql/methods/StartsWithAndEndsWith.java   | 16 ++++++++++++++++
 .../query/jdoql/methods/SupportedCollectionMethods.java  | 16 ++++++++++++++++
 .../tck/query/jdoql/methods/SupportedDateMethods.java    | 16 ++++++++++++++++
 .../query/jdoql/methods/SupportedJDOHelperMethods.java   | 16 ++++++++++++++++
 .../tck/query/jdoql/methods/SupportedListMethods.java    | 16 ++++++++++++++++
 .../jdo/tck/query/jdoql/methods/SupportedMapMethods.java | 16 ++++++++++++++++
 .../query/jdoql/methods/SupportedOptionalMethods.java    | 16 ++++++++++++++++
 .../tck/query/jdoql/methods/SupportedStringMethods.java  | 16 ++++++++++++++++
 .../tck/query/jdoql/methods/SupportedTimeMethods.java    | 16 ++++++++++++++++
 .../query/jdoql/operators/BitwiseBinaryOperators.java    | 16 ++++++++++++++++
 .../jdo/tck/query/jdoql/operators/BooleanLogicalOR.java  | 16 ++++++++++++++++
 ...lityAndComparisonsBetweenDateFieldsAndParameters.java | 16 ++++++++++++++++
 ...tyAndComparisonsBetweenStringFieldsAndParameters.java | 16 ++++++++++++++++
 .../apache/jdo/tck/query/jdoql/operators/Instanceof.java | 16 ++++++++++++++++
 .../org/apache/jdo/tck/query/jdoql/operators/Modulo.java | 16 ++++++++++++++++
 .../tck/query/jdoql/operators/StringConcatenation.java   | 16 ++++++++++++++++
 .../tck/query/jdoql/parameters/ImplicitParameters.java   | 16 ++++++++++++++++
 .../jdo/tck/query/jdoql/parameters/MixedParameters.java  | 16 ++++++++++++++++
 .../tck/query/jdoql/parameters/OrderOfParameters.java    | 16 ++++++++++++++++
 .../tck/query/jdoql/subqueries/CorrelatedSubqueries.java | 16 ++++++++++++++++
 .../jdo/tck/query/jdoql/variables/MixedVariables.java    | 16 ++++++++++++++++
 .../tck/query/jdoql/variables/VariablesAndFields.java    | 16 ++++++++++++++++
 .../org/apache/jdo/tck/query/result/AggregateResult.java | 16 ++++++++++++++++
 .../org/apache/jdo/tck/query/result/DefaultUnique.java   | 16 ++++++++++++++++
 .../jdo/tck/query/result/DistinctCandidateInstances.java | 16 ++++++++++++++++
 .../org/apache/jdo/tck/query/result/DistinctQuery.java   | 16 ++++++++++++++++
 .../java/org/apache/jdo/tck/query/result/Grouping.java   | 16 ++++++++++++++++
 .../org/apache/jdo/tck/query/result/IfElseResult.java    | 16 ++++++++++++++++
 .../org/apache/jdo/tck/query/result/MethodsInResult.java | 16 ++++++++++++++++
 .../org/apache/jdo/tck/query/result/NPEInResultExpr.java | 16 ++++++++++++++++
 .../org/apache/jdo/tck/query/result/NullResults.java     | 16 ++++++++++++++++
 .../jdo/tck/query/result/ResultClassRequirements.java    | 16 ++++++++++++++++
 .../apache/jdo/tck/query/result/ResultExpressions.java   | 16 ++++++++++++++++
 .../org/apache/jdo/tck/query/result/ShapeOfResult.java   | 16 ++++++++++++++++
 .../java/org/apache/jdo/tck/query/result/Unique.java     | 16 ++++++++++++++++
 .../apache/jdo/tck/query/result/VariableInResult.java    | 16 ++++++++++++++++
 .../query/result/VariableInResultMultipleNavigation.java | 16 ++++++++++++++++
 .../jdo/tck/query/result/VariableInResultNavigation.java | 16 ++++++++++++++++
 .../org/apache/jdo/tck/query/sql/AllowedAPIMethods.java  | 16 ++++++++++++++++
 .../org/apache/jdo/tck/query/sql/ExecuteWithMap.java     | 16 ++++++++++++++++
 .../org/apache/jdo/tck/query/sql/NoCandidateClass.java   | 16 ++++++++++++++++
 .../java/org/apache/jdo/tck/query/sql/ShapeOfResult.java | 16 ++++++++++++++++
 70 files changed, 1106 insertions(+), 2 deletions(-)

diff --git a/tck/src/main/java/org/apache/jdo/tck/JDO_Test.java b/tck/src/main/java/org/apache/jdo/tck/JDO_Test.java
index d4582b5a..eb078814 100644
--- a/tck/src/main/java/org/apache/jdo/tck/JDO_Test.java
+++ b/tck/src/main/java/org/apache/jdo/tck/JDO_Test.java
@@ -244,7 +244,7 @@ public abstract class JDO_Test {
   }
 
   @BeforeEach
-  protected final void setUp() {
+  protected void setUp() {
     if (!preSetUp()) {
       return;
     }
@@ -297,7 +297,7 @@ public abstract class JDO_Test {
    * of each configuration, unless the property jdo.tck.closePMFAfterEachTest is set to true.
    */
   @AfterEach
-  protected final void tearDown() {
+  protected void tearDown() {
     if (!preTearDown()) {
       return;
     }
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/api/AutoCloseable.java b/tck/src/main/java/org/apache/jdo/tck/query/api/AutoCloseable.java
index de5981e0..a504c0e9 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/api/AutoCloseable.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/api/AutoCloseable.java
@@ -26,7 +26,10 @@ import javax.jdo.Query;
 import javax.jdo.Transaction;
 import org.apache.jdo.tck.pc.mylib.PCPoint;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> AutoCloseable <br>
@@ -36,6 +39,7 @@ import org.junit.jupiter.api.Test;
  * try-with-resources all results of execute(...) methods on this query instance are automatically
  * closed at the end of that block and all resources associated with it are released.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class AutoCloseable extends QueryTest {
 
   /** */
@@ -230,6 +234,18 @@ public class AutoCloseable extends QueryTest {
     }
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/api/GetFetchPlan.java b/tck/src/main/java/org/apache/jdo/tck/query/api/GetFetchPlan.java
index 208f5067..65c549c5 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/api/GetFetchPlan.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/api/GetFetchPlan.java
@@ -22,8 +22,11 @@ import javax.jdo.FetchPlan;
 import javax.jdo.Query;
 import org.apache.jdo.tck.pc.mylib.PCClass;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Get Fetch Plan. <br>
@@ -33,6 +36,7 @@ import org.junit.jupiter.api.Test;
  * always returns the identical instance for the same Query instance. Any change made to the fetch
  * plan affects subsequent query execution.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class GetFetchPlan extends QueryTest {
 
   /** */
@@ -112,4 +116,16 @@ public class GetFetchPlan extends QueryTest {
       query.getFetchPlan().removeGroup(FETCH_GROUP_2);
     }
   }
+
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
 }
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/api/MetadataSearchOrder.java b/tck/src/main/java/org/apache/jdo/tck/query/api/MetadataSearchOrder.java
index 83303aa1..69f4cbac 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/api/MetadataSearchOrder.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/api/MetadataSearchOrder.java
@@ -24,7 +24,10 @@ import org.apache.jdo.tck.pc.company.Person;
 import org.apache.jdo.tck.pc.mylib.MylibReader;
 import org.apache.jdo.tck.pc.mylib.PCClass;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Metadata Search Order. <br>
@@ -35,6 +38,7 @@ import org.junit.jupiter.api.Test;
  * the query is found. The order is based on the metadata search order for class metadata, but
  * includes files named based on the query name.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class MetadataSearchOrder extends QueryTest {
 
   /** */
@@ -92,6 +96,18 @@ public class MetadataSearchOrder extends QueryTest {
         ASSERTION_FAILED, query, "Named query " + namedQuery, false, null, expectedResult, true);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/api/NewNamedQuery.java b/tck/src/main/java/org/apache/jdo/tck/query/api/NewNamedQuery.java
index a6878709..7cd9c574 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/api/NewNamedQuery.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/api/NewNamedQuery.java
@@ -23,7 +23,10 @@ import org.apache.jdo.tck.pc.company.CompanyModelReader;
 import org.apache.jdo.tck.pc.company.Person;
 import org.apache.jdo.tck.query.QueryTest;
 import org.apache.jdo.tck.query.result.classes.FullName;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> New Named Query. <br>
@@ -32,6 +35,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion Description: </B> Construct a new query instance with the given candidate class from
  * a named query.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class NewNamedQuery extends QueryTest {
 
   /** */
@@ -79,6 +83,18 @@ public class NewNamedQuery extends QueryTest {
         positive);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/api/QueryCancel.java b/tck/src/main/java/org/apache/jdo/tck/query/api/QueryCancel.java
index 7484c2ef..f9ec9bc8 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/api/QueryCancel.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/api/QueryCancel.java
@@ -29,7 +29,10 @@ import org.apache.jdo.tck.pc.mylib.PCPoint;
 import org.apache.jdo.tck.pc.mylib.PCPoint2;
 import org.apache.jdo.tck.query.QueryTest;
 import org.apache.jdo.tck.util.ThreadExceptionHandler;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 import org.opentest4j.AssertionFailedError;
 
 /**
@@ -47,6 +50,7 @@ import org.opentest4j.AssertionFailedError;
  * <p>Looks like Derby is evaluating the query on ResultSet.next() and thus the actual query
  * execution is too fast to be canceled.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class QueryCancel extends QueryTest {
 
   /** Time for the main thread to sleep after starting a parallel thread. */
@@ -212,6 +216,18 @@ public class QueryCancel extends QueryTest {
     }
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/api/SampleReadQueries.java b/tck/src/main/java/org/apache/jdo/tck/query/api/SampleReadQueries.java
index a7347258..f1471076 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/api/SampleReadQueries.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/api/SampleReadQueries.java
@@ -38,7 +38,10 @@ import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.pc.company.QFullTimeEmployee;
 import org.apache.jdo.tck.query.QueryTest;
 import org.apache.jdo.tck.util.EqualityHelper;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> SampleReadQueries <br>
@@ -56,6 +59,7 @@ import org.junit.jupiter.api.Test;
  * version of the JDO query testQueryxxe: named query version of the JDO query testQueryxxf:
  * JDOQLTypedQuery version
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class SampleReadQueries extends QueryTest {
 
   /** */
@@ -3152,6 +3156,18 @@ public class SampleReadQueries extends QueryTest {
     }
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/api/SetResult.java b/tck/src/main/java/org/apache/jdo/tck/query/api/SetResult.java
index 0550ced0..2f553062 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/api/SetResult.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/api/SetResult.java
@@ -23,7 +23,10 @@ import javax.jdo.Query;
 import org.apache.jdo.tck.pc.company.CompanyModelReader;
 import org.apache.jdo.tck.pc.company.Person;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Set Result. <br>
@@ -32,6 +35,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion Description: </B> void setResult (String result); Specify the results of the query
  * if not instances of the candidate class.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class SetResult extends QueryTest {
 
   /** */
@@ -69,6 +73,18 @@ public class SetResult extends QueryTest {
     }
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/api/UnmodifiableQuery.java b/tck/src/main/java/org/apache/jdo/tck/query/api/UnmodifiableQuery.java
index a32afdf6..f6f8b9d0 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/api/UnmodifiableQuery.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/api/UnmodifiableQuery.java
@@ -25,7 +25,10 @@ import org.apache.jdo.tck.pc.company.Employee;
 import org.apache.jdo.tck.pc.company.Person;
 import org.apache.jdo.tck.query.QueryTest;
 import org.apache.jdo.tck.query.result.classes.FullName;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Unmodifiable Query. <br>
@@ -35,6 +38,7 @@ import org.junit.jupiter.api.Test;
  * modification of the query, except for specifying the range and result class and ignoreCache
  * option.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class UnmodifiableQuery extends QueryTest {
 
   /** */
@@ -169,6 +173,18 @@ public class UnmodifiableQuery extends QueryTest {
     fail(ASSERTION_FAILED + method + " on an unmodifiable query must throw JDOUserException.");
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/Cast.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/Cast.java
index 7da16afa..c34b4304 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/Cast.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/Cast.java
@@ -28,7 +28,10 @@ import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.pc.company.QFullTimeEmployee;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Cast Query Operator <br>
@@ -36,6 +39,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion ID:</B> A14.6.2-38. <br>
  * <B>Assertion Description: </B> The cast operator can be used for type conversions on classes.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class Cast extends QueryTest {
 
   /** */
@@ -117,6 +121,18 @@ public class Cast extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/CharacterAndStringLiterals.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/CharacterAndStringLiterals.java
index 1acd068f..59beb93d 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/CharacterAndStringLiterals.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/CharacterAndStringLiterals.java
@@ -23,7 +23,10 @@ import org.apache.jdo.tck.pc.mylib.PrimitiveTypes;
 import org.apache.jdo.tck.pc.mylib.QPrimitiveTypes;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Character and String Literals. <br>
@@ -34,6 +37,7 @@ import org.junit.jupiter.api.Test;
  * String literals are allowed to be delimited by single quote marks or double quote marks. This
  * allows String literal filters to use single quote marks instead of escaped double quote marks.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class CharacterAndStringLiterals extends QueryTest {
 
   /** */
@@ -147,6 +151,18 @@ public class CharacterAndStringLiterals extends QueryTest {
     }
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/ComparingPersistentAndNonPersistentInstance.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/ComparingPersistentAndNonPersistentInstance.java
index cfee56c9..06bf4a17 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/ComparingPersistentAndNonPersistentInstance.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/ComparingPersistentAndNonPersistentInstance.java
@@ -27,7 +27,10 @@ import org.apache.jdo.tck.pc.company.Employee;
 import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Comparing persistent and non-persistent instance <br>
@@ -36,6 +39,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion Description: </B> Comparisons between persistent and non-persistent instances return
  * not equal.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class ComparingPersistentAndNonPersistentInstance extends QueryTest {
 
   /** */
@@ -115,6 +119,18 @@ public class ComparingPersistentAndNonPersistentInstance extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/DenoteUniquenessInFilter.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/DenoteUniquenessInFilter.java
index 54462c75..b11e9294 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/DenoteUniquenessInFilter.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/DenoteUniquenessInFilter.java
@@ -25,7 +25,10 @@ import org.apache.jdo.tck.pc.company.QDepartment;
 import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Element Returned in Query Result <br>
@@ -42,6 +45,7 @@ import org.junit.jupiter.api.Test;
  *       declaring an expression (for example, <code>e1 != e2</code>).
  * </UL>
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class DenoteUniquenessInFilter extends QueryTest {
 
   /** */
@@ -183,6 +187,18 @@ public class DenoteUniquenessInFilter extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/Having.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/Having.java
index e1569bbf..38243a9a 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/Having.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/Having.java
@@ -25,7 +25,10 @@ import org.apache.jdo.tck.pc.company.Employee;
 import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Having. <br>
@@ -34,6 +37,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion Description: </B> When having is specified, the having expression consists of
  * arithmetic and boolean expressions containing aggregate expressions.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class Having extends QueryTest {
 
   /** */
@@ -169,6 +173,18 @@ public class Having extends QueryTest {
     }
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/IdentifiersEqualFieldNames.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/IdentifiersEqualFieldNames.java
index fecc4b45..b2f052be 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/IdentifiersEqualFieldNames.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/IdentifiersEqualFieldNames.java
@@ -26,7 +26,10 @@ import org.apache.jdo.tck.pc.company.QDepartment;
 import org.apache.jdo.tck.pc.company.QPerson;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Identifiers Equal Field Names. <br>
@@ -35,6 +38,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion Description: </B> Identifiers that are persistent field names or public final static
  * field names are required to be supported by JDO implementations.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class IdentifiersEqualFieldNames extends QueryTest {
 
   /** */
@@ -207,6 +211,18 @@ public class IdentifiersEqualFieldNames extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/IfElseInFilter.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/IfElseInFilter.java
index 59055adf..8be2cfdd 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/IfElseInFilter.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/IfElseInFilter.java
@@ -29,7 +29,10 @@ import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.pc.company.QFullTimeEmployee;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Use of If Else expression in filter <br>
@@ -37,6 +40,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion ID:</B> A14.6.x <br>
  * <B>Assertion Description: </B>
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class IfElseInFilter extends QueryTest {
 
   /** */
@@ -259,6 +263,18 @@ public class IfElseInFilter extends QueryTest {
     }
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/MultipleIdenticalImports.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/MultipleIdenticalImports.java
index eb93c02e..75fffb83 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/MultipleIdenticalImports.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/MultipleIdenticalImports.java
@@ -28,7 +28,10 @@ import org.apache.jdo.tck.pc.company.Employee;
 import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Multiple identical imports <br>
@@ -36,6 +39,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion ID:</B> A14.4-5. <br>
  * <B>Assertion Description: </B> It is valid to specify the same import multiple times.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class MultipleIdenticalImports extends QueryTest {
 
   /** */
@@ -159,6 +163,18 @@ public class MultipleIdenticalImports extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationComparisonWithNull.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationComparisonWithNull.java
index ace0c827..c3b31ae9 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationComparisonWithNull.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationComparisonWithNull.java
@@ -26,7 +26,10 @@ import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.pc.company.QMedicalInsurance;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Navigation Through a Reference and comparing a Relationship with null <br>
@@ -35,6 +38,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion Description: </B> Navigation through single-valued fields is specified by the Java
  * language syntax of <code>field_name.field_name....field_name</code>.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class NavigationComparisonWithNull extends QueryTest {
 
   /** */
@@ -456,6 +460,18 @@ public class NavigationComparisonWithNull extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationThroughANullValuedField.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationThroughANullValuedField.java
index d0d40be5..79b08cb7 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationThroughANullValuedField.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationThroughANullValuedField.java
@@ -26,7 +26,10 @@ import org.apache.jdo.tck.pc.company.QDepartment;
 import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Navigation Through a Null-Valued Field <br>
@@ -37,6 +40,7 @@ import org.junit.jupiter.api.Test;
  * for the evaluation of the current set of variable values. Other values for variables might still
  * qualify the candidate instance for inclusion in the result set.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class NavigationThroughANullValuedField extends QueryTest {
 
   /** */
@@ -195,6 +199,18 @@ public class NavigationThroughANullValuedField extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationThroughReferencesUsesDotOperator.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationThroughReferencesUsesDotOperator.java
index f6cf4a84..143d4493 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationThroughReferencesUsesDotOperator.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NavigationThroughReferencesUsesDotOperator.java
@@ -26,7 +26,10 @@ import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.pc.company.QMedicalInsurance;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Navigation Through a References uses Dot Operator <br>
@@ -35,6 +38,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion Description: </B> Navigation through single-valued fields is specified by the Java
  * language syntax of <code>field_name.field_name....field_name</code>.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class NavigationThroughReferencesUsesDotOperator extends QueryTest {
 
   /** */
@@ -194,6 +198,18 @@ public class NavigationThroughReferencesUsesDotOperator extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NegativeRange.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NegativeRange.java
index 03887c84..23edec1a 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NegativeRange.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NegativeRange.java
@@ -23,7 +23,10 @@ import org.apache.jdo.tck.pc.company.CompanyModelReader;
 import org.apache.jdo.tck.pc.company.Person;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Negative Range. <br>
@@ -34,6 +37,7 @@ import org.junit.jupiter.api.Test;
  * Iterator obtained from the List returns false to hasNext(). If the result of the query execution
  * is a single instance (setUnique(true)), it will have a value of null.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class NegativeRange extends QueryTest {
 
   /** */
@@ -155,6 +159,18 @@ public class NegativeRange extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NullCollectionsAndContainsMethod.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NullCollectionsAndContainsMethod.java
index 325d4f28..d17d7b1f 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NullCollectionsAndContainsMethod.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/NullCollectionsAndContainsMethod.java
@@ -28,7 +28,10 @@ import org.apache.jdo.tck.pc.company.Project;
 import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Null Collections and Contains Method <br>
@@ -38,6 +41,7 @@ import org.junit.jupiter.api.Test;
  * are treated as if they were empty and all <code>contains</code> methods return <code>false</code>
  * .
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class NullCollectionsAndContainsMethod extends QueryTest {
 
   /** */
@@ -121,6 +125,18 @@ public class NullCollectionsAndContainsMethod extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/OrderingSpecification.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/OrderingSpecification.java
index 64e15dee..5198b37b 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/OrderingSpecification.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/OrderingSpecification.java
@@ -31,7 +31,10 @@ import org.apache.jdo.tck.pc.fieldtypes.AllTypes;
 import org.apache.jdo.tck.pc.mylib.PCPoint;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Ordering Specification <br>
@@ -56,6 +59,7 @@ import org.junit.jupiter.api.Test;
  * via navigation through single-valued fields is specified by the Java language syntax of <code>
  * field_name.field_name....field_name</code>.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class OrderingSpecification extends QueryTest {
 
   /** */
@@ -252,6 +256,18 @@ public class OrderingSpecification extends QueryTest {
     }
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/PositiveRange.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/PositiveRange.java
index 6b375fcb..ecca2c1f 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/PositiveRange.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/PositiveRange.java
@@ -24,7 +24,10 @@ import org.apache.jdo.tck.pc.company.Person;
 import org.apache.jdo.tck.pc.company.QPerson;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Positive Range. <br>
@@ -32,6 +35,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion ID:</B> A14.6.8-1. <br>
  * <B>Assertion Description: </B> setRange(long fromIncl, long toExcl)
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class PositiveRange extends QueryTest {
 
   /** */
@@ -166,6 +170,18 @@ public class PositiveRange extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/RangeAsString.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/RangeAsString.java
index 0551ecd3..7456e397 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/RangeAsString.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/RangeAsString.java
@@ -24,7 +24,10 @@ import org.apache.jdo.tck.pc.company.Person;
 import org.apache.jdo.tck.pc.company.QPerson;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Range as String. <br>
@@ -32,6 +35,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion ID:</B> A14.6.8-3. <br>
  * <B>Assertion Description: </B> setRange(String range);
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class RangeAsString extends QueryTest {
 
   /** */
@@ -167,6 +171,18 @@ public class RangeAsString extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/SeparateNamespaceForTypeNames.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/SeparateNamespaceForTypeNames.java
index 08060b57..e804ab26 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/SeparateNamespaceForTypeNames.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/SeparateNamespaceForTypeNames.java
@@ -29,7 +29,10 @@ import org.apache.jdo.tck.pc.company.QDepartment;
 import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Namespace of Type Names Separate From Fields, Variables, Parameters <br>
@@ -38,6 +41,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion Description: </B> Type names have their own namespace that is separate from the
  * namespace for fields, variables and parameters.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class SeparateNamespaceForTypeNames extends QueryTest {
 
   /** */
@@ -115,6 +119,18 @@ public class SeparateNamespaceForTypeNames extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/keywords/KeywordsAsFieldNames.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/keywords/KeywordsAsFieldNames.java
index 4417e584..f1cbd79c 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/keywords/KeywordsAsFieldNames.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/keywords/KeywordsAsFieldNames.java
@@ -20,7 +20,10 @@ package org.apache.jdo.tck.query.jdoql.keywords;
 import org.apache.jdo.tck.pc.query.JDOQLKeywordsAsFieldNames;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Keywords as field names. <br>
@@ -29,6 +32,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion Description: </B> Keywords are permitted as field names only if they are on the
  * right side of the "." in field access expressions.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class KeywordsAsFieldNames extends QueryTest {
 
   /** */
@@ -91,4 +95,16 @@ public class KeywordsAsFieldNames extends QueryTest {
       compileSingleStringQuery(ASSERTION_FAILED, invalidQuery, false);
     }
   }
+
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
 }
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/keywords/UppercaseLowercase.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/keywords/UppercaseLowercase.java
index a4f154f7..64fa3daf 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/keywords/UppercaseLowercase.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/keywords/UppercaseLowercase.java
@@ -18,7 +18,10 @@
 package org.apache.jdo.tck.query.jdoql.keywords;
 
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Keywords in uppercase and lowercase. <br>
@@ -27,6 +30,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion Description: </B> Keywords, identified above in bold, are either all upper-case or
  * all lower-case. Keywords cannot be mixed case.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class UppercaseLowercase extends QueryTest {
 
   /** */
@@ -59,4 +63,16 @@ public class UppercaseLowercase extends QueryTest {
       compileSingleStringQuery(ASSERTION_FAILED, invalidSingleStringQuery, false);
     }
   }
+
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
 }
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/StartsWithAndEndsWith.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/StartsWithAndEndsWith.java
index d811439b..9fca8026 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/StartsWithAndEndsWith.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/StartsWithAndEndsWith.java
@@ -24,7 +24,10 @@ import org.apache.jdo.tck.pc.company.Employee;
 import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> StartsWith and EndsWith Query Operators <br>
@@ -34,6 +37,7 @@ import org.junit.jupiter.api.Test;
  * endsWith</code> support wild card queries. JDO does not define any special semantic to the
  * argument passed to the method; in particular, it does not define any wild card characters.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class StartsWithAndEndsWith extends QueryTest {
 
   /** */
@@ -106,6 +110,18 @@ public class StartsWithAndEndsWith extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedCollectionMethods.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedCollectionMethods.java
index 099dc824..ad2322d4 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedCollectionMethods.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedCollectionMethods.java
@@ -29,7 +29,10 @@ import org.apache.jdo.tck.pc.company.QDepartment;
 import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B>Supported collection methods <br>
@@ -43,6 +46,7 @@ import org.junit.jupiter.api.Test;
  *   <LI>size
  * </UL>
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class SupportedCollectionMethods extends QueryTest {
 
   /** */
@@ -221,6 +225,18 @@ public class SupportedCollectionMethods extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, expectedResult);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedDateMethods.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedDateMethods.java
index 3ad0bf1a..9e2161d6 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedDateMethods.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedDateMethods.java
@@ -24,7 +24,10 @@ import org.apache.jdo.tck.pc.company.Person;
 import org.apache.jdo.tck.pc.company.QPerson;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Supported Date methods. <br>
@@ -38,6 +41,7 @@ import org.junit.jupiter.api.Test;
  *   <li>getYear()
  * </ul>
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class SupportedDateMethods extends QueryTest {
 
   /** */
@@ -140,6 +144,18 @@ public class SupportedDateMethods extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedJDOHelperMethods.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedJDOHelperMethods.java
index 4c6a8d85..ecf5fca3 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedJDOHelperMethods.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedJDOHelperMethods.java
@@ -35,7 +35,10 @@ import org.apache.jdo.tck.pc.mylib.QVersionedPCPoint;
 import org.apache.jdo.tck.pc.mylib.VersionedPCPoint;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Supported JDOHelper methods. <br>
@@ -48,6 +51,7 @@ import org.junit.jupiter.api.Test;
  *   <li>JDOHelper.getVersion(Object)
  * </ul>
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class SupportedJDOHelperMethods extends QueryTest {
 
   /** */
@@ -215,6 +219,18 @@ public class SupportedJDOHelperMethods extends QueryTest {
     loadAndPersistCompanyModel(getPM());
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /** */
   private <T> List<T> getExpectedResult(boolean oidsWanted, Class<T> candidateClass) {
     return getExpectedResult(oidsWanted, candidateClass, null);
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedListMethods.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedListMethods.java
index a9dbca99..9d749a98 100755
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedListMethods.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedListMethods.java
@@ -29,7 +29,10 @@ import org.apache.jdo.tck.pc.company.MeetingRoom;
 import org.apache.jdo.tck.pc.company.QDepartment;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B>Supported list methods <br>
@@ -41,6 +44,7 @@ import org.junit.jupiter.api.Test;
  *   <LI>get(int)
  * </UL>
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class SupportedListMethods extends QueryTest {
 
   /** */
@@ -124,6 +128,18 @@ public class SupportedListMethods extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, null, true, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedMapMethods.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedMapMethods.java
index 9448969c..3692b357 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedMapMethods.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedMapMethods.java
@@ -25,7 +25,10 @@ import org.apache.jdo.tck.pc.company.Person;
 import org.apache.jdo.tck.pc.company.QPerson;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Supported Map methods. <br>
@@ -41,6 +44,7 @@ import org.junit.jupiter.api.Test;
  *   <li>size()
  * </ul>
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class SupportedMapMethods extends QueryTest {
 
   /** */
@@ -215,6 +219,18 @@ public class SupportedMapMethods extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedOptionalMethods.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedOptionalMethods.java
index 017fa47d..20841a82 100755
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedOptionalMethods.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedOptionalMethods.java
@@ -29,8 +29,11 @@ import javax.jdo.Transaction;
 import org.apache.jdo.tck.pc.query.OptionalSample;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
 import org.junit.jupiter.api.Assertions;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Optional Fields. <br>
@@ -38,6 +41,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion ID:</B> A14.6.2-9 <br>
  * <B>Assertion Description: </B> Queries on fields of type java.util.Optional .
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class SupportedOptionalMethods extends QueryTest {
 
   /** */
@@ -542,6 +546,18 @@ public class SupportedOptionalMethods extends QueryTest {
     }
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedStringMethods.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedStringMethods.java
index 3e7a3a22..17e0cb56 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedStringMethods.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedStringMethods.java
@@ -26,7 +26,10 @@ import org.apache.jdo.tck.pc.company.QDepartment;
 import org.apache.jdo.tck.pc.company.QPerson;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Supported String methods. <br>
@@ -50,6 +53,7 @@ import org.junit.jupiter.api.Test;
  *   <li>trim()
  * </ul>
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class SupportedStringMethods extends QueryTest {
 
   /** */
@@ -551,6 +555,18 @@ public class SupportedStringMethods extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedTimeMethods.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedTimeMethods.java
index 7009a4d7..16dbf3d7 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedTimeMethods.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/methods/SupportedTimeMethods.java
@@ -26,7 +26,10 @@ import javax.jdo.Query;
 import javax.jdo.Transaction;
 import org.apache.jdo.tck.pc.query.TimeSample;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Supported Time methods. <br>
@@ -40,6 +43,7 @@ import org.junit.jupiter.api.Test;
  *   <li>getSecond()
  * </ul>
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class SupportedTimeMethods extends QueryTest {
 
   /** */
@@ -121,6 +125,18 @@ public class SupportedTimeMethods extends QueryTest {
     }
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/BitwiseBinaryOperators.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/BitwiseBinaryOperators.java
index 6369b42b..897a8786 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/BitwiseBinaryOperators.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/BitwiseBinaryOperators.java
@@ -24,7 +24,10 @@ import javax.jdo.Query;
 import javax.jdo.Transaction;
 import org.apache.jdo.tck.pc.mylib.PrimitiveTypes;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Bitwise Binary Query Operators <br>
@@ -39,6 +42,7 @@ import org.junit.jupiter.api.Test;
  *   <LI><code>byte, short, int, long, Byte, Short Integer, Long</code>
  * </UL>
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class BitwiseBinaryOperators extends QueryTest {
 
   /** */
@@ -251,6 +255,18 @@ public class BitwiseBinaryOperators extends QueryTest {
     tx.commit();
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/BooleanLogicalOR.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/BooleanLogicalOR.java
index 88c90a70..73274290 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/BooleanLogicalOR.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/BooleanLogicalOR.java
@@ -25,7 +25,10 @@ import javax.jdo.Query;
 import javax.jdo.Transaction;
 import org.apache.jdo.tck.pc.mylib.PrimitiveTypes;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Boolean Logical OR Query Operator <br>
@@ -39,6 +42,7 @@ import org.junit.jupiter.api.Test;
  *   <LI><code>Boolean, boolean</code>
  * </UL>
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class BooleanLogicalOR extends QueryTest {
 
   /** */
@@ -125,6 +129,18 @@ public class BooleanLogicalOR extends QueryTest {
     tx.commit();
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/EqualityAndComparisonsBetweenDateFieldsAndParameters.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/EqualityAndComparisonsBetweenDateFieldsAndParameters.java
index 451cf71c..98f7ac68 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/EqualityAndComparisonsBetweenDateFieldsAndParameters.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/EqualityAndComparisonsBetweenDateFieldsAndParameters.java
@@ -30,7 +30,10 @@ import org.apache.jdo.tck.pc.company.Employee;
 import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Equality and Comparisons Between Date Fields and Parameters <br>
@@ -39,6 +42,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion Description: </B> Equality and ordering comparisons of <code>Date</code> fields and
  * <code>Date</code> parameters are valid in a <code>Query</code> filter.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class EqualityAndComparisonsBetweenDateFieldsAndParameters extends QueryTest {
 
   /** */
@@ -178,6 +182,18 @@ public class EqualityAndComparisonsBetweenDateFieldsAndParameters extends QueryT
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/EqualityAndComparisonsBetweenStringFieldsAndParameters.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/EqualityAndComparisonsBetweenStringFieldsAndParameters.java
index aea51901..cf2c1c58 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/EqualityAndComparisonsBetweenStringFieldsAndParameters.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/EqualityAndComparisonsBetweenStringFieldsAndParameters.java
@@ -27,7 +27,10 @@ import org.apache.jdo.tck.pc.company.Employee;
 import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Equality and Comparisons Between String Fields and Parameters <br>
@@ -36,6 +39,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion Description: </B> Equality and ordering comparisons of <code>String</code> fields
  * and <code>String</code> parameters are valid. The comparison is done lexicographically.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class EqualityAndComparisonsBetweenStringFieldsAndParameters extends QueryTest {
 
   /** */
@@ -150,6 +154,18 @@ public class EqualityAndComparisonsBetweenStringFieldsAndParameters extends Quer
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/Instanceof.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/Instanceof.java
index c9eb7b71..1e5776f6 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/Instanceof.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/Instanceof.java
@@ -25,7 +25,10 @@ import org.apache.jdo.tck.pc.company.PartTimeEmployee;
 import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Instanceof operator. <br>
@@ -33,6 +36,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion ID:</B> A14.6.2-41. <br>
  * <B>Assertion Description: </B> instanceof operator
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class Instanceof extends QueryTest {
 
   /** */
@@ -104,6 +108,18 @@ public class Instanceof extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/Modulo.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/Modulo.java
index 5105a1d1..40f438a2 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/Modulo.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/Modulo.java
@@ -27,7 +27,10 @@ import org.apache.jdo.tck.pc.company.QPerson;
 import org.apache.jdo.tck.pc.mylib.PrimitiveTypes;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Modulo operator. <br>
@@ -35,6 +38,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion ID:</B> A14.6.2-40. <br>
  * <B>Assertion Description: </B> modulo operator
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class Modulo extends QueryTest {
 
   /** */
@@ -97,6 +101,18 @@ public class Modulo extends QueryTest {
     tx.commit();
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/StringConcatenation.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/StringConcatenation.java
index 2d6b1098..2ee309aa 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/StringConcatenation.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/operators/StringConcatenation.java
@@ -27,7 +27,10 @@ import org.apache.jdo.tck.pc.company.Employee;
 import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> String Concatenation Query Operator <br>
@@ -36,6 +39,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion Description: </B> The <code>String</code> concatenation operator (<code>+</code>) is
  * supported for the <code>String</code> type only.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class StringConcatenation extends QueryTest {
 
   /** */
@@ -110,6 +114,18 @@ public class StringConcatenation extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/parameters/ImplicitParameters.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/parameters/ImplicitParameters.java
index 51a2703c..3c35d445 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/parameters/ImplicitParameters.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/parameters/ImplicitParameters.java
@@ -26,7 +26,10 @@ import org.apache.jdo.tck.pc.company.Employee;
 import org.apache.jdo.tck.pc.company.Person;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Implicit parameters. <br>
@@ -36,6 +39,7 @@ import org.junit.jupiter.api.Test;
  * ordering, or range) are identified by prepending a ":" to the parameter everywhere it appears.
  * All parameter types can be determined by one of the following techniques:
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class ImplicitParameters extends QueryTest {
 
   /** */
@@ -176,6 +180,18 @@ public class ImplicitParameters extends QueryTest {
     // TBD executeJDOQLTypedQuery(ASSERTION_FAILED, holder, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/parameters/MixedParameters.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/parameters/MixedParameters.java
index a79daf05..ea27fe83 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/parameters/MixedParameters.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/parameters/MixedParameters.java
@@ -20,7 +20,10 @@ package org.apache.jdo.tck.query.jdoql.parameters;
 import org.apache.jdo.tck.pc.company.Person;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Mixed parameters. <br>
@@ -29,6 +32,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion Description: </B> Parameters must all be declared explicitly via declareParameters
  * or all be declared implicitly in the filter.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class MixedParameters extends QueryTest {
 
   /** */
@@ -118,4 +122,16 @@ public class MixedParameters extends QueryTest {
       compileSingleStringQuery(ASSERTION_FAILED, invalidQuery, false);
     }
   }
+
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
 }
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/parameters/OrderOfParameters.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/parameters/OrderOfParameters.java
index ee825178..14f5eed7 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/parameters/OrderOfParameters.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/parameters/OrderOfParameters.java
@@ -23,7 +23,10 @@ import javax.jdo.Transaction;
 import org.apache.jdo.tck.pc.company.CompanyModelReader;
 import org.apache.jdo.tck.pc.company.Person;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Order of Parameters. <br>
@@ -32,6 +35,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion Description: </B> If implicit parameters are used, their order of appearance in the
  * query determines their order for binding to positional parameters for execution.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class OrderOfParameters extends QueryTest {
 
   /** */
@@ -93,6 +97,18 @@ public class OrderOfParameters extends QueryTest {
     }
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/subqueries/CorrelatedSubqueries.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/subqueries/CorrelatedSubqueries.java
index ddaf9510..78b43849 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/subqueries/CorrelatedSubqueries.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/subqueries/CorrelatedSubqueries.java
@@ -28,7 +28,10 @@ import org.apache.jdo.tck.pc.company.Employee;
 import org.apache.jdo.tck.pc.company.MeetingRoom;
 import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.pc.company.QMeetingRoom;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Correlated Subqueries Without Parameters <br>
@@ -38,6 +41,7 @@ import org.junit.jupiter.api.Test;
  * expressions in the outer query. If the correlation can be expressed as a restriction of the
  * candidate collection of the subquery, no parameters are needed.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class CorrelatedSubqueries extends SubqueriesTest {
 
   /** */
@@ -240,6 +244,18 @@ public class CorrelatedSubqueries extends SubqueriesTest {
     }
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/variables/MixedVariables.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/variables/MixedVariables.java
index cb11e889..2ae924d4 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/variables/MixedVariables.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/variables/MixedVariables.java
@@ -21,7 +21,10 @@ import org.apache.jdo.tck.pc.company.CompanyModelReader;
 import org.apache.jdo.tck.pc.company.Employee;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Mixed Variables. <br>
@@ -30,6 +33,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion Description: </B> All variables must be explicitly declared, or all variables must
  * be implicitly declared.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class MixedVariables extends QueryTest {
 
   /** */
@@ -115,6 +119,18 @@ public class MixedVariables extends QueryTest {
     }
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/variables/VariablesAndFields.java b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/variables/VariablesAndFields.java
index db667a3e..a2770ebf 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/jdoql/variables/VariablesAndFields.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/jdoql/variables/VariablesAndFields.java
@@ -27,7 +27,10 @@ import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.pc.company.QPerson;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Variables and Fields. <br>
@@ -41,6 +44,7 @@ import org.junit.jupiter.api.Test;
  * are in the java.lang package. e.g. Integer. Otherwise, names are treated as implicitly defined
  * variable names.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class VariablesAndFields extends QueryTest {
 
   /** */
@@ -251,6 +255,18 @@ public class VariablesAndFields extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/AggregateResult.java b/tck/src/main/java/org/apache/jdo/tck/query/result/AggregateResult.java
index 34c44661..95b30d16 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/AggregateResult.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/AggregateResult.java
@@ -30,7 +30,10 @@ import org.apache.jdo.tck.pc.company.QPerson;
 import org.apache.jdo.tck.pc.company.QProject;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Aggregate Result. <br>
@@ -40,6 +43,7 @@ import org.junit.jupiter.api.Test;
  * field's type for other Number types (BigDecimal, BigInteger, Float, and Double). Sum is invalid
  * if applied to non-Number types. Avg, min, and max return the type of the expression.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class AggregateResult extends QueryTest {
 
   /** */
@@ -993,6 +997,18 @@ public class AggregateResult extends QueryTest {
     }
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/DefaultUnique.java b/tck/src/main/java/org/apache/jdo/tck/query/result/DefaultUnique.java
index 29e01b40..0a7654bd 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/DefaultUnique.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/DefaultUnique.java
@@ -29,7 +29,10 @@ import org.apache.jdo.tck.pc.company.QDentalInsurance;
 import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Default Unique. <br>
@@ -38,6 +41,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion Description: </B> The default Unique setting is true for aggregate results without a
  * grouping expression, and false otherwise.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class DefaultUnique extends QueryTest {
 
   /** */
@@ -379,6 +383,18 @@ public class DefaultUnique extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, null, true, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/DistinctCandidateInstances.java b/tck/src/main/java/org/apache/jdo/tck/query/result/DistinctCandidateInstances.java
index 8abb5e50..59b0cc89 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/DistinctCandidateInstances.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/DistinctCandidateInstances.java
@@ -26,7 +26,10 @@ import org.apache.jdo.tck.pc.company.Person;
 import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Distinct Candidate Instances. <br>
@@ -37,6 +40,7 @@ import org.junit.jupiter.api.Test;
  * contain duplicate candidate instances; the distinct keyword removes duplicates from the candidate
  * collection in this case.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class DistinctCandidateInstances extends QueryTest {
 
   /** */
@@ -143,6 +147,18 @@ public class DistinctCandidateInstances extends QueryTest {
         true);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/DistinctQuery.java b/tck/src/main/java/org/apache/jdo/tck/query/result/DistinctQuery.java
index f96eac9e..d6645f81 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/DistinctQuery.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/DistinctQuery.java
@@ -26,7 +26,10 @@ import org.apache.jdo.tck.pc.company.Employee;
 import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Disctinct Query. <br>
@@ -36,6 +39,7 @@ import org.junit.jupiter.api.Test;
  * duplicates. If the result parameter specifies more than one result expression, duplicates are
  * those with matching values for each result expression.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class DistinctQuery extends QueryTest {
 
   /** */
@@ -185,6 +189,18 @@ public class DistinctQuery extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, null, true, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/Grouping.java b/tck/src/main/java/org/apache/jdo/tck/query/result/Grouping.java
index 1a1e30ec..f70d46bf 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/Grouping.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/Grouping.java
@@ -25,7 +25,10 @@ import org.apache.jdo.tck.pc.company.FullTimeEmployee;
 import org.apache.jdo.tck.pc.company.QFullTimeEmployee;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Grouping. <br>
@@ -36,6 +39,7 @@ import org.junit.jupiter.api.Test;
  * per group. The query groups all elements where all expressions specified in setGrouping have the
  * same values. The query result consists of one element per group.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class Grouping extends QueryTest {
 
   /** */
@@ -112,6 +116,18 @@ public class Grouping extends QueryTest {
     }
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/IfElseResult.java b/tck/src/main/java/org/apache/jdo/tck/query/result/IfElseResult.java
index f3a5335d..914ee837 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/IfElseResult.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/IfElseResult.java
@@ -29,7 +29,10 @@ import org.apache.jdo.tck.pc.company.QDentalInsurance;
 import org.apache.jdo.tck.pc.company.QProject;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> IfElseResult. <br>
@@ -37,6 +40,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion ID:</B> . <br>
  * <B>Assertion Description: </B>
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class IfElseResult extends QueryTest {
 
   /** */
@@ -220,6 +224,18 @@ public class IfElseResult extends QueryTest {
     }
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/MethodsInResult.java b/tck/src/main/java/org/apache/jdo/tck/query/result/MethodsInResult.java
index 0bc87d6d..737504f1 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/MethodsInResult.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/MethodsInResult.java
@@ -26,7 +26,10 @@ import org.apache.jdo.tck.pc.company.QDepartment;
 import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Test using methods in the result expression <br>
@@ -35,6 +38,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion Description: </B> The result expressions include: method expression: the value of an
  * expression calling any of the methods allowed in queries applied to fields is returned.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class MethodsInResult extends QueryTest {
 
   /** */
@@ -250,6 +254,18 @@ public class MethodsInResult extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, null, true, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/NPEInResultExpr.java b/tck/src/main/java/org/apache/jdo/tck/query/result/NPEInResultExpr.java
index e8e2c07a..da15ad27 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/NPEInResultExpr.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/NPEInResultExpr.java
@@ -26,7 +26,10 @@ import org.apache.jdo.tck.pc.company.QDepartment;
 import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> NullPointerException in Result Expression. <br>
@@ -36,6 +39,7 @@ import org.junit.jupiter.api.Test;
  * field or variable has a null value for a particular set of conditions (the result calculation
  * would throw NullPointerException), then the result is null for that result expression.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class NPEInResultExpr extends QueryTest {
 
   /** */
@@ -108,6 +112,18 @@ public class NPEInResultExpr extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, null, true, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/NullResults.java b/tck/src/main/java/org/apache/jdo/tck/query/result/NullResults.java
index a29a6b6e..c3317ae3 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/NullResults.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/NullResults.java
@@ -25,7 +25,10 @@ import org.apache.jdo.tck.pc.company.Employee;
 import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Null Results. <br>
@@ -34,6 +37,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion Description: </B> If the returned value from a query specifying a result is null,
  * this indicates that the expression specified as the result was null.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class NullResults extends QueryTest {
 
   /** */
@@ -137,6 +141,18 @@ public class NullResults extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, null, true, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/ResultClassRequirements.java b/tck/src/main/java/org/apache/jdo/tck/query/result/ResultClassRequirements.java
index 6ca900b0..a00af459 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/ResultClassRequirements.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/ResultClassRequirements.java
@@ -34,7 +34,10 @@ import org.apache.jdo.tck.query.result.classes.NoFieldsNoMethods;
 import org.apache.jdo.tck.query.result.classes.PublicLongField;
 import org.apache.jdo.tck.query.result.classes.PublicPutMethod;
 import org.apache.jdo.tck.util.ConversionHelper;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Result Class Requirements. <br>
@@ -42,6 +45,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion ID:</B> A14.6.12-1. <br>
  * <B>Assertion Description: </B> The result class may be one of the java.lang classes ...
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class ResultClassRequirements extends QueryTest {
 
   /** */
@@ -536,6 +540,18 @@ public class ResultClassRequirements extends QueryTest {
     }
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/ResultExpressions.java b/tck/src/main/java/org/apache/jdo/tck/query/result/ResultExpressions.java
index 561b1c35..254a7201 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/ResultExpressions.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/ResultExpressions.java
@@ -34,7 +34,10 @@ import org.apache.jdo.tck.pc.company.QPerson;
 import org.apache.jdo.tck.pc.company.QProject;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Result Expressions. <br>
@@ -43,6 +46,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion Description: </B> The result expressions include: ... The result expression can be
  * explicitly cast using the (cast) operator.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class ResultExpressions extends QueryTest {
 
   /** */
@@ -715,6 +719,18 @@ public class ResultExpressions extends QueryTest {
     }
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/ShapeOfResult.java b/tck/src/main/java/org/apache/jdo/tck/query/result/ShapeOfResult.java
index ef7dee8c..9187ce40 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/ShapeOfResult.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/ShapeOfResult.java
@@ -27,7 +27,10 @@ import org.apache.jdo.tck.pc.company.QPerson;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
 import org.apache.jdo.tck.query.result.classes.FullName;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Shape of Result. <br>
@@ -35,6 +38,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion ID:</B> A14.6.12-2. <br>
  * <B>Assertion Description: </B> Table 6: Shape of Result (C is the candidate class)
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class ShapeOfResult extends QueryTest {
 
   /** */
@@ -391,6 +395,18 @@ public class ShapeOfResult extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, FullName.class, true, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/Unique.java b/tck/src/main/java/org/apache/jdo/tck/query/result/Unique.java
index e98d3aab..c09b45f6 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/Unique.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/Unique.java
@@ -25,7 +25,10 @@ import org.apache.jdo.tck.pc.company.Person;
 import org.apache.jdo.tck.pc.company.QPerson;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Unique. <br>
@@ -36,6 +39,7 @@ import org.junit.jupiter.api.Test;
  * satisfied the filter. If more than one instance satisfies the filter, and the range is not
  * limited to one result, then execute throws a JDOUserException.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class Unique extends QueryTest {
 
   /** */
@@ -149,6 +153,18 @@ public class Unique extends QueryTest {
     executeJDOQuery(ASSERTION_FAILED, query, singleString, false, null, null, false);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/VariableInResult.java b/tck/src/main/java/org/apache/jdo/tck/query/result/VariableInResult.java
index 49002e1c..05ad242f 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/VariableInResult.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/VariableInResult.java
@@ -28,7 +28,10 @@ import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.pc.company.QProject;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Variable in Result. <br>
@@ -44,6 +47,7 @@ import org.junit.jupiter.api.Test;
  * variables used in the result that satisfy the filter. The result is the collection of result
  * expressions projected from the result tuples.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class VariableInResult extends QueryTest {
 
   /** */
@@ -235,6 +239,18 @@ public class VariableInResult extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, null, true, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/VariableInResultMultipleNavigation.java b/tck/src/main/java/org/apache/jdo/tck/query/result/VariableInResultMultipleNavigation.java
index efe0e581..a198b3eb 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/VariableInResultMultipleNavigation.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/VariableInResultMultipleNavigation.java
@@ -30,7 +30,10 @@ import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.pc.company.QProject;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Variable in Result. <br>
@@ -50,6 +53,7 @@ import org.junit.jupiter.api.Test;
  * from the candidate Department class to include fields in the corresponding Company. It navigates
  * from the candidate Company class to Department, Employee, and Project.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class VariableInResultMultipleNavigation extends QueryTest {
 
   /** */
@@ -222,6 +226,18 @@ public class VariableInResultMultipleNavigation extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, null, true, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/result/VariableInResultNavigation.java b/tck/src/main/java/org/apache/jdo/tck/query/result/VariableInResultNavigation.java
index 5432bc4a..608ea3f5 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/result/VariableInResultNavigation.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/result/VariableInResultNavigation.java
@@ -28,7 +28,10 @@ import org.apache.jdo.tck.pc.company.QEmployee;
 import org.apache.jdo.tck.pc.company.QProject;
 import org.apache.jdo.tck.query.QueryElementHolder;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Variable in Result. <br>
@@ -48,6 +51,7 @@ import org.junit.jupiter.api.Test;
  * from the candidate Department class to include fields in the corresponding Company. It navigates
  * from the candidate Company class to Department, Employee, and Project.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class VariableInResultNavigation extends QueryTest {
 
   /** */
@@ -283,6 +287,18 @@ public class VariableInResultNavigation extends QueryTest {
     executeJDOQLTypedQuery(ASSERTION_FAILED, holder, null, true, expected);
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/sql/AllowedAPIMethods.java b/tck/src/main/java/org/apache/jdo/tck/query/sql/AllowedAPIMethods.java
index 4e623680..24badaaa 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/sql/AllowedAPIMethods.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/sql/AllowedAPIMethods.java
@@ -29,7 +29,10 @@ import org.apache.jdo.tck.pc.mylib.MylibReader;
 import org.apache.jdo.tck.pc.mylib.PrimitiveTypes;
 import org.apache.jdo.tck.query.QueryTest;
 import org.apache.jdo.tck.query.result.classes.FullName;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Allowed API Methods. <br>
@@ -39,6 +42,7 @@ import org.junit.jupiter.api.Test;
  * candidate class, setUnique to declare that there is only one result row, and setResultClass to
  * establish the result class.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class AllowedAPIMethods extends QueryTest {
 
   /** */
@@ -229,6 +233,18 @@ public class AllowedAPIMethods extends QueryTest {
     fail(ASSERTION_FAILED + method + " on a SQL query must throw JDOUserException.");
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/sql/ExecuteWithMap.java b/tck/src/main/java/org/apache/jdo/tck/query/sql/ExecuteWithMap.java
index 51fef0a7..05cf82a1 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/sql/ExecuteWithMap.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/sql/ExecuteWithMap.java
@@ -25,7 +25,10 @@ import org.apache.jdo.tck.pc.company.Person;
 import org.apache.jdo.tck.pc.mylib.MylibReader;
 import org.apache.jdo.tck.pc.mylib.PrimitiveTypes;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> ExecuteWithMap <br>
@@ -36,6 +39,7 @@ import org.junit.jupiter.api.Test;
  * intValue is 1 is bound to the first ? in the SQL statement, and so forth.
  */
 @SuppressWarnings("unchecked")
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class ExecuteWithMap extends QueryTest {
 
   /** */
@@ -184,6 +188,18 @@ public class ExecuteWithMap extends QueryTest {
     }
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/sql/NoCandidateClass.java b/tck/src/main/java/org/apache/jdo/tck/query/sql/NoCandidateClass.java
index 71562ca0..0717c533 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/sql/NoCandidateClass.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/sql/NoCandidateClass.java
@@ -22,7 +22,10 @@ import javax.jdo.Query;
 import org.apache.jdo.tck.pc.company.CompanyModelReader;
 import org.apache.jdo.tck.pc.company.Employee;
 import org.apache.jdo.tck.query.QueryTest;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> No Candidate Class. <br>
@@ -32,6 +35,7 @@ import org.junit.jupiter.api.Test;
  * queries can be found by name using the factory method newNamedQuery, specifying the class as
  * null, or can be constructed without a candidate class.
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class NoCandidateClass extends QueryTest {
 
   /** */
@@ -80,6 +84,18 @@ public class NoCandidateClass extends QueryTest {
     }
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */
diff --git a/tck/src/main/java/org/apache/jdo/tck/query/sql/ShapeOfResult.java b/tck/src/main/java/org/apache/jdo/tck/query/sql/ShapeOfResult.java
index 68649512..66ecb2ac 100644
--- a/tck/src/main/java/org/apache/jdo/tck/query/sql/ShapeOfResult.java
+++ b/tck/src/main/java/org/apache/jdo/tck/query/sql/ShapeOfResult.java
@@ -25,7 +25,10 @@ import org.apache.jdo.tck.pc.mylib.MylibReader;
 import org.apache.jdo.tck.pc.mylib.PrimitiveTypes;
 import org.apache.jdo.tck.query.QueryTest;
 import org.apache.jdo.tck.query.result.classes.FullName;
+import org.junit.jupiter.api.AfterAll;
+import org.junit.jupiter.api.BeforeAll;
 import org.junit.jupiter.api.Test;
+import org.junit.jupiter.api.TestInstance;
 
 /**
  * <B>Title:</B> Shape of Result. <br>
@@ -33,6 +36,7 @@ import org.junit.jupiter.api.Test;
  * <B>Assertion ID:</B> A14.7-4. <br>
  * <B>Assertion Description: </B> Table 7: Shape of Result of SQL Query
  */
+@TestInstance(TestInstance.Lifecycle.PER_CLASS)
 public class ShapeOfResult extends QueryTest {
 
   /** */
@@ -216,6 +220,18 @@ public class ShapeOfResult extends QueryTest {
     }
   }
 
+  @BeforeAll
+  @Override
+  public void setUp() {
+    super.setUp();
+  }
+
+  @AfterAll
+  @Override
+  public void tearDown() {
+    super.tearDown();
+  }
+
   /**
    * @see org.apache.jdo.tck.JDO_Test#localSetUp()
    */