diff --git a/unit_test/test_om_objects.php b/unit_test/test_om_objects.php index 26c2081..5531d06 100644 --- a/unit_test/test_om_objects.php +++ b/unit_test/test_om_objects.php @@ -111,13 +111,12 @@ function test_class($sClassName, $aTestMethods) { error("Got $iReceived instead of >= $iExpected"); error("FAILED\t\t$sClassName::$sMethod"); - $oTestObject->purge(); + cleanup_and_purge($oTestObject, $oUser); return FALSE; } /* Class specific clean-up */ - cleanup($oTestObject); - $oTestObject->purge(); + cleanup_and_purge($oTestObject, $oUser); echo "PASSED\t\t$sClassName::$sMethod\n"; break; @@ -183,6 +182,18 @@ function cleanup($oObject) } } +function cleanup_and_purge($oObject, $oUser) +{ + $bWasAdmin = $oUser->hasPriv('admin'); + + $oUser->addPriv('admin'); + cleanup($oObject); + $oObject->purge(); + + if(!$bWasAdmin) + $oUser->delPriv('admin'); +} + function create_object($sClassName, $oUser, $bAsAdmin = true) { if($bAsAdmin)