aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Tests
diff options
context:
space:
mode:
authorDan Lake2012-03-27 12:51:58 -0700
committerDan Lake2012-03-27 12:51:58 -0700
commit971d32fda3cf8384987a6709cd2242afecce13ab (patch)
tree2607c27fad429ff0036fe7b7d275ddf717397282 /OpenSim/Tests
parentWhen loading objects from DB, first add to scene, then call TriggerOnSceneObj... (diff)
parentHG: beginning of a more restrictive inventory access procedure (optional). Ex... (diff)
downloadopensim-SC_OLD-971d32fda3cf8384987a6709cd2242afecce13ab.zip
opensim-SC_OLD-971d32fda3cf8384987a6709cd2242afecce13ab.tar.gz
opensim-SC_OLD-971d32fda3cf8384987a6709cd2242afecce13ab.tar.bz2
opensim-SC_OLD-971d32fda3cf8384987a6709cd2242afecce13ab.tar.xz
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
Diffstat (limited to 'OpenSim/Tests')
-rw-r--r--OpenSim/Tests/Clients/UserAccounts/UserAccountsClient.cs66
-rw-r--r--OpenSim/Tests/Common/Helpers/SceneHelpers.cs2
-rw-r--r--OpenSim/Tests/Common/Mock/MockRegionDataPlugin.cs24
-rw-r--r--OpenSim/Tests/Common/Mock/TestClient.cs5
-rw-r--r--OpenSim/Tests/Torture/NPCTortureTests.cs11
-rw-r--r--OpenSim/Tests/Torture/ObjectTortureTests.cs25
-rw-r--r--OpenSim/Tests/Torture/ScriptTortureTests.cs9
7 files changed, 87 insertions, 55 deletions
diff --git a/OpenSim/Tests/Clients/UserAccounts/UserAccountsClient.cs b/OpenSim/Tests/Clients/UserAccounts/UserAccountsClient.cs
index 56195b1..1e0a35b 100644
--- a/OpenSim/Tests/Clients/UserAccounts/UserAccountsClient.cs
+++ b/OpenSim/Tests/Clients/UserAccounts/UserAccountsClient.cs
@@ -62,25 +62,39 @@ namespace OpenSim.Tests.Clients.PresenceClient
62 string last = "Clueless"; 62 string last = "Clueless";
63 string email = "foo@bar.com"; 63 string email = "foo@bar.com";
64 64
65 UserAccount account = new UserAccount(user1); 65 //UserAccount account = new UserAccount(user1);
66 account.FirstName = first; 66 //account.ScopeID = UUID.Zero;
67 account.LastName = last; 67 //account.FirstName = first;
68 account.Email = email; 68 //account.LastName = last;
69 account.ServiceURLs = new Dictionary<string, object>(); 69 //account.Email = email;
70 account.ServiceURLs.Add("InventoryServerURI", "http://cnn.com"); 70 //account.ServiceURLs = new Dictionary<string, object>();
71 account.ServiceURLs.Add("AssetServerURI", "http://cnn.com"); 71 //account.ServiceURLs.Add("InventoryServerURI", "http://cnn.com");
72 72 //account.ServiceURLs.Add("AssetServerURI", "http://cnn.com");
73 bool success = m_Connector.StoreUserAccount(account);
74 if (success)
75 m_log.InfoFormat("[USER CLIENT]: Successfully created account for user {0} {1}", account.FirstName, account.LastName);
76 else
77 m_log.InfoFormat("[USER CLIENT]: failed to create user {0} {1}", account.FirstName, account.LastName);
78 73
79 System.Console.WriteLine("\n"); 74 //bool success = m_Connector.StoreUserAccount(account);
75 //if (success)
76 // m_log.InfoFormat("[USER CLIENT]: Successfully created account for user {0} {1}", account.FirstName, account.LastName);
77 //else
78 // m_log.InfoFormat("[USER CLIENT]: failed to create user {0} {1}", account.FirstName, account.LastName);
80 79
81 account = m_Connector.GetUserAccount(UUID.Zero, user1); 80 //System.Console.WriteLine("\n");
81
82 //account = m_Connector.GetUserAccount(UUID.Zero, user1);
83 //if (account == null)
84 // m_log.InfoFormat("[USER CLIENT]: Unable to retrieve accouny by UUID for {0}", user1);
85 //else
86 //{
87 // m_log.InfoFormat("[USER CLIENT]: Account retrieved correctly: userID={0}; FirstName={1}; LastName={2}; Email={3}",
88 // account.PrincipalID, account.FirstName, account.LastName, account.Email);
89 // foreach (KeyValuePair<string, object> kvp in account.ServiceURLs)
90 // m_log.DebugFormat("\t {0} -> {1}", kvp.Key, kvp.Value);
91 //}
92
93 //System.Console.WriteLine("\n");
94
95 UserAccount account = m_Connector.GetUserAccount(UUID.Zero, first, last);
82 if (account == null) 96 if (account == null)
83 m_log.InfoFormat("[USER CLIENT]: Unable to retrieve accouny by UUID for {0}", user1); 97 m_log.InfoFormat("[USER CLIENT]: Unable to retrieve accouny by name ");
84 else 98 else
85 { 99 {
86 m_log.InfoFormat("[USER CLIENT]: Account retrieved correctly: userID={0}; FirstName={1}; LastName={2}; Email={3}", 100 m_log.InfoFormat("[USER CLIENT]: Account retrieved correctly: userID={0}; FirstName={1}; LastName={2}; Email={3}",
@@ -90,10 +104,9 @@ namespace OpenSim.Tests.Clients.PresenceClient
90 } 104 }
91 105
92 System.Console.WriteLine("\n"); 106 System.Console.WriteLine("\n");
93 107 account = m_Connector.GetUserAccount(UUID.Zero, email);
94 account = m_Connector.GetUserAccount(UUID.Zero, first, last);
95 if (account == null) 108 if (account == null)
96 m_log.InfoFormat("[USER CLIENT]: Unable to retrieve accouny by name for {0}", user1); 109 m_log.InfoFormat("[USER CLIENT]: Unable to retrieve accouny by email");
97 else 110 else
98 { 111 {
99 m_log.InfoFormat("[USER CLIENT]: Account retrieved correctly: userID={0}; FirstName={1}; LastName={2}; Email={3}", 112 m_log.InfoFormat("[USER CLIENT]: Account retrieved correctly: userID={0}; FirstName={1}; LastName={2}; Email={3}",
@@ -103,9 +116,9 @@ namespace OpenSim.Tests.Clients.PresenceClient
103 } 116 }
104 117
105 System.Console.WriteLine("\n"); 118 System.Console.WriteLine("\n");
106 account = m_Connector.GetUserAccount(UUID.Zero, email); 119 account = m_Connector.GetUserAccount(UUID.Zero, user1);
107 if (account == null) 120 if (account == null)
108 m_log.InfoFormat("[USER CLIENT]: Unable to retrieve accouny by email for {0}", user1); 121 m_log.InfoFormat("[USER CLIENT]: Unable to retrieve accouny by UUID for {0}", user1);
109 else 122 else
110 { 123 {
111 m_log.InfoFormat("[USER CLIENT]: Account retrieved correctly: userID={0}; FirstName={1}; LastName={2}; Email={3}", 124 m_log.InfoFormat("[USER CLIENT]: Account retrieved correctly: userID={0}; FirstName={1}; LastName={2}; Email={3}",
@@ -114,6 +127,17 @@ namespace OpenSim.Tests.Clients.PresenceClient
114 m_log.DebugFormat("\t {0} -> {1}", kvp.Key, kvp.Value); 127 m_log.DebugFormat("\t {0} -> {1}", kvp.Key, kvp.Value);
115 } 128 }
116 129
130 System.Console.WriteLine("\n");
131 account = m_Connector.GetUserAccount(UUID.Zero, "DoesNot", "Exist");
132 if (account == null)
133 m_log.InfoFormat("[USER CLIENT]: Unable to retrieve account 'DoesNot Exist'");
134 else
135 {
136 m_log.InfoFormat("[USER CLIENT]: Account 'DoesNot Exist' retrieved correctly. REALLY??? userID={0}; FirstName={1}; LastName={2}; Email={3}",
137 account.PrincipalID, account.FirstName, account.LastName, account.Email);
138 foreach (KeyValuePair<string, object> kvp in account.ServiceURLs)
139 m_log.DebugFormat("\t {0} -> {1}", kvp.Key, kvp.Value);
140 }
117 } 141 }
118 142
119 } 143 }
diff --git a/OpenSim/Tests/Common/Helpers/SceneHelpers.cs b/OpenSim/Tests/Common/Helpers/SceneHelpers.cs
index 8a69d7c..7bf08ae 100644
--- a/OpenSim/Tests/Common/Helpers/SceneHelpers.cs
+++ b/OpenSim/Tests/Common/Helpers/SceneHelpers.cs
@@ -136,7 +136,7 @@ namespace OpenSim.Tests.Common
136 StartAuthenticationService(testScene); 136 StartAuthenticationService(testScene);
137 LocalInventoryServicesConnector inventoryService = StartInventoryService(testScene); 137 LocalInventoryServicesConnector inventoryService = StartInventoryService(testScene);
138 StartGridService(testScene); 138 StartGridService(testScene);
139 LocalUserAccountServicesConnector userAccountService = StartUserAccountService(testScene); 139 LocalUserAccountServicesConnector userAccountService = StartUserAccountService(testScene);
140 LocalPresenceServicesConnector presenceService = StartPresenceService(testScene); 140 LocalPresenceServicesConnector presenceService = StartPresenceService(testScene);
141 141
142 inventoryService.PostInitialise(); 142 inventoryService.PostInitialise();
diff --git a/OpenSim/Tests/Common/Mock/MockRegionDataPlugin.cs b/OpenSim/Tests/Common/Mock/MockRegionDataPlugin.cs
index 79bb9c2..579d41c 100644
--- a/OpenSim/Tests/Common/Mock/MockRegionDataPlugin.cs
+++ b/OpenSim/Tests/Common/Mock/MockRegionDataPlugin.cs
@@ -120,7 +120,7 @@ namespace OpenSim.Data.Null
120 /// </summary> 120 /// </summary>
121 public class NullDataStore : ISimulationDataStore 121 public class NullDataStore : ISimulationDataStore
122 { 122 {
123 private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); 123// private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
124 124
125 protected Dictionary<UUID, RegionSettings> m_regionSettings = new Dictionary<UUID, RegionSettings>(); 125 protected Dictionary<UUID, RegionSettings> m_regionSettings = new Dictionary<UUID, RegionSettings>();
126 protected Dictionary<UUID, SceneObjectPart> m_sceneObjectParts = new Dictionary<UUID, SceneObjectPart>(); 126 protected Dictionary<UUID, SceneObjectPart> m_sceneObjectParts = new Dictionary<UUID, SceneObjectPart>();
@@ -177,9 +177,9 @@ namespace OpenSim.Data.Null
177 // Therefore, we need to store parts rather than groups. 177 // Therefore, we need to store parts rather than groups.
178 foreach (SceneObjectPart prim in obj.Parts) 178 foreach (SceneObjectPart prim in obj.Parts)
179 { 179 {
180 m_log.DebugFormat( 180// m_log.DebugFormat(
181 "[MOCK REGION DATA PLUGIN]: Storing part {0} {1} in object {2} {3} in region {4}", 181// "[MOCK REGION DATA PLUGIN]: Storing part {0} {1} in object {2} {3} in region {4}",
182 prim.Name, prim.UUID, obj.Name, obj.UUID, regionUUID); 182// prim.Name, prim.UUID, obj.Name, obj.UUID, regionUUID);
183 183
184 m_sceneObjectParts[prim.UUID] = prim; 184 m_sceneObjectParts[prim.UUID] = prim;
185 } 185 }
@@ -193,9 +193,9 @@ namespace OpenSim.Data.Null
193 { 193 {
194 if (part.ParentGroup.UUID == obj) 194 if (part.ParentGroup.UUID == obj)
195 { 195 {
196 m_log.DebugFormat( 196// m_log.DebugFormat(
197 "[MOCK REGION DATA PLUGIN]: Removing part {0} {1} as part of object {2} from {3}", 197// "[MOCK REGION DATA PLUGIN]: Removing part {0} {1} as part of object {2} from {3}",
198 part.Name, part.UUID, obj, regionUUID); 198// part.Name, part.UUID, obj, regionUUID);
199 m_sceneObjectParts.Remove(part.UUID); 199 m_sceneObjectParts.Remove(part.UUID);
200 } 200 }
201 } 201 }
@@ -215,8 +215,8 @@ namespace OpenSim.Data.Null
215 { 215 {
216 if (prim.IsRoot) 216 if (prim.IsRoot)
217 { 217 {
218 m_log.DebugFormat( 218// m_log.DebugFormat(
219 "[MOCK REGION DATA PLUGIN]: Loading root part {0} {1} in {2}", prim.Name, prim.UUID, regionUUID); 219// "[MOCK REGION DATA PLUGIN]: Loading root part {0} {1} in {2}", prim.Name, prim.UUID, regionUUID);
220 objects[prim.UUID] = new SceneObjectGroup(prim); 220 objects[prim.UUID] = new SceneObjectGroup(prim);
221 } 221 }
222 } 222 }
@@ -240,9 +240,9 @@ namespace OpenSim.Data.Null
240 } 240 }
241 else 241 else
242 { 242 {
243 m_log.WarnFormat( 243// m_log.WarnFormat(
244 "[MOCK REGION DATA PLUGIN]: Database contains an orphan child prim {0} {1} in region {2} pointing to missing parent {3}. This prim will not be loaded.", 244// "[MOCK REGION DATA PLUGIN]: Database contains an orphan child prim {0} {1} in region {2} pointing to missing parent {3}. This prim will not be loaded.",
245 prim.Name, prim.UUID, regionUUID, prim.ParentUUID); 245// prim.Name, prim.UUID, regionUUID, prim.ParentUUID);
246 } 246 }
247 } 247 }
248 } 248 }
diff --git a/OpenSim/Tests/Common/Mock/TestClient.cs b/OpenSim/Tests/Common/Mock/TestClient.cs
index 14c1287..455b51e 100644
--- a/OpenSim/Tests/Common/Mock/TestClient.cs
+++ b/OpenSim/Tests/Common/Mock/TestClient.cs
@@ -700,11 +700,6 @@ namespace OpenSim.Tests.Common.Mock
700 { 700 {
701 } 701 }
702 702
703 public UUID GetDefaultAnimation(string name)
704 {
705 return UUID.Zero;
706 }
707
708 public void SendTakeControls(int controls, bool passToAgent, bool TakeControls) 703 public void SendTakeControls(int controls, bool passToAgent, bool TakeControls)
709 { 704 {
710 } 705 }
diff --git a/OpenSim/Tests/Torture/NPCTortureTests.cs b/OpenSim/Tests/Torture/NPCTortureTests.cs
index 8078d9d..0224505 100644
--- a/OpenSim/Tests/Torture/NPCTortureTests.cs
+++ b/OpenSim/Tests/Torture/NPCTortureTests.cs
@@ -75,6 +75,11 @@ namespace OpenSim.Tests.Torture
75 [TestFixtureTearDown] 75 [TestFixtureTearDown]
76 public void TearDown() 76 public void TearDown()
77 { 77 {
78 scene.Close();
79 scene = null;
80 GC.Collect();
81 GC.WaitForPendingFinalizers();
82
78 // We must set this back afterwards, otherwise later tests will fail since they're expecting multiple 83 // We must set this back afterwards, otherwise later tests will fail since they're expecting multiple
79 // threads. Possibly, later tests should be rewritten not to worry about such things. 84 // threads. Possibly, later tests should be rewritten not to worry about such things.
80 Util.FireAndForgetMethod = Util.DefaultFireAndForgetMethod; 85 Util.FireAndForgetMethod = Util.DefaultFireAndForgetMethod;
@@ -98,7 +103,7 @@ namespace OpenSim.Tests.Torture
98 } 103 }
99 104
100 [Test] 105 [Test]
101 public void TestAddRemove100NPCs() 106 public void Test_0001_AddRemove100NPCs()
102 { 107 {
103 TestHelpers.InMethod(); 108 TestHelpers.InMethod();
104// log4net.Config.XmlConfigurator.Configure(); 109// log4net.Config.XmlConfigurator.Configure();
@@ -107,7 +112,7 @@ namespace OpenSim.Tests.Torture
107 } 112 }
108 113
109 [Test] 114 [Test]
110 public void TestAddRemove1000NPCs() 115 public void Test_0002_AddRemove1000NPCs()
111 { 116 {
112 TestHelpers.InMethod(); 117 TestHelpers.InMethod();
113// log4net.Config.XmlConfigurator.Configure(); 118// log4net.Config.XmlConfigurator.Configure();
@@ -116,7 +121,7 @@ namespace OpenSim.Tests.Torture
116 } 121 }
117 122
118 [Test] 123 [Test]
119 public void TestAddRemove2000NPCs() 124 public void Test_0003_AddRemove2000NPCs()
120 { 125 {
121 TestHelpers.InMethod(); 126 TestHelpers.InMethod();
122// log4net.Config.XmlConfigurator.Configure(); 127// log4net.Config.XmlConfigurator.Configure();
diff --git a/OpenSim/Tests/Torture/ObjectTortureTests.cs b/OpenSim/Tests/Torture/ObjectTortureTests.cs
index e83186a..d0d2199 100644
--- a/OpenSim/Tests/Torture/ObjectTortureTests.cs
+++ b/OpenSim/Tests/Torture/ObjectTortureTests.cs
@@ -66,7 +66,7 @@ namespace OpenSim.Tests.Torture
66// } 66// }
67 67
68 [Test] 68 [Test]
69 public void Test0001_10K_1PrimObjects() 69 public void Test_0001_10K_1PrimObjects()
70 { 70 {
71 TestHelpers.InMethod(); 71 TestHelpers.InMethod();
72// log4net.Config.XmlConfigurator.Configure(); 72// log4net.Config.XmlConfigurator.Configure();
@@ -75,7 +75,7 @@ namespace OpenSim.Tests.Torture
75 } 75 }
76 76
77 [Test] 77 [Test]
78 public void Test0002_100K_1PrimObjects() 78 public void Test_0002_100K_1PrimObjects()
79 { 79 {
80 TestHelpers.InMethod(); 80 TestHelpers.InMethod();
81// log4net.Config.XmlConfigurator.Configure(); 81// log4net.Config.XmlConfigurator.Configure();
@@ -84,7 +84,7 @@ namespace OpenSim.Tests.Torture
84 } 84 }
85 85
86 [Test] 86 [Test]
87 public void Test0003_200K_1PrimObjects() 87 public void Test_0003_200K_1PrimObjects()
88 { 88 {
89 TestHelpers.InMethod(); 89 TestHelpers.InMethod();
90// log4net.Config.XmlConfigurator.Configure(); 90// log4net.Config.XmlConfigurator.Configure();
@@ -93,7 +93,7 @@ namespace OpenSim.Tests.Torture
93 } 93 }
94 94
95 [Test] 95 [Test]
96 public void Test0011_100_100PrimObjects() 96 public void Test_0011_100_100PrimObjects()
97 { 97 {
98 TestHelpers.InMethod(); 98 TestHelpers.InMethod();
99// log4net.Config.XmlConfigurator.Configure(); 99// log4net.Config.XmlConfigurator.Configure();
@@ -102,7 +102,7 @@ namespace OpenSim.Tests.Torture
102 } 102 }
103 103
104 [Test] 104 [Test]
105 public void Test0012_1K_100PrimObjects() 105 public void Test_0012_1K_100PrimObjects()
106 { 106 {
107 TestHelpers.InMethod(); 107 TestHelpers.InMethod();
108// log4net.Config.XmlConfigurator.Configure(); 108// log4net.Config.XmlConfigurator.Configure();
@@ -111,7 +111,7 @@ namespace OpenSim.Tests.Torture
111 } 111 }
112 112
113 [Test] 113 [Test]
114 public void Test0013_2K_100PrimObjects() 114 public void Test_0013_2K_100PrimObjects()
115 { 115 {
116 TestHelpers.InMethod(); 116 TestHelpers.InMethod();
117// log4net.Config.XmlConfigurator.Configure(); 117// log4net.Config.XmlConfigurator.Configure();
@@ -123,6 +123,9 @@ namespace OpenSim.Tests.Torture
123 { 123 {
124 UUID ownerId = new UUID("F0000000-0000-0000-0000-000000000000"); 124 UUID ownerId = new UUID("F0000000-0000-0000-0000-000000000000");
125 125
126 // Using a local variable for scene, at least on mono 2.6.7, means that it's much more likely to be garbage
127 // collected when we teardown this test. If it's done in a member variable, even if that is subsequently
128 // nulled out, the garbage collect can be delayed.
126 TestScene scene = SceneHelpers.SetupScene(); 129 TestScene scene = SceneHelpers.SetupScene();
127 130
128// Process process = Process.GetCurrentProcess(); 131// Process process = Process.GetCurrentProcess();
@@ -154,12 +157,7 @@ namespace OpenSim.Tests.Torture
154 // 157 //
155 // However, that means that we need to manually run an update here to clear out that list so that deleted 158 // However, that means that we need to manually run an update here to clear out that list so that deleted
156 // objects will be clean up by the garbage collector before the next stress test is run. 159 // objects will be clean up by the garbage collector before the next stress test is run.
157 scene.Update(); 160 scene.Update(1);
158
159 // Currently, we need to do this in order to garbage collect the scene objects ready for the next test run.
160 // However, what we really need to do is find out why the entire scene is not garbage collected in
161 // teardown.
162 scene.DeleteAllSceneObjects();
163 161
164 Console.WriteLine( 162 Console.WriteLine(
165 "Took {0}ms, {1}MB ({2} - {3}) to create {4} objects each containing {5} prim(s)", 163 "Took {0}ms, {1}MB ({2} - {3}) to create {4} objects each containing {5} prim(s)",
@@ -170,7 +168,8 @@ namespace OpenSim.Tests.Torture
170 objectsToAdd, 168 objectsToAdd,
171 primsInEachObject); 169 primsInEachObject);
172 170
173 scene = null; 171 scene.Close();
172// scene = null;
174 } 173 }
175 } 174 }
176} \ No newline at end of file 175} \ No newline at end of file
diff --git a/OpenSim/Tests/Torture/ScriptTortureTests.cs b/OpenSim/Tests/Torture/ScriptTortureTests.cs
index d94bbde..2ef55b3 100644
--- a/OpenSim/Tests/Torture/ScriptTortureTests.cs
+++ b/OpenSim/Tests/Torture/ScriptTortureTests.cs
@@ -91,6 +91,15 @@ namespace OpenSim.Tests.Torture
91 m_scene.StartScripts(); 91 m_scene.StartScripts();
92 } 92 }
93 93
94 [TearDown]
95 public void TearDown()
96 {
97 m_scene.Close();
98 m_scene = null;
99 GC.Collect();
100 GC.WaitForPendingFinalizers();
101 }
102
94 [Test] 103 [Test]
95 public void TestCompileAndStart100Scripts() 104 public void TestCompileAndStart100Scripts()
96 { 105 {