diff options
Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
Diffstat (limited to 'OpenSim/Tests')
-rw-r--r-- | OpenSim/Tests/Clients/UserAccounts/UserAccountsClient.cs | 66 | ||||
-rw-r--r-- | OpenSim/Tests/Common/Helpers/SceneHelpers.cs | 2 | ||||
-rw-r--r-- | OpenSim/Tests/Common/Mock/MockRegionDataPlugin.cs | 24 | ||||
-rw-r--r-- | OpenSim/Tests/Common/Mock/TestClient.cs | 5 | ||||
-rw-r--r-- | OpenSim/Tests/Torture/NPCTortureTests.cs | 11 | ||||
-rw-r--r-- | OpenSim/Tests/Torture/ObjectTortureTests.cs | 25 | ||||
-rw-r--r-- | OpenSim/Tests/Torture/ScriptTortureTests.cs | 9 |
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 | { |