This is an automated email from the ASF dual-hosted git repository.
ahuber pushed a commit to branch v4
in repository https://gitbox.apache.org/repos/asf/causeway.git
The following commit(s) were added to refs/heads/v4 by this push:
new 918669509c5 CAUSEWAY-3897: another attempt on stabilizing tests (RO)
918669509c5 is described below
commit 918669509c5a2cda71c8fcd259707c49ef872e5f
Author: Andi Huber <[email protected]>
AuthorDate: Tue Jul 8 23:27:32 2025 +0200
CAUSEWAY-3897: another attempt on stabilizing tests (RO)
---
.../test/scenarios/Abstract_IntegTest.java | 17 ++++++++++++++++-
1 file changed, 16 insertions(+), 1 deletion(-)
diff --git
a/viewers/restfulobjects/test/src/test/java/org/apache/causeway/viewer/restfulobjects/test/scenarios/Abstract_IntegTest.java
b/viewers/restfulobjects/test/src/test/java/org/apache/causeway/viewer/restfulobjects/test/scenarios/Abstract_IntegTest.java
index 90827c8c3df..823d8aa2449 100644
---
a/viewers/restfulobjects/test/src/test/java/org/apache/causeway/viewer/restfulobjects/test/scenarios/Abstract_IntegTest.java
+++
b/viewers/restfulobjects/test/src/test/java/org/apache/causeway/viewer/restfulobjects/test/scenarios/Abstract_IntegTest.java
@@ -32,7 +32,9 @@
import org.springframework.test.annotation.DirtiesContext;
import org.springframework.test.context.TestPropertySource;
import org.springframework.transaction.annotation.Propagation;
+
import org.apache.causeway.applib.services.bookmark.BookmarkService;
+import org.apache.causeway.applib.services.xactn.TransactionState;
import
org.apache.causeway.persistence.jpa.eclipselink.CausewayModulePersistenceJpaEclipselink;
import
org.apache.causeway.viewer.restfulobjects.test.CausewayViewerRestfulObjectsIntegTestAbstract;
import org.apache.causeway.viewer.restfulobjects.test.domain.UniversityModule;
@@ -98,7 +100,20 @@ protected void beforeEach(){
@Override
@AfterEach
protected void afterEach(){
- transactionService.runTransactional(Propagation.REQUIRED, () -> {
+
+ int maxiter = 20;
+ while(maxiter>0
+ &&
transactionService.currentTransactionState()!=TransactionState.NONE) {
+ try {
+ Thread.sleep(100);
+ } catch (InterruptedException e) {
+ e.printStackTrace();
+ }
+ System.err.printf("Waiting for current transaction to complete
(%d)%n", maxiter);
+ --maxiter;
+ }
+
+ transactionService.runTransactional(Propagation.REQUIRES_NEW, () -> {
staffMemberRepository.removeAll();
deptHeadRepository.findAll().forEach(x -> x.setDepartment(null));
departmentRepository.findAll().forEach(x -> x.setDeptHead(null));