You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-commits@db.apache.org by km...@apache.org on 2012/02/10 18:32:10 UTC

svn commit: r1242867 - in /db/derby/code/branches/10.8: ./ java/testing/org/apache/derbyTesting/functionTests/tests/store/ java/testing/org/apache/derbyTesting/junit/

Author: kmarsden
Date: Fri Feb 10 17:32:10 2012
New Revision: 1242867

URL: http://svn.apache.org/viewvc?rev=1242867&view=rev
Log:
DERBY-5582 - Access denied (java.lang.RuntimePermission modifyThreadGroup) in IndexStatisticsDaemonImpl.schedule()

port test from trunk to 10.8.


Added:
    db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/functionTests/tests/store/Derby5582AutomaticIndexStatisticsTest.java
      - copied unchanged from r1236887, db/derby/code/trunk/java/testing/org/apache/derbyTesting/functionTests/tests/store/Derby5582AutomaticIndexStatisticsTest.java
Modified:
    db/derby/code/branches/10.8/   (props changed)
    db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/functionTests/tests/store/AutomaticIndexStatisticsTest.java
    db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/functionTests/tests/store/_Suite.java
    db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/junit/SecurityManagerSetup.java

Propchange: db/derby/code/branches/10.8/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Fri Feb 10 17:32:10 2012
@@ -1,2 +1,2 @@
 /db/derby/code/branches/10.7:1061570,1061578,1082235
-/db/derby/code/trunk:1063809,1088633,1089795,1091000,1091221,1091285,1092067,1092795,1094315,1094572,1094728,1095247,1096741,1096890,1096991,1097247,1097249,1097460,1097469,1097471,1098033,1101059,1101839,1102620,1102826,1103681,1103718,1103742,1104365,1125305,1126358,1126468,1127825,1127883,1128243,1128942,1129136,1129764,1129797,1130077,1130084,1130632,1130895,1131030,1131272,1132546,1132664,1132747,1132860,1132928,1133304,1133317,1133741,1133752,1134139,1136363,1136371,1136397,1136844,1137213,1138201,1138341,1138444,1138787,1138795,1139449,1139451,1140222,1140744,1141924,1142583,1142635,1145057,1146644,1146915,1146962,1147219,1147242,1147335,1148344,1148354,1148429,1148658,1149054,1149090,1149270,1149482,1149662,1151101,1151612,1158108,1160593,1160597,1161208,1162737,1163131,1163616,1164358,1164370,1164495,1165221,1166313,1167017,1167226,1167470,1169692,1170470,1171227,1171665,1171672,1173446,1173647,1174436,1174646,1176633,1176636,1177589,1179374,1179546,1180790,1180858,
 1181756,1183463,1183503,1183671,1186020,1186691,1189201,1189222,1203050,1203252,1204128,1207729,1208775,1210846,1212541,1213251,1230480,1239898,1241841,1242098,1242409,1242413,1242460
+/db/derby/code/trunk:1088633,1089795,1091000,1091221,1091285,1092067,1092795,1094315,1094572,1094728,1095247,1096741,1096890,1096991,1097247,1097249,1097460,1097469,1097471,1098033,1101059,1101839,1102620,1102826,1103681,1103718,1103742,1104365,1125305,1126358,1126468,1127825,1127883,1128243,1128942,1129136,1129764,1129797,1130077,1130084,1130632,1130895,1131030,1131272,1132546,1132664,1132747,1132860,1132928,1133304,1133317,1133741,1133752,1134139,1136363,1136371,1136397,1136844,1137213,1138201,1138341,1138444,1138787,1138795,1139449,1139451,1140222,1140744,1141924,1142583,1142635,1145057,1146644,1146915,1146962,1147219,1147242,1147335,1148344,1148354,1148429,1148658,1149054,1149090,1149270,1149482,1149662,1151101,1151612,1158108,1160593,1160597,1161208,1162737,1163131,1163616,1164358,1164370,1164495,1165221,1166313,1167017,1167226,1167470,1169692,1170470,1171227,1171665,1171672,1173446,1173647,1174436,1174646,1176633,1176636,1177589,1179374,1179546,1180790,1180858,1181756,
 1183463,1183503,1183671,1186020,1186691,1189201,1189222,1203050,1203252,1204128,1207729,1208775,1210846,1212541,1213251,1230480,1236887,1239898,1241841,1242098,1242409,1242413,1242460,1242610

