diff options
Diffstat (limited to 'OpenSim')
10 files changed, 234 insertions, 24 deletions
diff --git a/OpenSim/Region/Framework/Scenes/EventManager.cs b/OpenSim/Region/Framework/Scenes/EventManager.cs index 7bcc4db..c434e4f 100644 --- a/OpenSim/Region/Framework/Scenes/EventManager.cs +++ b/OpenSim/Region/Framework/Scenes/EventManager.cs | |||
@@ -684,7 +684,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
684 | } | 684 | } |
685 | } | 685 | } |
686 | 686 | ||
687 | public void TriggerOnBackup(IRegionDataStore dstore) | 687 | public void TriggerOnBackup(IRegionDataStore dstore, bool forced) |
688 | { | 688 | { |
689 | OnBackupDelegate handlerOnAttach = OnBackup; | 689 | OnBackupDelegate handlerOnAttach = OnBackup; |
690 | if (handlerOnAttach != null) | 690 | if (handlerOnAttach != null) |
@@ -693,7 +693,7 @@ namespace OpenSim.Region.Framework.Scenes | |||
693 | { | 693 | { |
694 | try | 694 | try |
695 | { | 695 | { |
696 | d(dstore, false); | 696 | d(dstore, forced); |
697 | } | 697 | } |
698 | catch (Exception e) | 698 | catch (Exception e) |
699 | { | 699 | { |
diff --git a/OpenSim/Region/Framework/Scenes/Scene.cs b/OpenSim/Region/Framework/Scenes/Scene.cs index 49f29ad..93882ba 100644 --- a/OpenSim/Region/Framework/Scenes/Scene.cs +++ b/OpenSim/Region/Framework/Scenes/Scene.cs | |||
@@ -1531,15 +1531,24 @@ namespace OpenSim.Region.Framework.Scenes | |||
1531 | Backup(); | 1531 | Backup(); |
1532 | } | 1532 | } |
1533 | 1533 | ||
1534 | public void Backup() | ||
1535 | { | ||
1536 | Backup(false); | ||
1537 | } | ||
1538 | |||
1534 | /// <summary> | 1539 | /// <summary> |
1535 | /// Backup the scene. This acts as the main method of the backup thread. | 1540 | /// Backup the scene. This acts as the main method of the backup thread. |
1536 | /// </summary> | 1541 | /// </summary> |
1542 | /// <param name="forced"> | ||
1543 | /// If true, then any changes that have not yet been persisted are persisted. If false, | ||
1544 | /// then the persistence decision is left to the backup code (in some situations, such as object persistence, | ||
1545 | /// it's much more efficient to backup multiple changes at once rather than every single one). | ||
1537 | /// <returns></returns> | 1546 | /// <returns></returns> |
1538 | public void Backup() | 1547 | public void Backup(bool forced) |
1539 | { | 1548 | { |
1540 | lock (m_returns) | 1549 | lock (m_returns) |
1541 | { | 1550 | { |
1542 | EventManager.TriggerOnBackup(m_storageManager.DataStore); | 1551 | EventManager.TriggerOnBackup(m_storageManager.DataStore, forced); |
1543 | m_backingup = false; | 1552 | m_backingup = false; |
1544 | 1553 | ||
1545 | foreach (KeyValuePair<UUID, ReturnInfo> ret in m_returns) | 1554 | foreach (KeyValuePair<UUID, ReturnInfo> ret in m_returns) |
diff --git a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs index 64a6dd5..b8b3db5 100644 --- a/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs +++ b/OpenSim/Region/Framework/Scenes/SceneObjectGroup.cs | |||
@@ -1383,12 +1383,11 @@ namespace OpenSim.Region.Framework.Scenes | |||
1383 | if (!m_isBackedUp) | 1383 | if (!m_isBackedUp) |
1384 | return; | 1384 | return; |
1385 | 1385 | ||
1386 | // Since this is the top of the section of call stack for backing up a particular scene object, don't let | ||
1387 | // any exception propogate upwards. | ||
1388 | |||
1389 | if (IsDeleted || UUID == UUID.Zero) | 1386 | if (IsDeleted || UUID == UUID.Zero) |
1390 | return; | 1387 | return; |
1391 | 1388 | ||
1389 | // Since this is the top of the section of call stack for backing up a particular scene object, don't let | ||
1390 | // any exception propogate upwards. | ||
1392 | try | 1391 | try |
1393 | { | 1392 | { |
1394 | if (!m_scene.ShuttingDown) // if shutting down then there will be nothing to handle the return so leave till next restart | 1393 | if (!m_scene.ShuttingDown) // if shutting down then there will be nothing to handle the return so leave till next restart |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/BorderTests.cs b/OpenSim/Region/Framework/Scenes/Tests/BorderTests.cs index e140cd5..3a0dd00 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/BorderTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/BorderTests.cs | |||
@@ -28,20 +28,21 @@ | |||
28 | using System; | 28 | using System; |
29 | using System.Collections.Generic; | 29 | using System.Collections.Generic; |
30 | using System.Text; | 30 | using System.Text; |
31 | using NUnit.Framework; | ||
31 | using OpenMetaverse; | 32 | using OpenMetaverse; |
32 | using OpenSim.Region.Framework.Scenes; | 33 | using OpenSim.Region.Framework.Scenes; |
33 | 34 | using OpenSim.Tests.Common; | |
34 | using NUnit.Framework; | ||
35 | 35 | ||
36 | namespace OpenSim.Region.Framework.Scenes.Tests | 36 | namespace OpenSim.Region.Framework.Scenes.Tests |
37 | { | 37 | { |
38 | [TestFixture] | 38 | [TestFixture] |
39 | public class BorderTests | 39 | public class BorderTests |
40 | { | 40 | { |
41 | |||
42 | [Test] | 41 | [Test] |
43 | public void TestCross() | 42 | public void TestCross() |
44 | { | 43 | { |
44 | TestHelper.InMethod(); | ||
45 | |||
45 | List<Border> testborders = new List<Border>(); | 46 | List<Border> testborders = new List<Border>(); |
46 | 47 | ||
47 | Border NorthBorder = new Border(); | 48 | Border NorthBorder = new Border(); |
@@ -75,8 +76,6 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
75 | position = new Vector3(200,280,21); | 76 | position = new Vector3(200,280,21); |
76 | Assert.That(NorthBorder.TestCross(position)); | 77 | Assert.That(NorthBorder.TestCross(position)); |
77 | 78 | ||
78 | |||
79 | |||
80 | // Test automatic border crossing | 79 | // Test automatic border crossing |
81 | // by setting the border crossing aabb to be the whole region | 80 | // by setting the border crossing aabb to be the whole region |
82 | position = new Vector3(25,25,21); // safely within one 256m region | 81 | position = new Vector3(25,25,21); // safely within one 256m region |
@@ -95,12 +94,13 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
95 | 94 | ||
96 | WestBorder.BorderLine = new Vector3(0, 256, 255); // automatic border cross in the region | 95 | WestBorder.BorderLine = new Vector3(0, 256, 255); // automatic border cross in the region |
97 | Assert.That(WestBorder.TestCross(position)); | 96 | Assert.That(WestBorder.TestCross(position)); |
98 | |||
99 | } | 97 | } |
100 | 98 | ||
101 | [Test] | 99 | [Test] |
102 | public void TestCrossSquare512() | 100 | public void TestCrossSquare512() |
103 | { | 101 | { |
102 | TestHelper.InMethod(); | ||
103 | |||
104 | List<Border> testborders = new List<Border>(); | 104 | List<Border> testborders = new List<Border>(); |
105 | 105 | ||
106 | Border NorthBorder = new Border(); | 106 | Border NorthBorder = new Border(); |
@@ -174,12 +174,13 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
174 | Assert.That(!b.TestCross(position)); | 174 | Assert.That(!b.TestCross(position)); |
175 | 175 | ||
176 | } | 176 | } |
177 | |||
178 | } | 177 | } |
179 | 178 | ||
180 | [Test] | 179 | [Test] |
181 | public void TestCrossRectangle512x256() | 180 | public void TestCrossRectangle512x256() |
182 | { | 181 | { |
182 | TestHelper.InMethod(); | ||
183 | |||
183 | List<Border> testborders = new List<Border>(); | 184 | List<Border> testborders = new List<Border>(); |
184 | 185 | ||
185 | Border NorthBorder = new Border(); | 186 | Border NorthBorder = new Border(); |
@@ -258,6 +259,8 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
258 | [Test] | 259 | [Test] |
259 | public void TestCrossOdd512x512w256hole() | 260 | public void TestCrossOdd512x512w256hole() |
260 | { | 261 | { |
262 | TestHelper.InMethod(); | ||
263 | |||
261 | List<Border> testborders = new List<Border>(); | 264 | List<Border> testborders = new List<Border>(); |
262 | // 512____ | 265 | // 512____ |
263 | // | | | 266 | // | | |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/EntityManagerTests.cs b/OpenSim/Region/Framework/Scenes/Tests/EntityManagerTests.cs index 3e2a2af..b3c3e22 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/EntityManagerTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/EntityManagerTests.cs | |||
@@ -53,7 +53,6 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
53 | public void T010_AddObjects() | 53 | public void T010_AddObjects() |
54 | { | 54 | { |
55 | TestHelper.InMethod(); | 55 | TestHelper.InMethod(); |
56 | // Console.WriteLine("Beginning test {0}", MethodBase.GetCurrentMethod()); | ||
57 | 56 | ||
58 | random = new Random(); | 57 | random = new Random(); |
59 | SceneObjectGroup found; | 58 | SceneObjectGroup found; |
@@ -89,7 +88,6 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
89 | public void T011_ThreadAddRemoveTest() | 88 | public void T011_ThreadAddRemoveTest() |
90 | { | 89 | { |
91 | TestHelper.InMethod(); | 90 | TestHelper.InMethod(); |
92 | // Console.WriteLine("Beginning test {0}", MethodBase.GetCurrentMethod()); | ||
93 | 91 | ||
94 | // This test adds and removes with mutiple threads, attempting to break the | 92 | // This test adds and removes with mutiple threads, attempting to break the |
95 | // uuid and localid dictionary coherence. | 93 | // uuid and localid dictionary coherence. |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectLinkingTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectLinkingTests.cs index 0b7608d..bfed204 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectLinkingTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectLinkingTests.cs | |||
@@ -26,13 +26,13 @@ | |||
26 | */ | 26 | */ |
27 | 27 | ||
28 | using System; | 28 | using System; |
29 | using System.Collections.Generic; | ||
29 | using System.Reflection; | 30 | using System.Reflection; |
30 | using NUnit.Framework; | 31 | using NUnit.Framework; |
31 | using NUnit.Framework.SyntaxHelpers; | 32 | using NUnit.Framework.SyntaxHelpers; |
32 | using OpenMetaverse; | 33 | using OpenMetaverse; |
33 | using OpenSim.Framework; | 34 | using OpenSim.Framework; |
34 | using OpenSim.Framework.Communications; | 35 | using OpenSim.Framework.Communications; |
35 | |||
36 | using OpenSim.Region.Framework.Scenes; | 36 | using OpenSim.Region.Framework.Scenes; |
37 | using OpenSim.Tests.Common; | 37 | using OpenSim.Tests.Common; |
38 | using OpenSim.Tests.Common.Mock; | 38 | using OpenSim.Tests.Common.Mock; |
@@ -260,5 +260,54 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
260 | && (part4.RotationOffset.W - compareQuaternion.W < 0.00003), | 260 | && (part4.RotationOffset.W - compareQuaternion.W < 0.00003), |
261 | "Badness 3"); | 261 | "Badness 3"); |
262 | } | 262 | } |
263 | |||
264 | /// <summary> | ||
265 | /// Test that a new scene object which is already linked is correctly persisted to the persistence layer. | ||
266 | /// </summary> | ||
267 | [Test] | ||
268 | public void TestNewSceneObjectLinkPersistence() | ||
269 | { | ||
270 | TestHelper.InMethod(); | ||
271 | log4net.Config.XmlConfigurator.Configure(); | ||
272 | |||
273 | TestScene scene = SceneSetupHelpers.SetupScene(); | ||
274 | |||
275 | string rootPartName = "rootpart"; | ||
276 | UUID rootPartUuid = new UUID("00000000-0000-0000-0000-000000000001"); | ||
277 | string linkPartName = "linkpart"; | ||
278 | UUID linkPartUuid = new UUID("00000000-0000-0000-0001-000000000000"); | ||
279 | |||
280 | SceneObjectPart rootPart | ||
281 | = new SceneObjectPart(UUID.Zero, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero) | ||
282 | { Name = rootPartName, UUID = rootPartUuid }; | ||
283 | SceneObjectPart linkPart | ||
284 | = new SceneObjectPart(UUID.Zero, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero) | ||
285 | { Name = linkPartName, UUID = linkPartUuid }; | ||
286 | |||
287 | SceneObjectGroup sog = new SceneObjectGroup(rootPart); | ||
288 | sog.AddPart(linkPart); | ||
289 | scene.AddNewSceneObject(sog, true); | ||
290 | |||
291 | // In a test, we have to crank the backup handle manually. Normally this would be done by the timer invoked | ||
292 | // scene backup thread. | ||
293 | scene.Backup(true); | ||
294 | |||
295 | List<SceneObjectGroup> storedObjects = scene.StorageManager.DataStore.LoadObjects(scene.RegionInfo.RegionID); | ||
296 | Assert.That(storedObjects.Count, Is.EqualTo(1)); | ||
297 | Assert.That(storedObjects[0].Children.Count, Is.EqualTo(2)); | ||
298 | Assert.That(storedObjects[0].RootPart.UUID, Is.EqualTo(rootPartUuid)); | ||
299 | // TODO: assertion for child prim | ||
300 | } | ||
301 | |||
302 | /// <summary> | ||
303 | /// Test that a delink is correctly persisted to the database | ||
304 | /// </summary> | ||
305 | // [Test] | ||
306 | // public void TestDelinkPersistence() | ||
307 | // { | ||
308 | // TestHelper.InMethod(); | ||
309 | // | ||
310 | // Scene scene = SceneSetupHelpers.SetupScene(); | ||
311 | // } | ||
263 | } | 312 | } |
264 | } | 313 | } \ No newline at end of file |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceTests.cs b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceTests.cs index e39a362..ab5968c 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceTests.cs | |||
@@ -173,6 +173,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
173 | 173 | ||
174 | Assert.That(neighbours.Count, Is.EqualTo(2)); | 174 | Assert.That(neighbours.Count, Is.EqualTo(2)); |
175 | } | 175 | } |
176 | |||
176 | public void fixNullPresence() | 177 | public void fixNullPresence() |
177 | { | 178 | { |
178 | string firstName = "testfirstname"; | 179 | string firstName = "testfirstname"; |
@@ -389,8 +390,6 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
389 | 390 | ||
390 | public static string GetRandomCapsObjectPath() | 391 | public static string GetRandomCapsObjectPath() |
391 | { | 392 | { |
392 | TestHelper.InMethod(); | ||
393 | |||
394 | UUID caps = UUID.Random(); | 393 | UUID caps = UUID.Random(); |
395 | string capsPath = caps.ToString(); | 394 | string capsPath = caps.ToString(); |
396 | capsPath = capsPath.Remove(capsPath.Length - 4, 4); | 395 | capsPath = capsPath.Remove(capsPath.Length - 4, 4); |
@@ -429,4 +428,4 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
429 | return name.ToString(); | 428 | return name.ToString(); |
430 | } | 429 | } |
431 | } | 430 | } |
432 | } | 431 | } \ No newline at end of file |
diff --git a/OpenSim/Tests/Common/Mock/MockRegionDataPlugin.cs b/OpenSim/Tests/Common/Mock/MockRegionDataPlugin.cs new file mode 100644 index 0000000..1c139c5 --- /dev/null +++ b/OpenSim/Tests/Common/Mock/MockRegionDataPlugin.cs | |||
@@ -0,0 +1,149 @@ | |||
1 | /* | ||
2 | * Copyright (c) Contributors, http://opensimulator.org/ | ||
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | ||
4 | * | ||
5 | * Redistribution and use in source and binary forms, with or without | ||
6 | * modification, are permitted provided that the following conditions are met: | ||
7 | * * Redistributions of source code must retain the above copyright | ||
8 | * notice, this list of conditions and the following disclaimer. | ||
9 | * * Redistributions in binary form must reproduce the above copyright | ||
10 | * notice, this list of conditions and the following disclaimer in the | ||
11 | * documentation and/or other materials provided with the distribution. | ||
12 | * * Neither the name of the OpenSimulator Project nor the | ||
13 | * names of its contributors may be used to endorse or promote products | ||
14 | * derived from this software without specific prior written permission. | ||
15 | * | ||
16 | * THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY | ||
17 | * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED | ||
18 | * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE | ||
19 | * DISCLAIMED. IN NO EVENT SHALL THE CONTRIBUTORS BE LIABLE FOR ANY | ||
20 | * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES | ||
21 | * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; | ||
22 | * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND | ||
23 | * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT | ||
24 | * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS | ||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | ||
26 | */ | ||
27 | |||
28 | using System.Reflection; | ||
29 | using System.Collections.Generic; | ||
30 | using log4net; | ||
31 | using OpenMetaverse; | ||
32 | using OpenSim.Framework; | ||
33 | using OpenSim.Region.Framework.Interfaces; | ||
34 | using OpenSim.Region.Framework.Scenes; | ||
35 | |||
36 | namespace OpenSim.Data.Null | ||
37 | { | ||
38 | /// <summary> | ||
39 | /// Mock region data plugin. This obeys the api contract for persistence but stores everything in memory, so that | ||
40 | /// tests can check correct persistence. | ||
41 | /// </summary> | ||
42 | public class NullDataStore : IRegionDataStore | ||
43 | { | ||
44 | private static readonly ILog m_log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType); | ||
45 | |||
46 | protected Dictionary<UUID, RegionSettings> m_regionSettings = new Dictionary<UUID, RegionSettings>(); | ||
47 | protected Dictionary<UUID, SceneObjectGroup> m_sceneObjects = new Dictionary<UUID, SceneObjectGroup>(); | ||
48 | protected Dictionary<UUID, ICollection<TaskInventoryItem>> m_primItems | ||
49 | = new Dictionary<UUID, ICollection<TaskInventoryItem>>(); | ||
50 | protected Dictionary<UUID, double[,]> m_terrains = new Dictionary<UUID, double[,]>(); | ||
51 | protected Dictionary<UUID, LandData> m_landData = new Dictionary<UUID, LandData>(); | ||
52 | |||
53 | public void Initialise(string dbfile) | ||
54 | { | ||
55 | return; | ||
56 | } | ||
57 | |||
58 | public void Dispose() | ||
59 | { | ||
60 | } | ||
61 | |||
62 | public void StoreRegionSettings(RegionSettings rs) | ||
63 | { | ||
64 | m_regionSettings[rs.RegionUUID] = rs; | ||
65 | } | ||
66 | |||
67 | public RegionLightShareData LoadRegionWindlightSettings(UUID regionUUID) | ||
68 | { | ||
69 | //This connector doesn't support the windlight module yet | ||
70 | //Return default LL windlight settings | ||
71 | return new RegionLightShareData(); | ||
72 | } | ||
73 | |||
74 | public void StoreRegionWindlightSettings(RegionLightShareData wl) | ||
75 | { | ||
76 | //This connector doesn't support the windlight module yet | ||
77 | } | ||
78 | |||
79 | public RegionSettings LoadRegionSettings(UUID regionUUID) | ||
80 | { | ||
81 | RegionSettings rs = null; | ||
82 | m_regionSettings.TryGetValue(regionUUID, out rs); | ||
83 | return rs; | ||
84 | } | ||
85 | |||
86 | public void StoreObject(SceneObjectGroup obj, UUID regionUUID) | ||
87 | { | ||
88 | m_log.DebugFormat( | ||
89 | "[MOCK REGION DATA PLUGIN]: Storing object {0} {1} in {2}", obj.Name, obj.UUID, regionUUID); | ||
90 | m_sceneObjects[obj.UUID] = obj; | ||
91 | } | ||
92 | |||
93 | public void RemoveObject(UUID obj, UUID regionUUID) | ||
94 | { | ||
95 | m_log.DebugFormat( | ||
96 | "[MOCK REGION DATA PLUGIN]: Removing object {0} from {1}", obj, regionUUID); | ||
97 | |||
98 | if (m_sceneObjects.ContainsKey(obj)) | ||
99 | m_sceneObjects.Remove(obj); | ||
100 | } | ||
101 | |||
102 | // see IRegionDatastore | ||
103 | public void StorePrimInventory(UUID primID, ICollection<TaskInventoryItem> items) | ||
104 | { | ||
105 | m_primItems[primID] = items; | ||
106 | } | ||
107 | |||
108 | public List<SceneObjectGroup> LoadObjects(UUID regionUUID) | ||
109 | { | ||
110 | m_log.DebugFormat( | ||
111 | "[MOCK REGION DATA PLUGIN]: Loading objects from {0}", regionUUID); | ||
112 | |||
113 | return new List<SceneObjectGroup>(m_sceneObjects.Values); | ||
114 | } | ||
115 | |||
116 | public void StoreTerrain(double[,] ter, UUID regionID) | ||
117 | { | ||
118 | m_terrains[regionID] = ter; | ||
119 | } | ||
120 | |||
121 | public double[,] LoadTerrain(UUID regionID) | ||
122 | { | ||
123 | if (m_terrains.ContainsKey(regionID)) | ||
124 | return m_terrains[regionID]; | ||
125 | else | ||
126 | return null; | ||
127 | } | ||
128 | |||
129 | public void RemoveLandObject(UUID globalID) | ||
130 | { | ||
131 | if (m_landData.ContainsKey(globalID)) | ||
132 | m_landData.Remove(globalID); | ||
133 | } | ||
134 | |||
135 | public void StoreLandObject(ILandObject land) | ||
136 | { | ||
137 | m_landData[land.LandData.GlobalID] = land.LandData; | ||
138 | } | ||
139 | |||
140 | public List<LandData> LoadLandObjects(UUID regionUUID) | ||
141 | { | ||
142 | return new List<LandData>(m_landData.Values); | ||
143 | } | ||
144 | |||
145 | public void Shutdown() | ||
146 | { | ||
147 | } | ||
148 | } | ||
149 | } \ No newline at end of file | ||
diff --git a/OpenSim/Tests/Common/Mock/TestScene.cs b/OpenSim/Tests/Common/Mock/TestScene.cs index 01f2c14..615e519 100644 --- a/OpenSim/Tests/Common/Mock/TestScene.cs +++ b/OpenSim/Tests/Common/Mock/TestScene.cs | |||
@@ -1,4 +1,4 @@ | |||
1 | /* | 1 | /* |
2 | * Copyright (c) Contributors, http://opensimulator.org/ | 2 | * Copyright (c) Contributors, http://opensimulator.org/ |
3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. | 3 | * See CONTRIBUTORS.TXT for a full list of copyright holders. |
4 | * | 4 | * |
@@ -29,7 +29,6 @@ using System; | |||
29 | using Nini.Config; | 29 | using Nini.Config; |
30 | using OpenSim.Framework; | 30 | using OpenSim.Framework; |
31 | using OpenSim.Framework.Communications; | 31 | using OpenSim.Framework.Communications; |
32 | |||
33 | using OpenSim.Framework.Servers; | 32 | using OpenSim.Framework.Servers; |
34 | using OpenSim.Region.Framework; | 33 | using OpenSim.Region.Framework; |
35 | using OpenSim.Region.Framework.Scenes; | 34 | using OpenSim.Region.Framework.Scenes; |
@@ -49,6 +48,11 @@ namespace OpenSim.Tests.Common.Mock | |||
49 | } | 48 | } |
50 | 49 | ||
51 | /// <summary> | 50 | /// <summary> |
51 | /// Allow retrieval for test check purposes | ||
52 | /// </summary> | ||
53 | public StorageManager StorageManager { get { return m_storageManager; } } | ||
54 | |||
55 | /// <summary> | ||
52 | /// Temporarily override session authentication for tests (namely teleport). | 56 | /// Temporarily override session authentication for tests (namely teleport). |
53 | /// </summary> | 57 | /// </summary> |
54 | /// | 58 | /// |
diff --git a/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs b/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs index d9ded2d..9318a27 100644 --- a/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs +++ b/OpenSim/Tests/Common/Setup/SceneSetupHelpers.cs | |||
@@ -157,7 +157,7 @@ namespace OpenSim.Tests.Common.Setup | |||
157 | AgentCircuitManager acm = new AgentCircuitManager(); | 157 | AgentCircuitManager acm = new AgentCircuitManager(); |
158 | SceneCommunicationService scs = new SceneCommunicationService(); | 158 | SceneCommunicationService scs = new SceneCommunicationService(); |
159 | 159 | ||
160 | StorageManager sm = new StorageManager("OpenSim.Data.Null.dll", "", ""); | 160 | StorageManager sm = new StorageManager("OpenSim.Tests.Common.dll", "", ""); |
161 | IConfigSource configSource = new IniConfigSource(); | 161 | IConfigSource configSource = new IniConfigSource(); |
162 | 162 | ||
163 | TestScene testScene = new TestScene( | 163 | TestScene testScene = new TestScene( |