From 765ee0c58171d54d886637c7d549dbaa3953d4a5 Mon Sep 17 00:00:00 2001 From: Jan Vonka Date: Thu, 4 Mar 2010 11:09:03 +0000 Subject: [PATCH] AVM unit test improvements - ensure AVMServiceTest.testSetup can run after AVMServicePermissionsTest.* - include avm/**/*TestP.java (as per AVMTestSuite, until re-introduced) - allow PurgeTestP to fail (if orphanReaper does not finish in max cycles) git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@19056 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../repo/avm/AVMServicePermissionsTest.java | 41 ++++++---- .../org/alfresco/repo/avm/PurgeTestP.java | 79 +++++++++---------- 2 files changed, 61 insertions(+), 59 deletions(-) diff --git a/source/java/org/alfresco/repo/avm/AVMServicePermissionsTest.java b/source/java/org/alfresco/repo/avm/AVMServicePermissionsTest.java index d843462952..52610243d1 100644 --- a/source/java/org/alfresco/repo/avm/AVMServicePermissionsTest.java +++ b/source/java/org/alfresco/repo/avm/AVMServicePermissionsTest.java @@ -52,7 +52,6 @@ import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.service.cmr.repository.StoreRef; import org.alfresco.service.cmr.security.AccessPermission; import org.alfresco.service.cmr.security.AccessStatus; -import org.alfresco.service.cmr.security.AuthenticationService; import org.alfresco.service.cmr.security.AuthorityService; import org.alfresco.service.cmr.security.MutableAuthenticationService; import org.alfresco.service.cmr.security.PermissionService; @@ -1112,8 +1111,9 @@ public class AVMServicePermissionsTest extends TestCase { runAs(AuthenticationUtil.getAdminUserName()); - String baseStore = "main"; - String layeredStore = "layer"; + String prefix = "PermissionsTest-" + getName() + "-" + (new Date().getTime()); + String baseStore = prefix+"-main"; + String layeredStore = prefix+"-layer"; try { @@ -1215,8 +1215,9 @@ public class AVMServicePermissionsTest extends TestCase { runAs(AuthenticationUtil.getAdminUserName()); - String baseStore = "main"; - String layeredStore = "layer"; + String prefix = "PermissionsTest-" + getName() + "-" + (new Date().getTime()); + String baseStore = prefix+"-main"; + String layeredStore = prefix+"-layer"; try { @@ -1309,8 +1310,9 @@ public class AVMServicePermissionsTest extends TestCase { runAs(AuthenticationUtil.getAdminUserName()); - String baseStore = "main"; - String layeredStore = "layer"; + String prefix = "PermissionsTest-" + getName() + "-" + (new Date().getTime()); + String baseStore = prefix+"-main"; + String layeredStore = prefix+"-layer"; try { @@ -1410,8 +1412,9 @@ public class AVMServicePermissionsTest extends TestCase { runAs(AuthenticationUtil.getAdminUserName()); - String baseStore = "main"; - String layeredStore = "layer"; + String prefix = "PermissionsTest-" + getName() + "-" + (new Date().getTime()); + String baseStore = prefix+"-main"; + String layeredStore = prefix+"-layer"; try { @@ -1510,8 +1513,9 @@ public class AVMServicePermissionsTest extends TestCase { runAs(AuthenticationUtil.getAdminUserName()); - String baseStore = "main"; - String layeredStore = "layer"; + String prefix = "PermissionsTest-" + getName() + "-" + (new Date().getTime()); + String baseStore = prefix+"-main"; + String layeredStore = prefix+"-layer"; try { @@ -1658,8 +1662,9 @@ public class AVMServicePermissionsTest extends TestCase { runAs(AuthenticationUtil.getAdminUserName()); - String baseStore = "main"; - String layeredStore = "layer"; + String prefix = "PermissionsTest-" + getName() + "-" + (new Date().getTime()); + String baseStore = prefix+"-main"; + String layeredStore = prefix+"-layer"; try { @@ -1834,8 +1839,9 @@ public class AVMServicePermissionsTest extends TestCase { runAs(AuthenticationUtil.getAdminUserName()); - String baseStore = "main"; - String layeredStore = "layer"; + String prefix = "PermissionsTest-" + getName() + "-" + (new Date().getTime()); + String baseStore = prefix+"-main"; + String layeredStore = prefix+"-layer"; try { @@ -1990,8 +1996,9 @@ public class AVMServicePermissionsTest extends TestCase { runAs(AuthenticationUtil.getAdminUserName()); - String baseStore = "main"; - String layeredStore = "layer"; + String prefix = "PermissionsTest-" + getName() + "-" + (new Date().getTime()); + String baseStore = prefix+"-main"; + String layeredStore = prefix+"-layer"; try { diff --git a/source/java/org/alfresco/repo/avm/PurgeTestP.java b/source/java/org/alfresco/repo/avm/PurgeTestP.java index b9ade2bff4..be3fc9a202 100644 --- a/source/java/org/alfresco/repo/avm/PurgeTestP.java +++ b/source/java/org/alfresco/repo/avm/PurgeTestP.java @@ -18,6 +18,7 @@ package org.alfresco.repo.avm; +import org.alfresco.error.AlfrescoRuntimeException; import org.alfresco.repo.avm.util.BulkLoader; /** @@ -47,20 +48,8 @@ public class PurgeTestP extends AVMServiceTestBase fService.createSnapshot("main", null, null); System.err.println("Load time + snapshot: " + (System.currentTimeMillis() - start) + "ms"); fService.purgeVersion(2, "main"); - fReaper.activate(); - while (fReaper.isActive()) - { - try - { - System.out.print("."); - Thread.sleep(2000); - } - catch (InterruptedException e) - { - // Do nothing. - } - } - System.out.println("\nReaper finished"); + + runOrphanReaper(); } catch (Exception e) { @@ -97,20 +86,8 @@ public class PurgeTestP extends AVMServiceTestBase fService.createSnapshot("main", null, null); fService.purgeVersion(2, "main"); - fReaper.activate(); - while (fReaper.isActive()) - { - try - { - System.out.print("."); - Thread.sleep(2000); - } - catch (InterruptedException e) - { - // Do nothing. - } - } - System.out.println("\nReaper finished"); + + runOrphanReaper(); } catch (Exception e) { @@ -151,20 +128,8 @@ public class PurgeTestP extends AVMServiceTestBase fService.createSnapshot("main", null, null); fService.purgeStore("main"); - fReaper.activate(); - while (fReaper.isActive()) - { - try - { - System.out.print("."); - Thread.sleep(2000); - } - catch (InterruptedException e) - { - // Do nothing. - } - } - System.out.println("\nReaper finished"); + + runOrphanReaper(); } catch (Exception e) { @@ -172,4 +137,34 @@ public class PurgeTestP extends AVMServiceTestBase throw e; } } + + private void runOrphanReaper() + { + fReaper.activate(); + + final int maxCycles = 50; + + int cycles = 0; + while (fReaper.isActive() && (cycles <= maxCycles)) + { + try + { + System.out.print("."); + Thread.sleep(2000); + } + catch (InterruptedException e) + { + // Do nothing. + } + + cycles++; + } + + if (cycles > maxCycles) + { + throw new AlfrescoRuntimeException("Orphan reaper still active - failed to clean orphans in "+cycles+" cycles (max "+maxCycles+")"); + } + + System.out.println("\nReaper finished (in "+cycles+" cycles)"); + } }