Modified: db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/functionTests/tests/store/AutomaticIndexStatisticsTest.java
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/functionTests/tests/store/AutomaticIndexStatisticsTest.java?rev=1242867&r1=1242866&r2=1242867&view=diff
==============================================================================
--- db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/functionTests/tests/store/AutomaticIndexStatisticsTest.java (original)
+++ db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/functionTests/tests/store/AutomaticIndexStatisticsTest.java Fri Feb 10 17:32:10 2012
@@ -57,7 +57,8 @@ import org.apache.derbyTesting.junit.Uti
 public class AutomaticIndexStatisticsTest
     extends BaseJDBCTestCase {
 
-    private static final String MASTERDB = "masterDb";
+    // used also by Derby5582AutomaticIndexStatisticsTest so just protected
+    protected static final String MASTERDB = "masterDb";
     private static final String BIG_TABLE = "BIG_TABLE";
     private static final long DEFAULT_TIMEOUT = 20*1000;
 

Modified: db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/functionTests/tests/store/_Suite.java
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/functionTests/tests/store/_Suite.java?rev=1242867&r1=1242866&r2=1242867&view=diff
==============================================================================
--- db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/functionTests/tests/store/_Suite.java (original)
+++ db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/functionTests/tests/store/_Suite.java Fri Feb 10 17:32:10 2012
@@ -70,6 +70,7 @@ public class _Suite extends BaseTestCase
         suite.addTest(HoldCursorJDBC30Test.suite());
         suite.addTest(AccessTest.suite());
         suite.addTest(AutomaticIndexStatisticsTest.suite());
+        suite.addTest(Derby5582AutomaticIndexStatisticsTest.suite());
         suite.addTest(AutomaticIndexStatisticsMultiTest.suite());
         suite.addTest(BTreeMaxScanTest.suite());
         suite.addTest(MadhareTest.suite());

Modified: db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/junit/SecurityManagerSetup.java
URL: http://svn.apache.org/viewvc/db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/junit/SecurityManagerSetup.java?rev=1242867&r1=1242866&r2=1242867&view=diff
==============================================================================
--- db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/junit/SecurityManagerSetup.java (original)
+++ db/derby/code/branches/10.8/java/testing/org/apache/derbyTesting/junit/SecurityManagerSetup.java Fri Feb 10 17:32:10 2012
@@ -70,10 +70,28 @@ public final class SecurityManagerSetup 
 	}
 	
 	private final String decoratorPolicyResource;
-	public SecurityManagerSetup(Test test, String policyResource)
+	private SecurityManager decoratorSecurityManager = null;
+	
+        public SecurityManagerSetup(Test test, String policyResource)
+        {
+            super(test);
+            this.decoratorPolicyResource = policyResource != null ?
+                    policyResource : getDefaultPolicy();
+        }
+
+	/**
+	 * Use custom policy and SecurityManager
+	 * 
+	 * @param test - Test to wrap
+	 * @param policyResource - policy resource. If null use default testing policy
+	 * @param securityManager - Custom SecurityManager if null use the system security manager
+	 */
+	public SecurityManagerSetup(Test test, String policyResource, SecurityManager securityManager)
 	{
 		super(test);
-		this.decoratorPolicyResource = policyResource;
+		this.decoratorPolicyResource = policyResource != null ?
+		            policyResource : getDefaultPolicy();
+		this.decoratorSecurityManager = securityManager;
 	}
 	
 	/**
@@ -113,7 +131,7 @@ public final class SecurityManagerSetup 
 	 * including the special case of no security manager.
 	 */
 	protected void setUp() {
-		installSecurityManager(decoratorPolicyResource);
+		installSecurityManager(decoratorPolicyResource, decoratorSecurityManager);
 	}
     
     protected void tearDown() throws Exception
@@ -144,28 +162,34 @@ public final class SecurityManagerSetup 
 	{
 		installSecurityManager( getDefaultPolicy() );
 	}
-	
-	private static void installSecurityManager(String policyFile)
-			 {
 
+	private static void installSecurityManager(String policyFile) {
+	   installSecurityManager(policyFile, System.getSecurityManager());
+	}
+
+	private static void installSecurityManager(String policyFile, final SecurityManager sm)
+			 {
+	    
 		if (externalSecurityManagerInstalled)
 			return;
 		
 		Properties set = new Properties(classPathSet);
 		setSecurityPolicy(set, policyFile);
 
-		SecurityManager sm = System.getSecurityManager();
-		if (sm != null) {
+		SecurityManager currentsm = System.getSecurityManager();
+		if (currentsm != null) {
 			// SecurityManager installed, see if it has the same settings.
 
 			String  newPolicyProperty = set.getProperty("java.security.policy" );
 			if ( newPolicyProperty == null ) { newPolicyProperty = ""; } 
                                                    
 			String  oldPolicyProperty = BaseTestCase.getSystemProperty("java.security.policy");
+			SecurityManager oldSecMan = System.getSecurityManager();
 
 			if ( oldPolicyProperty == null ) { oldPolicyProperty = ""; }
 
-			if ( newPolicyProperty.equals( oldPolicyProperty ) ) { return; }
+			if ( newPolicyProperty.equals( oldPolicyProperty ) &&
+			        oldSecMan == sm) { return; }
 			
 			// Uninstall the current manager.
 			uninstallSecurityManager();
@@ -186,8 +210,10 @@ public final class SecurityManagerSetup 
 
 
                 public Object run() {
-                    SecurityManager sm = new SecurityManager();
-                    System.setSecurityManager(sm);
+                    if (sm == null)
+                        System.setSecurityManager(new SecurityManager());
+                    else
+                        System.setSecurityManager(sm);
                     Policy.getPolicy().refresh();
                     return null;
                 }