diff options
author | onefang | 2019-05-19 21:24:15 +1000 |
---|---|---|
committer | onefang | 2019-05-19 21:24:15 +1000 |
commit | 5e4d6cab00cb29cd088ab7b62ab13aff103b64cb (patch) | |
tree | a9fbc62df9eb2d1d9ba2698d8552eae71eca20d8 /OpenSim/Region/Framework/Scenes/Tests | |
parent | Add a build script. (diff) | |
download | opensim-SC-5e4d6cab00cb29cd088ab7b62ab13aff103b64cb.zip opensim-SC-5e4d6cab00cb29cd088ab7b62ab13aff103b64cb.tar.gz opensim-SC-5e4d6cab00cb29cd088ab7b62ab13aff103b64cb.tar.bz2 opensim-SC-5e4d6cab00cb29cd088ab7b62ab13aff103b64cb.tar.xz |
Dump OpenSim 0.9.0.1 into it's own branch.
Diffstat (limited to '')
27 files changed, 320 insertions, 566 deletions
diff --git a/OpenSim/Region/Framework/Scenes/Tests/BorderTests.cs b/OpenSim/Region/Framework/Scenes/Tests/BorderTests.cs deleted file mode 100644 index e209221..0000000 --- a/OpenSim/Region/Framework/Scenes/Tests/BorderTests.cs +++ /dev/null | |||
@@ -1,340 +0,0 @@ | |||
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; | ||
29 | using System.Collections.Generic; | ||
30 | using System.IO; | ||
31 | using System.Text; | ||
32 | using NUnit.Framework; | ||
33 | using OpenMetaverse; | ||
34 | using OpenSim.Region.Framework.Scenes; | ||
35 | using OpenSim.Tests.Common; | ||
36 | |||
37 | namespace OpenSim.Region.Framework.Scenes.Tests | ||
38 | { | ||
39 | [TestFixture] | ||
40 | public class BorderTests : OpenSimTestCase | ||
41 | { | ||
42 | [Test] | ||
43 | public void TestCross() | ||
44 | { | ||
45 | TestHelpers.InMethod(); | ||
46 | |||
47 | List<Border> testborders = new List<Border>(); | ||
48 | |||
49 | Border NorthBorder = new Border(); | ||
50 | NorthBorder.BorderLine = new Vector3(0, 256, 256); //<--- | ||
51 | NorthBorder.CrossDirection = Cardinals.N; | ||
52 | testborders.Add(NorthBorder); | ||
53 | |||
54 | Border SouthBorder = new Border(); | ||
55 | SouthBorder.BorderLine = new Vector3(0, 256, 0); //---> | ||
56 | SouthBorder.CrossDirection = Cardinals.S; | ||
57 | testborders.Add(SouthBorder); | ||
58 | |||
59 | Border EastBorder = new Border(); | ||
60 | EastBorder.BorderLine = new Vector3(0, 256, 256); //<--- | ||
61 | EastBorder.CrossDirection = Cardinals.E; | ||
62 | testborders.Add(EastBorder); | ||
63 | |||
64 | Border WestBorder = new Border(); | ||
65 | WestBorder.BorderLine = new Vector3(0, 256, 0); //---> | ||
66 | WestBorder.CrossDirection = Cardinals.W; | ||
67 | testborders.Add(WestBorder); | ||
68 | |||
69 | Vector3 position = new Vector3(200,200,21); | ||
70 | |||
71 | foreach (Border b in testborders) | ||
72 | Assert.That(!b.TestCross(position)); | ||
73 | |||
74 | position = new Vector3(200,280,21); | ||
75 | Assert.That(NorthBorder.TestCross(position)); | ||
76 | |||
77 | // Test automatic border crossing | ||
78 | // by setting the border crossing aabb to be the whole region | ||
79 | position = new Vector3(25,25,21); // safely within one 256m region | ||
80 | |||
81 | // The Z value of the BorderLine is reversed, making all positions within the region | ||
82 | // trigger bordercross | ||
83 | |||
84 | SouthBorder.BorderLine = new Vector3(0,256,256); // automatic border cross in the region | ||
85 | Assert.That(SouthBorder.TestCross(position)); | ||
86 | |||
87 | NorthBorder.BorderLine = new Vector3(0, 256, 0); // automatic border cross in the region | ||
88 | Assert.That(NorthBorder.TestCross(position)); | ||
89 | |||
90 | EastBorder.BorderLine = new Vector3(0, 256, 0); // automatic border cross in the region | ||
91 | Assert.That(EastBorder.TestCross(position)); | ||
92 | |||
93 | WestBorder.BorderLine = new Vector3(0, 256, 255); // automatic border cross in the region | ||
94 | Assert.That(WestBorder.TestCross(position)); | ||
95 | } | ||
96 | |||
97 | [Test] | ||
98 | public void TestCrossSquare512() | ||
99 | { | ||
100 | TestHelpers.InMethod(); | ||
101 | |||
102 | List<Border> testborders = new List<Border>(); | ||
103 | |||
104 | Border NorthBorder = new Border(); | ||
105 | NorthBorder.BorderLine = new Vector3(0, 512, 512); | ||
106 | NorthBorder.CrossDirection = Cardinals.N; | ||
107 | testborders.Add(NorthBorder); | ||
108 | |||
109 | Border SouthBorder = new Border(); | ||
110 | SouthBorder.BorderLine = new Vector3(0, 512, 0); | ||
111 | SouthBorder.CrossDirection = Cardinals.S; | ||
112 | testborders.Add(SouthBorder); | ||
113 | |||
114 | Border EastBorder = new Border(); | ||
115 | EastBorder.BorderLine = new Vector3(0, 512, 512); | ||
116 | EastBorder.CrossDirection = Cardinals.E; | ||
117 | testborders.Add(EastBorder); | ||
118 | |||
119 | Border WestBorder = new Border(); | ||
120 | WestBorder.BorderLine = new Vector3(0, 512, 0); | ||
121 | WestBorder.CrossDirection = Cardinals.W; | ||
122 | testborders.Add(WestBorder); | ||
123 | |||
124 | Vector3 position = new Vector3(450,220,21); | ||
125 | |||
126 | foreach (Border b in testborders) | ||
127 | { | ||
128 | Assert.That(!b.TestCross(position)); | ||
129 | |||
130 | } | ||
131 | |||
132 | //Trigger east border | ||
133 | position = new Vector3(513,220,21); | ||
134 | foreach (Border b in testborders) | ||
135 | { | ||
136 | if (b.CrossDirection == Cardinals.E) | ||
137 | Assert.That(b.TestCross(position)); | ||
138 | else | ||
139 | Assert.That(!b.TestCross(position)); | ||
140 | |||
141 | } | ||
142 | |||
143 | //Trigger west border | ||
144 | position = new Vector3(-1, 220, 21); | ||
145 | foreach (Border b in testborders) | ||
146 | { | ||
147 | if (b.CrossDirection == Cardinals.W) | ||
148 | Assert.That(b.TestCross(position)); | ||
149 | else | ||
150 | Assert.That(!b.TestCross(position)); | ||
151 | |||
152 | } | ||
153 | |||
154 | //Trigger north border | ||
155 | position = new Vector3(220, 513, 21); | ||
156 | foreach (Border b in testborders) | ||
157 | { | ||
158 | if (b.CrossDirection == Cardinals.N) | ||
159 | Assert.That(b.TestCross(position)); | ||
160 | else | ||
161 | Assert.That(!b.TestCross(position)); | ||
162 | |||
163 | } | ||
164 | |||
165 | //Trigger south border | ||
166 | position = new Vector3(220, -1, 21); | ||
167 | foreach (Border b in testborders) | ||
168 | { | ||
169 | if (b.CrossDirection == Cardinals.S) | ||
170 | Assert.That(b.TestCross(position)); | ||
171 | else | ||
172 | Assert.That(!b.TestCross(position)); | ||
173 | |||
174 | } | ||
175 | } | ||
176 | |||
177 | [Test] | ||
178 | public void TestCrossRectangle512x256() | ||
179 | { | ||
180 | TestHelpers.InMethod(); | ||
181 | |||
182 | List<Border> testborders = new List<Border>(); | ||
183 | |||
184 | Border NorthBorder = new Border(); | ||
185 | NorthBorder.BorderLine = new Vector3(0, 512, 256); | ||
186 | NorthBorder.CrossDirection = Cardinals.N; | ||
187 | testborders.Add(NorthBorder); | ||
188 | |||
189 | Border SouthBorder = new Border(); | ||
190 | SouthBorder.BorderLine = new Vector3(0, 512, 0); | ||
191 | SouthBorder.CrossDirection = Cardinals.S; | ||
192 | testborders.Add(SouthBorder); | ||
193 | |||
194 | Border EastBorder = new Border(); | ||
195 | EastBorder.BorderLine = new Vector3(0, 256, 512); | ||
196 | EastBorder.CrossDirection = Cardinals.E; | ||
197 | testborders.Add(EastBorder); | ||
198 | |||
199 | Border WestBorder = new Border(); | ||
200 | WestBorder.BorderLine = new Vector3(0, 256, 0); | ||
201 | WestBorder.CrossDirection = Cardinals.W; | ||
202 | testborders.Add(WestBorder); | ||
203 | |||
204 | Vector3 position = new Vector3(450, 220, 21); | ||
205 | |||
206 | foreach (Border b in testborders) | ||
207 | { | ||
208 | Assert.That(!b.TestCross(position)); | ||
209 | |||
210 | } | ||
211 | |||
212 | //Trigger east border | ||
213 | position = new Vector3(513, 220, 21); | ||
214 | foreach (Border b in testborders) | ||
215 | { | ||
216 | if (b.CrossDirection == Cardinals.E) | ||
217 | Assert.That(b.TestCross(position)); | ||
218 | else | ||
219 | Assert.That(!b.TestCross(position)); | ||
220 | |||
221 | } | ||
222 | |||
223 | //Trigger west border | ||
224 | position = new Vector3(-1, 220, 21); | ||
225 | foreach (Border b in testborders) | ||
226 | { | ||
227 | if (b.CrossDirection == Cardinals.W) | ||
228 | Assert.That(b.TestCross(position)); | ||
229 | else | ||
230 | Assert.That(!b.TestCross(position)); | ||
231 | |||
232 | } | ||
233 | |||
234 | //Trigger north border | ||
235 | position = new Vector3(220, 257, 21); | ||
236 | foreach (Border b in testborders) | ||
237 | { | ||
238 | if (b.CrossDirection == Cardinals.N) | ||
239 | Assert.That(b.TestCross(position)); | ||
240 | else | ||
241 | Assert.That(!b.TestCross(position)); | ||
242 | |||
243 | } | ||
244 | |||
245 | //Trigger south border | ||
246 | position = new Vector3(220, -1, 21); | ||
247 | foreach (Border b in testborders) | ||
248 | { | ||
249 | if (b.CrossDirection == Cardinals.S) | ||
250 | Assert.That(b.TestCross(position)); | ||
251 | else | ||
252 | Assert.That(!b.TestCross(position)); | ||
253 | |||
254 | } | ||
255 | } | ||
256 | |||
257 | [Test] | ||
258 | public void TestCrossOdd512x512w256hole() | ||
259 | { | ||
260 | TestHelpers.InMethod(); | ||
261 | |||
262 | List<Border> testborders = new List<Border>(); | ||
263 | // 512____ | ||
264 | // | | | ||
265 | // 256__| |___ | ||
266 | // | | | ||
267 | // |______| | ||
268 | // 0 | 512 | ||
269 | // 256 | ||
270 | |||
271 | // Compound North border since the hole is at the top | ||
272 | Border NorthBorder1 = new Border(); | ||
273 | NorthBorder1.BorderLine = new Vector3(0, 256, 512); | ||
274 | NorthBorder1.CrossDirection = Cardinals.N; | ||
275 | testborders.Add(NorthBorder1); | ||
276 | |||
277 | Border NorthBorder2 = new Border(); | ||
278 | NorthBorder2.BorderLine = new Vector3(256, 512, 256); | ||
279 | NorthBorder2.CrossDirection = Cardinals.N; | ||
280 | testborders.Add(NorthBorder2); | ||
281 | |||
282 | Border SouthBorder = new Border(); | ||
283 | SouthBorder.BorderLine = new Vector3(0, 512, 0); | ||
284 | SouthBorder.CrossDirection = Cardinals.S; | ||
285 | testborders.Add(SouthBorder); | ||
286 | |||
287 | //Compound East border | ||
288 | Border EastBorder1 = new Border(); | ||
289 | EastBorder1.BorderLine = new Vector3(0, 256, 512); | ||
290 | EastBorder1.CrossDirection = Cardinals.E; | ||
291 | testborders.Add(EastBorder1); | ||
292 | |||
293 | Border EastBorder2 = new Border(); | ||
294 | EastBorder2.BorderLine = new Vector3(257, 512, 256); | ||
295 | EastBorder2.CrossDirection = Cardinals.E; | ||
296 | testborders.Add(EastBorder2); | ||
297 | |||
298 | |||
299 | |||
300 | Border WestBorder = new Border(); | ||
301 | WestBorder.BorderLine = new Vector3(0, 512, 0); | ||
302 | WestBorder.CrossDirection = Cardinals.W; | ||
303 | testborders.Add(WestBorder); | ||
304 | |||
305 | Vector3 position = new Vector3(450, 220, 21); | ||
306 | |||
307 | foreach (Border b in testborders) | ||
308 | { | ||
309 | Assert.That(!b.TestCross(position)); | ||
310 | |||
311 | } | ||
312 | |||
313 | position = new Vector3(220, 450, 21); | ||
314 | |||
315 | foreach (Border b in testborders) | ||
316 | { | ||
317 | Assert.That(!b.TestCross(position)); | ||
318 | |||
319 | } | ||
320 | |||
321 | bool result = false; | ||
322 | int bordersTriggered = 0; | ||
323 | |||
324 | position = new Vector3(450, 450, 21); | ||
325 | |||
326 | foreach (Border b in testborders) | ||
327 | { | ||
328 | if (b.TestCross(position)) | ||
329 | { | ||
330 | bordersTriggered++; | ||
331 | result = true; | ||
332 | } | ||
333 | } | ||
334 | |||
335 | Assert.That(result); | ||
336 | Assert.That(bordersTriggered == 2); | ||
337 | |||
338 | } | ||
339 | } | ||
340 | } | ||
diff --git a/OpenSim/Region/Framework/Scenes/Tests/EntityManagerTests.cs b/OpenSim/Region/Framework/Scenes/Tests/EntityManagerTests.cs index da18941..fa698a9 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/EntityManagerTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/EntityManagerTests.cs | |||
@@ -50,7 +50,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
50 | public void T010_AddObjects() | 50 | public void T010_AddObjects() |
51 | { | 51 | { |
52 | TestHelpers.InMethod(); | 52 | TestHelpers.InMethod(); |
53 | 53 | ||
54 | random = new Random(); | 54 | random = new Random(); |
55 | SceneObjectGroup found; | 55 | SceneObjectGroup found; |
56 | EntityManager entman = new EntityManager(); | 56 | EntityManager entman = new EntityManager(); |
@@ -62,7 +62,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
62 | UUID obj2 = sog.UUID; | 62 | UUID obj2 = sog.UUID; |
63 | uint li2 = sog.LocalId; | 63 | uint li2 = sog.LocalId; |
64 | entman.Add(sog); | 64 | entman.Add(sog); |
65 | 65 | ||
66 | found = (SceneObjectGroup)entman[obj1]; | 66 | found = (SceneObjectGroup)entman[obj1]; |
67 | Assert.That(found.UUID ,Is.EqualTo(obj1)); | 67 | Assert.That(found.UUID ,Is.EqualTo(obj1)); |
68 | found = (SceneObjectGroup)entman[li1]; | 68 | found = (SceneObjectGroup)entman[li1]; |
@@ -85,15 +85,15 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
85 | public void T011_ThreadAddRemoveTest() | 85 | public void T011_ThreadAddRemoveTest() |
86 | { | 86 | { |
87 | TestHelpers.InMethod(); | 87 | TestHelpers.InMethod(); |
88 | 88 | ||
89 | // This test adds and removes with mutiple threads, attempting to break the | 89 | // This test adds and removes with mutiple threads, attempting to break the |
90 | // uuid and localid dictionary coherence. | 90 | // uuid and localid dictionary coherence. |
91 | EntityManager entman = new EntityManager(); | 91 | EntityManager entman = new EntityManager(); |
92 | SceneObjectGroup sog = NewSOG(); | 92 | SceneObjectGroup sog = NewSOG(); |
93 | for (int j=0; j<20; j++) | 93 | for (int j=0; j<20; j++) |
94 | { | 94 | { |
95 | List<Thread> trdlist = new List<Thread>(); | 95 | List<Thread> trdlist = new List<Thread>(); |
96 | 96 | ||
97 | for (int i=0; i<4; i++) | 97 | for (int i=0; i<4; i++) |
98 | { | 98 | { |
99 | // Adds scene object | 99 | // Adds scene object |
@@ -101,14 +101,14 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
101 | Thread start = new Thread(new ThreadStart(test.TestAddSceneObject)); | 101 | Thread start = new Thread(new ThreadStart(test.TestAddSceneObject)); |
102 | start.Start(); | 102 | start.Start(); |
103 | trdlist.Add(start); | 103 | trdlist.Add(start); |
104 | 104 | ||
105 | // Removes it | 105 | // Removes it |
106 | test = new NewTestThreads(entman,sog); | 106 | test = new NewTestThreads(entman,sog); |
107 | start = new Thread(new ThreadStart(test.TestRemoveSceneObject)); | 107 | start = new Thread(new ThreadStart(test.TestRemoveSceneObject)); |
108 | start.Start(); | 108 | start.Start(); |
109 | trdlist.Add(start); | 109 | trdlist.Add(start); |
110 | } | 110 | } |
111 | foreach (Thread thread in trdlist) | 111 | foreach (Thread thread in trdlist) |
112 | { | 112 | { |
113 | thread.Join(); | 113 | thread.Join(); |
114 | } | 114 | } |
@@ -133,14 +133,14 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
133 | 133 | ||
134 | SceneObjectGroup sog = new SceneObjectGroup(sop); | 134 | SceneObjectGroup sog = new SceneObjectGroup(sop); |
135 | scene.AddNewSceneObject(sog, false); | 135 | scene.AddNewSceneObject(sog, false); |
136 | 136 | ||
137 | return sog; | 137 | return sog; |
138 | } | 138 | } |
139 | 139 | ||
140 | private static string RandomName() | 140 | private static string RandomName() |
141 | { | 141 | { |
142 | StringBuilder name = new StringBuilder(); | 142 | StringBuilder name = new StringBuilder(); |
143 | int size = random.Next(40,80); | 143 | int size = random.Next(40,80); |
144 | char ch ; | 144 | char ch ; |
145 | for (int i=0; i<size; i++) | 145 | for (int i=0; i<size; i++) |
146 | { | 146 | { |
@@ -156,7 +156,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
156 | private EntityManager entman; | 156 | private EntityManager entman; |
157 | private SceneObjectGroup sog; | 157 | private SceneObjectGroup sog; |
158 | private Random random; | 158 | private Random random; |
159 | 159 | ||
160 | public NewTestThreads(EntityManager entman, SceneObjectGroup sog) | 160 | public NewTestThreads(EntityManager entman, SceneObjectGroup sog) |
161 | { | 161 | { |
162 | this.entman = entman; | 162 | this.entman = entman; |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneGraphTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneGraphTests.cs index ee7c8a9..4d2eb3f 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/SceneGraphTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/SceneGraphTests.cs | |||
@@ -55,29 +55,29 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
55 | UUID part2Id = new UUID("00000000-0000-0000-0000-000000000002"); | 55 | UUID part2Id = new UUID("00000000-0000-0000-0000-000000000002"); |
56 | 56 | ||
57 | SceneObjectPart part1 | 57 | SceneObjectPart part1 |
58 | = new SceneObjectPart(ownerId, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero) | 58 | = new SceneObjectPart(ownerId, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero) |
59 | { Name = part1Name, UUID = part1Id }; | 59 | { Name = part1Name, UUID = part1Id }; |
60 | SceneObjectGroup so = new SceneObjectGroup(part1); | 60 | SceneObjectGroup so = new SceneObjectGroup(part1); |
61 | SceneObjectPart part2 | 61 | SceneObjectPart part2 |
62 | = new SceneObjectPart(ownerId, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero) | 62 | = new SceneObjectPart(ownerId, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero) |
63 | { Name = part2Name, UUID = part2Id }; | 63 | { Name = part2Name, UUID = part2Id }; |
64 | so.AddPart(part2); | 64 | so.AddPart(part2); |
65 | 65 | ||
66 | scene.AddNewSceneObject(so, false); | 66 | scene.AddNewSceneObject(so, false); |
67 | 67 | ||
68 | SceneObjectGroup dupeSo | 68 | SceneObjectGroup dupeSo |
69 | = scene.SceneGraph.DuplicateObject( | 69 | = scene.SceneGraph.DuplicateObject( |
70 | part1.LocalId, new Vector3(10, 0, 0), 0, ownerId, UUID.Zero, Quaternion.Identity); | 70 | part1.LocalId, new Vector3(10, 0, 0), ownerId, UUID.Zero, Quaternion.Identity, false); |
71 | Assert.That(dupeSo.Parts.Length, Is.EqualTo(2)); | 71 | Assert.That(dupeSo.Parts.Length, Is.EqualTo(2)); |
72 | 72 | ||
73 | SceneObjectPart dupePart1 = dupeSo.GetLinkNumPart(1); | 73 | SceneObjectPart dupePart1 = dupeSo.GetLinkNumPart(1); |
74 | SceneObjectPart dupePart2 = dupeSo.GetLinkNumPart(2); | 74 | SceneObjectPart dupePart2 = dupeSo.GetLinkNumPart(2); |
75 | Assert.That(dupePart1.LocalId, Is.Not.EqualTo(part1.LocalId)); | 75 | Assert.That(dupePart1.LocalId, Is.Not.EqualTo(part1.LocalId)); |
76 | Assert.That(dupePart2.LocalId, Is.Not.EqualTo(part2.LocalId)); | 76 | Assert.That(dupePart2.LocalId, Is.Not.EqualTo(part2.LocalId)); |
77 | 77 | ||
78 | Assert.That(dupePart1.Flags, Is.EqualTo(part1.Flags)); | 78 | Assert.That(dupePart1.Flags, Is.EqualTo(part1.Flags)); |
79 | Assert.That(dupePart2.Flags, Is.EqualTo(part2.Flags)); | 79 | Assert.That(dupePart2.Flags, Is.EqualTo(part2.Flags)); |
80 | 80 | ||
81 | /* | 81 | /* |
82 | Assert.That(part1.PhysActor, Is.Not.Null); | 82 | Assert.That(part1.PhysActor, Is.Not.Null); |
83 | Assert.That(part2.PhysActor, Is.Not.Null); | 83 | Assert.That(part2.PhysActor, Is.Not.Null); |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs index 098f1b4..8961a26 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectBasicTests.cs | |||
@@ -99,7 +99,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
99 | Assert.That(scene.AddNewSceneObject(so, false), Is.True); | 99 | Assert.That(scene.AddNewSceneObject(so, false), Is.True); |
100 | SceneObjectGroup retrievedSo = scene.GetSceneObjectGroup(so.UUID); | 100 | SceneObjectGroup retrievedSo = scene.GetSceneObjectGroup(so.UUID); |
101 | SceneObjectPart[] retrievedParts = retrievedSo.Parts; | 101 | SceneObjectPart[] retrievedParts = retrievedSo.Parts; |
102 | 102 | ||
103 | //m_log.Debug("retrievedPart : {0}", retrievedPart); | 103 | //m_log.Debug("retrievedPart : {0}", retrievedPart); |
104 | // If the parts have the same UUID then we will consider them as one and the same | 104 | // If the parts have the same UUID then we will consider them as one and the same |
105 | Assert.That(retrievedSo.PrimCount, Is.EqualTo(partsToTestCount)); | 105 | Assert.That(retrievedSo.PrimCount, Is.EqualTo(partsToTestCount)); |
@@ -126,19 +126,19 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
126 | UUID objUuid = new UUID("00000000-0000-0000-0000-000000000001"); | 126 | UUID objUuid = new UUID("00000000-0000-0000-0000-000000000001"); |
127 | 127 | ||
128 | SceneObjectPart part1 | 128 | SceneObjectPart part1 |
129 | = new SceneObjectPart(UUID.Zero, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero) | 129 | = new SceneObjectPart(UUID.Zero, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero) |
130 | { Name = obj1Name, UUID = objUuid }; | 130 | { Name = obj1Name, UUID = objUuid }; |
131 | 131 | ||
132 | Assert.That(scene.AddNewSceneObject(new SceneObjectGroup(part1), false), Is.True); | 132 | Assert.That(scene.AddNewSceneObject(new SceneObjectGroup(part1), false), Is.True); |
133 | 133 | ||
134 | SceneObjectPart part2 | 134 | SceneObjectPart part2 |
135 | = new SceneObjectPart(UUID.Zero, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero) | 135 | = new SceneObjectPart(UUID.Zero, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero) |
136 | { Name = obj2Name, UUID = objUuid }; | 136 | { Name = obj2Name, UUID = objUuid }; |
137 | 137 | ||
138 | Assert.That(scene.AddNewSceneObject(new SceneObjectGroup(part2), false), Is.False); | 138 | Assert.That(scene.AddNewSceneObject(new SceneObjectGroup(part2), false), Is.False); |
139 | 139 | ||
140 | SceneObjectPart retrievedPart = scene.GetSceneObjectPart(objUuid); | 140 | SceneObjectPart retrievedPart = scene.GetSceneObjectPart(objUuid); |
141 | 141 | ||
142 | //m_log.Debug("retrievedPart : {0}", retrievedPart); | 142 | //m_log.Debug("retrievedPart : {0}", retrievedPart); |
143 | // If the parts have the same UUID then we will consider them as one and the same | 143 | // If the parts have the same UUID then we will consider them as one and the same |
144 | Assert.That(retrievedPart.Name, Is.EqualTo(obj1Name)); | 144 | Assert.That(retrievedPart.Name, Is.EqualTo(obj1Name)); |
@@ -171,13 +171,16 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
171 | // Test that we don't get back an object for a local id that doesn't exist | 171 | // Test that we don't get back an object for a local id that doesn't exist |
172 | Assert.That(scene.GetGroupByPrim(999), Is.Null); | 172 | Assert.That(scene.GetGroupByPrim(999), Is.Null); |
173 | 173 | ||
174 | uint soid = so.LocalId; | ||
175 | uint spid = parts[partsToTestCount - 1].LocalId; | ||
176 | |||
174 | // Now delete the scene object and check again | 177 | // Now delete the scene object and check again |
175 | scene.DeleteSceneObject(so, false); | 178 | scene.DeleteSceneObject(so, false); |
176 | 179 | ||
177 | Assert.That(scene.GetGroupByPrim(so.LocalId), Is.Null); | 180 | Assert.That(scene.GetGroupByPrim(soid), Is.Null); |
178 | Assert.That(scene.GetGroupByPrim(parts[partsToTestCount - 1].LocalId), Is.Null); | 181 | Assert.That(scene.GetGroupByPrim(spid), Is.Null); |
179 | } | 182 | } |
180 | 183 | ||
181 | /// <summary> | 184 | /// <summary> |
182 | /// Test deleting an object from a scene. | 185 | /// Test deleting an object from a scene. |
183 | /// </summary> | 186 | /// </summary> |
@@ -194,18 +197,18 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
194 | SceneObjectGroup so = SceneHelpers.AddSceneObject(scene); | 197 | SceneObjectGroup so = SceneHelpers.AddSceneObject(scene); |
195 | 198 | ||
196 | Assert.That(so.IsDeleted, Is.False); | 199 | Assert.That(so.IsDeleted, Is.False); |
200 | uint retrievedPartID = so.LocalId; | ||
197 | 201 | ||
198 | scene.DeleteSceneObject(so, false); | 202 | scene.DeleteSceneObject(so, false); |
199 | 203 | ||
200 | Assert.That(so.IsDeleted, Is.True); | 204 | SceneObjectPart retrievedPart = scene.GetSceneObjectPart(retrievedPartID); |
201 | 205 | ||
202 | SceneObjectPart retrievedPart = scene.GetSceneObjectPart(so.LocalId); | ||
203 | Assert.That(retrievedPart, Is.Null); | 206 | Assert.That(retrievedPart, Is.Null); |
204 | } | 207 | } |
205 | 208 | ||
206 | /// <summary> | 209 | /// <summary> |
207 | /// Changing a scene object uuid changes the root part uuid. This is a valid operation if the object is not | 210 | /// Changing a scene object uuid changes the root part uuid. This is a valid operation if the object is not |
208 | /// in a scene and is useful if one wants to supply a UUID directly rather than use the one generated by | 211 | /// in a scene and is useful if one wants to supply a UUID directly rather than use the one generated by |
209 | /// OpenSim. | 212 | /// OpenSim. |
210 | /// </summary> | 213 | /// </summary> |
211 | [Test] | 214 | [Test] |
@@ -215,24 +218,24 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
215 | UUID rootPartUuid = new UUID("00000000-0000-0000-0000-000000000001"); | 218 | UUID rootPartUuid = new UUID("00000000-0000-0000-0000-000000000001"); |
216 | string childPartName = "childPart"; | 219 | string childPartName = "childPart"; |
217 | UUID childPartUuid = new UUID("00000000-0000-0000-0001-000000000000"); | 220 | UUID childPartUuid = new UUID("00000000-0000-0000-0001-000000000000"); |
218 | 221 | ||
219 | SceneObjectPart rootPart | 222 | SceneObjectPart rootPart |
220 | = new SceneObjectPart(UUID.Zero, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero) | 223 | = new SceneObjectPart(UUID.Zero, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero) |
221 | { Name = rootPartName, UUID = rootPartUuid }; | 224 | { Name = rootPartName, UUID = rootPartUuid }; |
222 | SceneObjectPart linkPart | 225 | SceneObjectPart linkPart |
223 | = new SceneObjectPart(UUID.Zero, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero) | 226 | = new SceneObjectPart(UUID.Zero, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero) |
224 | { Name = childPartName, UUID = childPartUuid }; | 227 | { Name = childPartName, UUID = childPartUuid }; |
225 | 228 | ||
226 | SceneObjectGroup sog = new SceneObjectGroup(rootPart); | 229 | SceneObjectGroup sog = new SceneObjectGroup(rootPart); |
227 | sog.AddPart(linkPart); | 230 | sog.AddPart(linkPart); |
228 | 231 | ||
229 | Assert.That(sog.UUID, Is.EqualTo(rootPartUuid)); | 232 | Assert.That(sog.UUID, Is.EqualTo(rootPartUuid)); |
230 | Assert.That(sog.RootPart.UUID, Is.EqualTo(rootPartUuid)); | 233 | Assert.That(sog.RootPart.UUID, Is.EqualTo(rootPartUuid)); |
231 | Assert.That(sog.Parts.Length, Is.EqualTo(2)); | 234 | Assert.That(sog.Parts.Length, Is.EqualTo(2)); |
232 | 235 | ||
233 | UUID newRootPartUuid = new UUID("00000000-0000-0000-0000-000000000002"); | 236 | UUID newRootPartUuid = new UUID("00000000-0000-0000-0000-000000000002"); |
234 | sog.UUID = newRootPartUuid; | 237 | sog.UUID = newRootPartUuid; |
235 | 238 | ||
236 | Assert.That(sog.UUID, Is.EqualTo(newRootPartUuid)); | 239 | Assert.That(sog.UUID, Is.EqualTo(newRootPartUuid)); |
237 | Assert.That(sog.RootPart.UUID, Is.EqualTo(newRootPartUuid)); | 240 | Assert.That(sog.RootPart.UUID, Is.EqualTo(newRootPartUuid)); |
238 | Assert.That(sog.Parts.Length, Is.EqualTo(2)); | 241 | Assert.That(sog.Parts.Length, Is.EqualTo(2)); |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectCopyTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectCopyTests.cs index 0b196c1..c27bc1a 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectCopyTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectCopyTests.cs | |||
@@ -42,6 +42,7 @@ using OpenSim.Tests.Common; | |||
42 | 42 | ||
43 | namespace OpenSim.Region.Framework.Scenes.Tests | 43 | namespace OpenSim.Region.Framework.Scenes.Tests |
44 | { | 44 | { |
45 | /* | ||
45 | /// <summary> | 46 | /// <summary> |
46 | /// Test copying of scene objects. | 47 | /// Test copying of scene objects. |
47 | /// </summary> | 48 | /// </summary> |
@@ -86,7 +87,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
86 | 87 | ||
87 | // Turn off the timer on the async sog deleter - we'll crank it by hand for this test. | 88 | // Turn off the timer on the async sog deleter - we'll crank it by hand for this test. |
88 | AsyncSceneObjectGroupDeleter sogd = scene.SceneObjectGroupDeleter; | 89 | AsyncSceneObjectGroupDeleter sogd = scene.SceneObjectGroupDeleter; |
89 | sogd.Enabled = false; | 90 | sogd.Enabled = false; |
90 | 91 | ||
91 | SceneObjectGroup so = SceneHelpers.AddSceneObject(scene, "so1", ua.PrincipalID); | 92 | SceneObjectGroup so = SceneHelpers.AddSceneObject(scene, "so1", ua.PrincipalID); |
92 | uint soLocalId = so.LocalId; | 93 | uint soLocalId = so.LocalId; |
@@ -118,11 +119,11 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
118 | 119 | ||
119 | // Check that object is still there. | 120 | // Check that object is still there. |
120 | SceneObjectPart retrievedPart2 = scene.GetSceneObjectPart(so.LocalId); | 121 | SceneObjectPart retrievedPart2 = scene.GetSceneObjectPart(so.LocalId); |
121 | Assert.That(retrievedPart2, Is.Not.Null); | 122 | Assert.That(retrievedPart2, Is.Not.Null); |
122 | Assert.That(client.ReceivedKills.Count, Is.EqualTo(0)); | 123 | Assert.That(client.ReceivedKills.Count, Is.EqualTo(0)); |
123 | 124 | ||
124 | // Check that we have a copy in inventory | 125 | // Check that we have a copy in inventory |
125 | InventoryItemBase item | 126 | InventoryItemBase item |
126 | = UserInventoryHelpers.GetInventoryItem(scene.InventoryService, ua.PrincipalID, "Lost And Found/so1"); | 127 | = UserInventoryHelpers.GetInventoryItem(scene.InventoryService, ua.PrincipalID, "Lost And Found/so1"); |
127 | Assert.That(item, Is.Not.Null); | 128 | Assert.That(item, Is.Not.Null); |
128 | } | 129 | } |
@@ -144,7 +145,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
144 | 145 | ||
145 | // Turn off the timer on the async sog deleter - we'll crank it by hand for this test. | 146 | // Turn off the timer on the async sog deleter - we'll crank it by hand for this test. |
146 | AsyncSceneObjectGroupDeleter sogd = scene.SceneObjectGroupDeleter; | 147 | AsyncSceneObjectGroupDeleter sogd = scene.SceneObjectGroupDeleter; |
147 | sogd.Enabled = false; | 148 | sogd.Enabled = false; |
148 | 149 | ||
149 | SceneObjectGroup so = SceneHelpers.AddSceneObject(scene, "so1", ua.PrincipalID); | 150 | SceneObjectGroup so = SceneHelpers.AddSceneObject(scene, "so1", ua.PrincipalID); |
150 | uint soLocalId = so.LocalId; | 151 | uint soLocalId = so.LocalId; |
@@ -167,11 +168,11 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
167 | 168 | ||
168 | // Check that object is still there. | 169 | // Check that object is still there. |
169 | SceneObjectPart retrievedPart2 = scene.GetSceneObjectPart(so.LocalId); | 170 | SceneObjectPart retrievedPart2 = scene.GetSceneObjectPart(so.LocalId); |
170 | Assert.That(retrievedPart2, Is.Not.Null); | 171 | Assert.That(retrievedPart2, Is.Not.Null); |
171 | Assert.That(client.ReceivedKills.Count, Is.EqualTo(0)); | 172 | Assert.That(client.ReceivedKills.Count, Is.EqualTo(0)); |
172 | 173 | ||
173 | // Check that we do not have a copy in inventory | 174 | // Check that we do not have a copy in inventory |
174 | InventoryItemBase item | 175 | InventoryItemBase item |
175 | = UserInventoryHelpers.GetInventoryItem(scene.InventoryService, ua.PrincipalID, "Lost And Found/so1"); | 176 | = UserInventoryHelpers.GetInventoryItem(scene.InventoryService, ua.PrincipalID, "Lost And Found/so1"); |
176 | Assert.That(item, Is.Null); | 177 | Assert.That(item, Is.Null); |
177 | } | 178 | } |
@@ -193,7 +194,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
193 | 194 | ||
194 | // Turn off the timer on the async sog deleter - we'll crank it by hand for this test. | 195 | // Turn off the timer on the async sog deleter - we'll crank it by hand for this test. |
195 | AsyncSceneObjectGroupDeleter sogd = scene.SceneObjectGroupDeleter; | 196 | AsyncSceneObjectGroupDeleter sogd = scene.SceneObjectGroupDeleter; |
196 | sogd.Enabled = false; | 197 | sogd.Enabled = false; |
197 | 198 | ||
198 | SceneObjectGroup so = SceneHelpers.AddSceneObject(scene, "so1", TestHelpers.ParseTail(0x2)); | 199 | SceneObjectGroup so = SceneHelpers.AddSceneObject(scene, "so1", TestHelpers.ParseTail(0x2)); |
199 | uint soLocalId = so.LocalId; | 200 | uint soLocalId = so.LocalId; |
@@ -218,11 +219,11 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
218 | 219 | ||
219 | // Check that object is still there. | 220 | // Check that object is still there. |
220 | SceneObjectPart retrievedPart2 = scene.GetSceneObjectPart(so.LocalId); | 221 | SceneObjectPart retrievedPart2 = scene.GetSceneObjectPart(so.LocalId); |
221 | Assert.That(retrievedPart2, Is.Not.Null); | 222 | Assert.That(retrievedPart2, Is.Not.Null); |
222 | Assert.That(client.ReceivedKills.Count, Is.EqualTo(0)); | 223 | Assert.That(client.ReceivedKills.Count, Is.EqualTo(0)); |
223 | 224 | ||
224 | // Check that we have a copy in inventory | 225 | // Check that we have a copy in inventory |
225 | InventoryItemBase item | 226 | InventoryItemBase item |
226 | = UserInventoryHelpers.GetInventoryItem(scene.InventoryService, ua.PrincipalID, "Objects/so1"); | 227 | = UserInventoryHelpers.GetInventoryItem(scene.InventoryService, ua.PrincipalID, "Objects/so1"); |
227 | Assert.That(item, Is.Not.Null); | 228 | Assert.That(item, Is.Not.Null); |
228 | } | 229 | } |
@@ -244,7 +245,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
244 | 245 | ||
245 | // Turn off the timer on the async sog deleter - we'll crank it by hand for this test. | 246 | // Turn off the timer on the async sog deleter - we'll crank it by hand for this test. |
246 | AsyncSceneObjectGroupDeleter sogd = scene.SceneObjectGroupDeleter; | 247 | AsyncSceneObjectGroupDeleter sogd = scene.SceneObjectGroupDeleter; |
247 | sogd.Enabled = false; | 248 | sogd.Enabled = false; |
248 | 249 | ||
249 | SceneObjectGroup so = SceneHelpers.AddSceneObject(scene, "so1", TestHelpers.ParseTail(0x2)); | 250 | SceneObjectGroup so = SceneHelpers.AddSceneObject(scene, "so1", TestHelpers.ParseTail(0x2)); |
250 | uint soLocalId = so.LocalId; | 251 | uint soLocalId = so.LocalId; |
@@ -271,11 +272,11 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
271 | sogd.InventoryDeQueueAndDelete(); | 272 | sogd.InventoryDeQueueAndDelete(); |
272 | // Check that object is still there. | 273 | // Check that object is still there. |
273 | SceneObjectPart retrievedPart2 = scene.GetSceneObjectPart(so.LocalId); | 274 | SceneObjectPart retrievedPart2 = scene.GetSceneObjectPart(so.LocalId); |
274 | Assert.That(retrievedPart2, Is.Not.Null); | 275 | Assert.That(retrievedPart2, Is.Not.Null); |
275 | Assert.That(client.ReceivedKills.Count, Is.EqualTo(0)); | 276 | Assert.That(client.ReceivedKills.Count, Is.EqualTo(0)); |
276 | 277 | ||
277 | // Check that we have a copy in inventory | 278 | // Check that we have a copy in inventory |
278 | InventoryItemBase item | 279 | InventoryItemBase item |
279 | = UserInventoryHelpers.GetInventoryItem(scene.InventoryService, ua.PrincipalID, "Objects/so1"); | 280 | = UserInventoryHelpers.GetInventoryItem(scene.InventoryService, ua.PrincipalID, "Objects/so1"); |
280 | Assert.That(item, Is.Null); | 281 | Assert.That(item, Is.Null); |
281 | } | 282 | } |
@@ -302,11 +303,11 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
302 | sogd.InventoryDeQueueAndDelete(); | 303 | sogd.InventoryDeQueueAndDelete(); |
303 | // Check that object is still there. | 304 | // Check that object is still there. |
304 | SceneObjectPart retrievedPart2 = scene.GetSceneObjectPart(so.LocalId); | 305 | SceneObjectPart retrievedPart2 = scene.GetSceneObjectPart(so.LocalId); |
305 | Assert.That(retrievedPart2, Is.Not.Null); | 306 | Assert.That(retrievedPart2, Is.Not.Null); |
306 | Assert.That(client.ReceivedKills.Count, Is.EqualTo(0)); | 307 | Assert.That(client.ReceivedKills.Count, Is.EqualTo(0)); |
307 | 308 | ||
308 | // Check that we have a copy in inventory | 309 | // Check that we have a copy in inventory |
309 | InventoryItemBase item | 310 | InventoryItemBase item |
310 | = UserInventoryHelpers.GetInventoryItem(scene.InventoryService, ua.PrincipalID, "Objects/so1"); | 311 | = UserInventoryHelpers.GetInventoryItem(scene.InventoryService, ua.PrincipalID, "Objects/so1"); |
311 | Assert.That(item, Is.Null); | 312 | Assert.That(item, Is.Null); |
312 | } | 313 | } |
@@ -333,14 +334,15 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
333 | sogd.InventoryDeQueueAndDelete(); | 334 | sogd.InventoryDeQueueAndDelete(); |
334 | // Check that object is still there. | 335 | // Check that object is still there. |
335 | SceneObjectPart retrievedPart2 = scene.GetSceneObjectPart(so.LocalId); | 336 | SceneObjectPart retrievedPart2 = scene.GetSceneObjectPart(so.LocalId); |
336 | Assert.That(retrievedPart2, Is.Not.Null); | 337 | Assert.That(retrievedPart2, Is.Not.Null); |
337 | Assert.That(client.ReceivedKills.Count, Is.EqualTo(0)); | 338 | Assert.That(client.ReceivedKills.Count, Is.EqualTo(0)); |
338 | 339 | ||
339 | // Check that we have a copy in inventory | 340 | // Check that we have a copy in inventory |
340 | InventoryItemBase item | 341 | InventoryItemBase item |
341 | = UserInventoryHelpers.GetInventoryItem(scene.InventoryService, ua.PrincipalID, "Objects/so1"); | 342 | = UserInventoryHelpers.GetInventoryItem(scene.InventoryService, ua.PrincipalID, "Objects/so1"); |
342 | Assert.That(item, Is.Null); | 343 | Assert.That(item, Is.Null); |
343 | } | 344 | } |
344 | } | 345 | } |
345 | } | 346 | } |
347 | */ | ||
346 | } \ No newline at end of file | 348 | } \ No newline at end of file |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectCrossingTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectCrossingTests.cs index 5635c20..abf8c48 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectCrossingTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectCrossingTests.cs | |||
@@ -37,6 +37,7 @@ using OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation; | |||
37 | using OpenSim.Region.CoreModules.World.Land; | 37 | using OpenSim.Region.CoreModules.World.Land; |
38 | using OpenSim.Region.OptionalModules; | 38 | using OpenSim.Region.OptionalModules; |
39 | using OpenSim.Tests.Common; | 39 | using OpenSim.Tests.Common; |
40 | using System.Threading; | ||
40 | 41 | ||
41 | namespace OpenSim.Region.Framework.Scenes.Tests | 42 | namespace OpenSim.Region.Framework.Scenes.Tests |
42 | { | 43 | { |
@@ -64,6 +65,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
64 | [Test] | 65 | [Test] |
65 | public void TestCrossOnSameSimulator() | 66 | public void TestCrossOnSameSimulator() |
66 | { | 67 | { |
68 | |||
67 | TestHelpers.InMethod(); | 69 | TestHelpers.InMethod(); |
68 | // TestHelpers.EnableLogging(); | 70 | // TestHelpers.EnableLogging(); |
69 | 71 | ||
@@ -94,6 +96,9 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
94 | // Cross with a negative value | 96 | // Cross with a negative value |
95 | so1.AbsolutePosition = new Vector3(128, -10, 20); | 97 | so1.AbsolutePosition = new Vector3(128, -10, 20); |
96 | 98 | ||
99 | // crossing is async | ||
100 | Thread.Sleep(500); | ||
101 | |||
97 | Assert.IsNull(sceneA.GetSceneObjectGroup(so1Id)); | 102 | Assert.IsNull(sceneA.GetSceneObjectGroup(so1Id)); |
98 | Assert.NotNull(sceneB.GetSceneObjectGroup(so1Id)); | 103 | Assert.NotNull(sceneB.GetSceneObjectGroup(so1Id)); |
99 | } | 104 | } |
@@ -152,26 +157,28 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
152 | 157 | ||
153 | // Cross | 158 | // Cross |
154 | sceneA.SceneGraph.UpdatePrimGroupPosition( | 159 | sceneA.SceneGraph.UpdatePrimGroupPosition( |
155 | so1.LocalId, new Vector3(so1StartPos.X, so1StartPos.Y - 20, so1StartPos.Z), userId); | 160 | so1.LocalId, new Vector3(so1StartPos.X, so1StartPos.Y - 20, so1StartPos.Z), sp1SceneA.ControllingClient); |
161 | |||
162 | // crossing is async | ||
163 | Thread.Sleep(500); | ||
156 | 164 | ||
157 | SceneObjectGroup so1PostCross; | 165 | SceneObjectGroup so1PostCross; |
158 | 166 | ||
159 | { | 167 | ScenePresence sp1SceneAPostCross = sceneA.GetScenePresence(userId); |
160 | ScenePresence sp1SceneAPostCross = sceneA.GetScenePresence(userId); | 168 | Assert.IsTrue(sp1SceneAPostCross.IsChildAgent, "sp1SceneAPostCross.IsChildAgent unexpectedly false"); |
161 | Assert.IsTrue(sp1SceneAPostCross.IsChildAgent, "sp1SceneAPostCross.IsChildAgent unexpectedly false"); | ||
162 | 169 | ||
163 | ScenePresence sp1SceneBPostCross = sceneB.GetScenePresence(userId); | 170 | ScenePresence sp1SceneBPostCross = sceneB.GetScenePresence(userId); |
164 | TestClient sceneBTc = ((TestClient)sp1SceneBPostCross.ControllingClient); | 171 | TestClient sceneBTc = ((TestClient)sp1SceneBPostCross.ControllingClient); |
165 | sceneBTc.CompleteMovement(); | 172 | sceneBTc.CompleteMovement(); |
166 | 173 | ||
167 | Assert.IsFalse(sp1SceneBPostCross.IsChildAgent, "sp1SceneAPostCross.IsChildAgent unexpectedly true"); | 174 | Assert.IsFalse(sp1SceneBPostCross.IsChildAgent, "sp1SceneAPostCross.IsChildAgent unexpectedly true"); |
168 | Assert.IsTrue(sp1SceneBPostCross.IsSatOnObject); | 175 | Assert.IsTrue(sp1SceneBPostCross.IsSatOnObject); |
176 | |||
177 | Assert.IsNull(sceneA.GetSceneObjectGroup(so1Id), "uck"); | ||
178 | so1PostCross = sceneB.GetSceneObjectGroup(so1Id); | ||
179 | Assert.NotNull(so1PostCross); | ||
180 | Assert.AreEqual(1, so1PostCross.GetSittingAvatarsCount()); | ||
169 | 181 | ||
170 | Assert.IsNull(sceneA.GetSceneObjectGroup(so1Id), "uck"); | ||
171 | so1PostCross = sceneB.GetSceneObjectGroup(so1Id); | ||
172 | Assert.NotNull(so1PostCross); | ||
173 | Assert.AreEqual(1, so1PostCross.GetSittingAvatarsCount()); | ||
174 | } | ||
175 | 182 | ||
176 | Vector3 so1PostCrossPos = so1PostCross.AbsolutePosition; | 183 | Vector3 so1PostCrossPos = so1PostCross.AbsolutePosition; |
177 | 184 | ||
@@ -179,7 +186,10 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
179 | 186 | ||
180 | // Recross | 187 | // Recross |
181 | sceneB.SceneGraph.UpdatePrimGroupPosition( | 188 | sceneB.SceneGraph.UpdatePrimGroupPosition( |
182 | so1PostCross.LocalId, new Vector3(so1PostCrossPos.X, so1PostCrossPos.Y + 20, so1PostCrossPos.Z), userId); | 189 | so1PostCross.LocalId, new Vector3(so1PostCrossPos.X, so1PostCrossPos.Y + 20, so1PostCrossPos.Z), sp1SceneBPostCross.ControllingClient); |
190 | |||
191 | // crossing is async | ||
192 | Thread.Sleep(500); | ||
183 | 193 | ||
184 | { | 194 | { |
185 | ScenePresence sp1SceneBPostReCross = sceneB.GetScenePresence(userId); | 195 | ScenePresence sp1SceneBPostReCross = sceneB.GetScenePresence(userId); |
@@ -244,13 +254,22 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
244 | lmmA.EventManagerOnNoLandDataFromStorage(); | 254 | lmmA.EventManagerOnNoLandDataFromStorage(); |
245 | lmmB.EventManagerOnNoLandDataFromStorage(); | 255 | lmmB.EventManagerOnNoLandDataFromStorage(); |
246 | 256 | ||
257 | AgentCircuitData acd = SceneHelpers.GenerateAgentData(userId); | ||
258 | TestClient tc = new TestClient(acd, sceneA); | ||
259 | List<TestClient> destinationTestClients = new List<TestClient>(); | ||
260 | EntityTransferHelpers.SetupInformClientOfNeighbourTriggersNeighbourClientCreate(tc, destinationTestClients); | ||
261 | ScenePresence sp1SceneA = SceneHelpers.AddScenePresence(sceneA, tc, acd); | ||
262 | |||
247 | SceneObjectGroup so1 = SceneHelpers.AddSceneObject(sceneA, 1, userId, "", sceneObjectIdTail); | 263 | SceneObjectGroup so1 = SceneHelpers.AddSceneObject(sceneA, 1, userId, "", sceneObjectIdTail); |
248 | UUID so1Id = so1.UUID; | 264 | UUID so1Id = so1.UUID; |
249 | so1.AbsolutePosition = new Vector3(128, 10, 20); | 265 | so1.AbsolutePosition = new Vector3(128, 10, 20); |
250 | 266 | ||
251 | // Cross with a negative value. We must make this call rather than setting AbsolutePosition directly | 267 | // Cross with a negative value. We must make this call rather than setting AbsolutePosition directly |
252 | // because only this will execute permission checks in the source region. | 268 | // because only this will execute permission checks in the source region. |
253 | sceneA.SceneGraph.UpdatePrimGroupPosition(so1.LocalId, new Vector3(128, -10, 20), userId); | 269 | sceneA.SceneGraph.UpdatePrimGroupPosition(so1.LocalId, new Vector3(128, -10, 20), sp1SceneA.ControllingClient); |
270 | |||
271 | // crossing is async | ||
272 | Thread.Sleep(500); | ||
254 | 273 | ||
255 | Assert.IsNull(sceneA.GetSceneObjectGroup(so1Id)); | 274 | Assert.IsNull(sceneA.GetSceneObjectGroup(so1Id)); |
256 | Assert.NotNull(sceneB.GetSceneObjectGroup(so1Id)); | 275 | Assert.NotNull(sceneB.GetSceneObjectGroup(so1Id)); |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectDeRezTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectDeRezTests.cs index 1c396ac..b84ecac 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectDeRezTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectDeRezTests.cs | |||
@@ -77,16 +77,19 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
77 | public void TestDeRezSceneObject() | 77 | public void TestDeRezSceneObject() |
78 | { | 78 | { |
79 | TestHelpers.InMethod(); | 79 | TestHelpers.InMethod(); |
80 | 80 | ||
81 | UUID userId = UUID.Parse("10000000-0000-0000-0000-000000000001"); | 81 | UUID userId = UUID.Parse("10000000-0000-0000-0000-000000000001"); |
82 | 82 | ||
83 | TestScene scene = new SceneHelpers().SetupScene(); | 83 | TestScene scene = new SceneHelpers().SetupScene(); |
84 | SceneHelpers.SetupSceneModules(scene, new PermissionsModule()); | 84 | IConfigSource configSource = new IniConfigSource(); |
85 | TestClient client = (TestClient)SceneHelpers.AddScenePresence(scene, userId).ControllingClient; | 85 | IConfig config = configSource.AddConfig("Startup"); |
86 | 86 | config.Set("serverside_object_permissions", true); | |
87 | SceneHelpers.SetupSceneModules(scene, configSource, new object[] { new DefaultPermissionsModule() }); | ||
88 | IClientAPI client = SceneHelpers.AddScenePresence(scene, userId).ControllingClient; | ||
89 | |||
87 | // Turn off the timer on the async sog deleter - we'll crank it by hand for this test. | 90 | // Turn off the timer on the async sog deleter - we'll crank it by hand for this test. |
88 | AsyncSceneObjectGroupDeleter sogd = scene.SceneObjectGroupDeleter; | 91 | AsyncSceneObjectGroupDeleter sogd = scene.SceneObjectGroupDeleter; |
89 | sogd.Enabled = false; | 92 | sogd.Enabled = false; |
90 | 93 | ||
91 | SceneObjectGroup so = SceneHelpers.AddSceneObject(scene, "so1", userId); | 94 | SceneObjectGroup so = SceneHelpers.AddSceneObject(scene, "so1", userId); |
92 | uint soLocalId = so.LocalId; | 95 | uint soLocalId = so.LocalId; |
@@ -97,16 +100,13 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
97 | 100 | ||
98 | // Check that object isn't deleted until we crank the sogd handle. | 101 | // Check that object isn't deleted until we crank the sogd handle. |
99 | SceneObjectPart retrievedPart = scene.GetSceneObjectPart(so.LocalId); | 102 | SceneObjectPart retrievedPart = scene.GetSceneObjectPart(so.LocalId); |
100 | Assert.That(retrievedPart, Is.Not.Null); | 103 | // Assert.That(retrievedPart, Is.Not.Null); |
101 | Assert.That(retrievedPart.ParentGroup.IsDeleted, Is.False); | 104 | // Assert.That(retrievedPart.ParentGroup.IsDeleted, Is.False); |
102 | 105 | ||
103 | sogd.InventoryDeQueueAndDelete(); | 106 | sogd.InventoryDeQueueAndDelete(); |
104 | |||
105 | SceneObjectPart retrievedPart2 = scene.GetSceneObjectPart(so.LocalId); | ||
106 | Assert.That(retrievedPart2, Is.Null); | ||
107 | 107 | ||
108 | Assert.That(client.ReceivedKills.Count, Is.EqualTo(1)); | 108 | // SceneObjectPart retrievedPart2 = scene.GetSceneObjectPart(so.LocalId); |
109 | Assert.That(client.ReceivedKills[0], Is.EqualTo(soLocalId)); | 109 | Assert.That(retrievedPart, Is.Null); |
110 | } | 110 | } |
111 | 111 | ||
112 | /// <summary> | 112 | /// <summary> |
@@ -133,7 +133,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
133 | SceneHelpers.SetupSceneModules(sceneB, config, etmB); | 133 | SceneHelpers.SetupSceneModules(sceneB, config, etmB); |
134 | 134 | ||
135 | // We need this for derez | 135 | // We need this for derez |
136 | SceneHelpers.SetupSceneModules(sceneA, new PermissionsModule()); | 136 | //SceneHelpers.SetupSceneModules(sceneA, new PermissionsModule()); |
137 | 137 | ||
138 | UserAccount uaA = UserAccountHelpers.CreateUserWithInventory(sceneA, "Andy", "AAA", 0x1, ""); | 138 | UserAccount uaA = UserAccountHelpers.CreateUserWithInventory(sceneA, "Andy", "AAA", 0x1, ""); |
139 | UserAccount uaB = UserAccountHelpers.CreateUserWithInventory(sceneA, "Brian", "BBB", 0x2, ""); | 139 | UserAccount uaB = UserAccountHelpers.CreateUserWithInventory(sceneA, "Brian", "BBB", 0x2, ""); |
@@ -153,52 +153,49 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
153 | uint soLocalId = so.LocalId; | 153 | uint soLocalId = so.LocalId; |
154 | 154 | ||
155 | sceneA.DeleteSceneObject(so, false); | 155 | sceneA.DeleteSceneObject(so, false); |
156 | |||
157 | Assert.That(clientA.ReceivedKills.Count, Is.EqualTo(1)); | ||
158 | Assert.That(clientA.ReceivedKills[0], Is.EqualTo(soLocalId)); | ||
159 | |||
160 | Assert.That(childClientsB[0].ReceivedKills.Count, Is.EqualTo(1)); | ||
161 | Assert.That(childClientsB[0].ReceivedKills[0], Is.EqualTo(soLocalId)); | ||
162 | } | 156 | } |
163 | 157 | ||
164 | /// <summary> | 158 | /// <summary> |
165 | /// Test deleting an object from a scene where the deleter is not the owner | 159 | /// Test deleting an object from a scene where the deleter is not the owner |
166 | /// </summary> | 160 | /// </summary> |
167 | /// <remarks> | 161 | /// <remarks> |
168 | /// This test assumes that the deleter is not a god. | 162 | /// This test assumes that the deleter is not a god. |
169 | /// </remarks> | 163 | /// </remarks> |
170 | [Test] | 164 | [Test] |
171 | public void TestDeRezSceneObjectNotOwner() | 165 | public void TestDeRezSceneObjectNotOwner() |
172 | { | 166 | { |
173 | TestHelpers.InMethod(); | 167 | TestHelpers.InMethod(); |
174 | // log4net.Config.XmlConfigurator.Configure(); | 168 | // log4net.Config.XmlConfigurator.Configure(); |
175 | 169 | ||
176 | UUID userId = UUID.Parse("10000000-0000-0000-0000-000000000001"); | 170 | UUID userId = UUID.Parse("10000000-0000-0000-0000-000000000001"); |
177 | UUID objectOwnerId = UUID.Parse("20000000-0000-0000-0000-000000000001"); | 171 | UUID objectOwnerId = UUID.Parse("20000000-0000-0000-0000-000000000001"); |
178 | 172 | ||
179 | TestScene scene = new SceneHelpers().SetupScene(); | 173 | TestScene scene = new SceneHelpers().SetupScene(); |
180 | SceneHelpers.SetupSceneModules(scene, new PermissionsModule()); | 174 | IConfigSource configSource = new IniConfigSource(); |
175 | IConfig config = configSource.AddConfig("Startup"); | ||
176 | config.Set("serverside_object_permissions", true); | ||
177 | SceneHelpers.SetupSceneModules(scene, configSource, new object[] { new DefaultPermissionsModule() }); | ||
181 | IClientAPI client = SceneHelpers.AddScenePresence(scene, userId).ControllingClient; | 178 | IClientAPI client = SceneHelpers.AddScenePresence(scene, userId).ControllingClient; |
182 | 179 | ||
183 | // Turn off the timer on the async sog deleter - we'll crank it by hand for this test. | 180 | // Turn off the timer on the async sog deleter - we'll crank it by hand for this test. |
184 | AsyncSceneObjectGroupDeleter sogd = scene.SceneObjectGroupDeleter; | 181 | AsyncSceneObjectGroupDeleter sogd = scene.SceneObjectGroupDeleter; |
185 | sogd.Enabled = false; | 182 | sogd.Enabled = false; |
186 | 183 | ||
187 | SceneObjectPart part | 184 | SceneObjectPart part |
188 | = new SceneObjectPart(objectOwnerId, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero); | 185 | = new SceneObjectPart(objectOwnerId, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero); |
189 | part.Name = "obj1"; | 186 | part.Name = "obj1"; |
190 | scene.AddNewSceneObject(new SceneObjectGroup(part), false); | 187 | scene.AddNewSceneObject(new SceneObjectGroup(part), false); |
191 | List<uint> localIds = new List<uint>(); | 188 | List<uint> localIds = new List<uint>(); |
192 | localIds.Add(part.LocalId); | 189 | localIds.Add(part.LocalId); |
193 | 190 | ||
194 | scene.DeRezObjects(client, localIds, UUID.Zero, DeRezAction.Delete, UUID.Zero); | 191 | scene.DeRezObjects(client, localIds, UUID.Zero, DeRezAction.Delete, UUID.Zero); |
195 | sogd.InventoryDeQueueAndDelete(); | 192 | sogd.InventoryDeQueueAndDelete(); |
196 | 193 | ||
197 | // Object should still be in the scene. | 194 | // Object should still be in the scene. |
198 | SceneObjectPart retrievedPart = scene.GetSceneObjectPart(part.LocalId); | 195 | SceneObjectPart retrievedPart = scene.GetSceneObjectPart(part.LocalId); |
199 | Assert.That(retrievedPart.UUID, Is.EqualTo(part.UUID)); | 196 | Assert.That(retrievedPart.UUID, Is.EqualTo(part.UUID)); |
200 | } | 197 | } |
201 | 198 | ||
202 | /// <summary> | 199 | /// <summary> |
203 | /// Test deleting an object asynchronously to user inventory. | 200 | /// Test deleting an object asynchronously to user inventory. |
204 | /// </summary> | 201 | /// </summary> |
@@ -214,7 +211,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
214 | TestScene scene = new SceneHelpers().SetupScene(); | 211 | TestScene scene = new SceneHelpers().SetupScene(); |
215 | 212 | ||
216 | IConfigSource configSource = new IniConfigSource(); | 213 | IConfigSource configSource = new IniConfigSource(); |
217 | IConfig config = configSource.AddConfig("Modules"); | 214 | IConfig config = configSource.AddConfig("Modules"); |
218 | config.Set("InventoryAccessModule", "BasicInventoryAccessModule"); | 215 | config.Set("InventoryAccessModule", "BasicInventoryAccessModule"); |
219 | SceneHelpers.SetupSceneModules( | 216 | SceneHelpers.SetupSceneModules( |
220 | scene, configSource, new object[] { new BasicInventoryAccessModule() }); | 217 | scene, configSource, new object[] { new BasicInventoryAccessModule() }); |
@@ -234,10 +231,10 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
234 | IClientAPI client = SceneHelpers.AddScenePresence(scene, agentId).ControllingClient; | 231 | IClientAPI client = SceneHelpers.AddScenePresence(scene, agentId).ControllingClient; |
235 | scene.DeRezObjects(client, new List<uint>() { so.LocalId }, UUID.Zero, DeRezAction.Take, folder1.ID); | 232 | scene.DeRezObjects(client, new List<uint>() { so.LocalId }, UUID.Zero, DeRezAction.Take, folder1.ID); |
236 | 233 | ||
237 | SceneObjectPart retrievedPart = scene.GetSceneObjectPart(so.LocalId); | 234 | // SceneObjectPart retrievedPart = scene.GetSceneObjectPart(so.LocalId); |
238 | 235 | ||
239 | Assert.That(retrievedPart, Is.Not.Null); | 236 | // Assert.That(retrievedPart, Is.Not.Null); |
240 | Assert.That(so.IsDeleted, Is.False); | 237 | // Assert.That(so.IsDeleted, Is.False); |
241 | 238 | ||
242 | sogd.InventoryDeQueueAndDelete(); | 239 | sogd.InventoryDeQueueAndDelete(); |
243 | 240 | ||
@@ -260,4 +257,4 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
260 | // Assert.That(retrievedPart, Is.Null); | 257 | // Assert.That(retrievedPart, Is.Null); |
261 | } | 258 | } |
262 | } | 259 | } |
263 | } \ No newline at end of file | 260 | } |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectLinkingTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectLinkingTests.cs index e6d5a2f..41f61ac 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectLinkingTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectLinkingTests.cs | |||
@@ -66,8 +66,8 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
66 | public void TestLinkDelink2SceneObjects() | 66 | public void TestLinkDelink2SceneObjects() |
67 | { | 67 | { |
68 | TestHelpers.InMethod(); | 68 | TestHelpers.InMethod(); |
69 | 69 | ||
70 | bool debugtest = false; | 70 | bool debugtest = false; |
71 | 71 | ||
72 | Scene scene = new SceneHelpers().SetupScene(); | 72 | Scene scene = new SceneHelpers().SetupScene(); |
73 | SceneObjectGroup grp1 = SceneHelpers.AddSceneObject(scene); | 73 | SceneObjectGroup grp1 = SceneHelpers.AddSceneObject(scene); |
@@ -83,7 +83,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
83 | 83 | ||
84 | // <180,0,0> | 84 | // <180,0,0> |
85 | grp2.UpdateGroupRotationR(Quaternion.CreateFromEulers(180 * Utils.DEG_TO_RAD, 0, 0)); | 85 | grp2.UpdateGroupRotationR(Quaternion.CreateFromEulers(180 * Utils.DEG_TO_RAD, 0, 0)); |
86 | 86 | ||
87 | // Required for linking | 87 | // Required for linking |
88 | grp1.RootPart.ClearUpdateSchedule(); | 88 | grp1.RootPart.ClearUpdateSchedule(); |
89 | grp2.RootPart.ClearUpdateSchedule(); | 89 | grp2.RootPart.ClearUpdateSchedule(); |
@@ -111,7 +111,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
111 | } | 111 | } |
112 | 112 | ||
113 | // root part should have no offset position or rotation | 113 | // root part should have no offset position or rotation |
114 | Assert.That(part1.OffsetPosition == Vector3.Zero && part1.RotationOffset == Quaternion.Identity, | 114 | Assert.That(part1.OffsetPosition == Vector3.Zero && part1.RotationOffset == Quaternion.Identity, |
115 | "root part should have no offset position or rotation"); | 115 | "root part should have no offset position or rotation"); |
116 | 116 | ||
117 | // offset position should be root part position - part2.absolute position. | 117 | // offset position should be root part position - part2.absolute position. |
@@ -125,13 +125,13 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
125 | // There's a euler anomoly at 180, 0, 0 so expect 180 to turn into -180. | 125 | // There's a euler anomoly at 180, 0, 0 so expect 180 to turn into -180. |
126 | part1.RotationOffset.GetEulerAngles(out roll, out pitch, out yaw); | 126 | part1.RotationOffset.GetEulerAngles(out roll, out pitch, out yaw); |
127 | Vector3 rotEuler1 = new Vector3(roll * Utils.RAD_TO_DEG, pitch * Utils.RAD_TO_DEG, yaw * Utils.RAD_TO_DEG); | 127 | Vector3 rotEuler1 = new Vector3(roll * Utils.RAD_TO_DEG, pitch * Utils.RAD_TO_DEG, yaw * Utils.RAD_TO_DEG); |
128 | 128 | ||
129 | if (debugtest) | 129 | if (debugtest) |
130 | m_log.Debug(rotEuler1); | 130 | m_log.Debug(rotEuler1); |
131 | 131 | ||
132 | part2.RotationOffset.GetEulerAngles(out roll, out pitch, out yaw); | 132 | part2.RotationOffset.GetEulerAngles(out roll, out pitch, out yaw); |
133 | Vector3 rotEuler2 = new Vector3(roll * Utils.RAD_TO_DEG, pitch * Utils.RAD_TO_DEG, yaw * Utils.RAD_TO_DEG); | 133 | Vector3 rotEuler2 = new Vector3(roll * Utils.RAD_TO_DEG, pitch * Utils.RAD_TO_DEG, yaw * Utils.RAD_TO_DEG); |
134 | 134 | ||
135 | if (debugtest) | 135 | if (debugtest) |
136 | m_log.Debug(rotEuler2); | 136 | m_log.Debug(rotEuler2); |
137 | 137 | ||
@@ -153,7 +153,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
153 | public void TestLinkDelink2groups4SceneObjects() | 153 | public void TestLinkDelink2groups4SceneObjects() |
154 | { | 154 | { |
155 | TestHelpers.InMethod(); | 155 | TestHelpers.InMethod(); |
156 | 156 | ||
157 | bool debugtest = false; | 157 | bool debugtest = false; |
158 | 158 | ||
159 | Scene scene = new SceneHelpers().SetupScene(); | 159 | Scene scene = new SceneHelpers().SetupScene(); |
@@ -194,7 +194,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
194 | 194 | ||
195 | // Link grp4 to grp3. | 195 | // Link grp4 to grp3. |
196 | grp3.LinkToGroup(grp4); | 196 | grp3.LinkToGroup(grp4); |
197 | 197 | ||
198 | // At this point we should have 4 parts total in two groups. | 198 | // At this point we should have 4 parts total in two groups. |
199 | Assert.That(grp1.Parts.Length == 2, "Group1 children count should be 2"); | 199 | Assert.That(grp1.Parts.Length == 2, "Group1 children count should be 2"); |
200 | Assert.That(grp2.IsDeleted, "Group 2 was not registered as deleted after link."); | 200 | Assert.That(grp2.IsDeleted, "Group 2 was not registered as deleted after link."); |
@@ -202,7 +202,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
202 | Assert.That(grp3.Parts.Length == 2, "Group3 children count should be 2"); | 202 | Assert.That(grp3.Parts.Length == 2, "Group3 children count should be 2"); |
203 | Assert.That(grp4.IsDeleted, "Group 4 was not registered as deleted after link."); | 203 | Assert.That(grp4.IsDeleted, "Group 4 was not registered as deleted after link."); |
204 | Assert.That(grp4.Parts.Length, Is.EqualTo(0), "Group 4 still contained parts after delink."); | 204 | Assert.That(grp4.Parts.Length, Is.EqualTo(0), "Group 4 still contained parts after delink."); |
205 | 205 | ||
206 | if (debugtest) | 206 | if (debugtest) |
207 | { | 207 | { |
208 | m_log.Debug("--------After Link-------"); | 208 | m_log.Debug("--------After Link-------"); |
@@ -273,13 +273,13 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
273 | Assert.That(part2.AbsolutePosition == Vector3.Zero, "Badness 1"); | 273 | Assert.That(part2.AbsolutePosition == Vector3.Zero, "Badness 1"); |
274 | Assert.That(part4.OffsetPosition == new Vector3(20, 20, 20), "Badness 2"); | 274 | Assert.That(part4.OffsetPosition == new Vector3(20, 20, 20), "Badness 2"); |
275 | Quaternion compareQuaternion = new Quaternion(0, 0.7071068f, 0, 0.7071068f); | 275 | Quaternion compareQuaternion = new Quaternion(0, 0.7071068f, 0, 0.7071068f); |
276 | Assert.That((part4.RotationOffset.X - compareQuaternion.X < 0.00003) | 276 | Assert.That((part4.RotationOffset.X - compareQuaternion.X < 0.00003) |
277 | && (part4.RotationOffset.Y - compareQuaternion.Y < 0.00003) | 277 | && (part4.RotationOffset.Y - compareQuaternion.Y < 0.00003) |
278 | && (part4.RotationOffset.Z - compareQuaternion.Z < 0.00003) | 278 | && (part4.RotationOffset.Z - compareQuaternion.Z < 0.00003) |
279 | && (part4.RotationOffset.W - compareQuaternion.W < 0.00003), | 279 | && (part4.RotationOffset.W - compareQuaternion.W < 0.00003), |
280 | "Badness 3"); | 280 | "Badness 3"); |
281 | } | 281 | } |
282 | 282 | ||
283 | /// <summary> | 283 | /// <summary> |
284 | /// Test that a new scene object which is already linked is correctly persisted to the persistence layer. | 284 | /// Test that a new scene object which is already linked is correctly persisted to the persistence layer. |
285 | /// </summary> | 285 | /// </summary> |
@@ -288,37 +288,37 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
288 | { | 288 | { |
289 | TestHelpers.InMethod(); | 289 | TestHelpers.InMethod(); |
290 | //log4net.Config.XmlConfigurator.Configure(); | 290 | //log4net.Config.XmlConfigurator.Configure(); |
291 | 291 | ||
292 | TestScene scene = new SceneHelpers().SetupScene(); | 292 | TestScene scene = new SceneHelpers().SetupScene(); |
293 | 293 | ||
294 | string rootPartName = "rootpart"; | 294 | string rootPartName = "rootpart"; |
295 | UUID rootPartUuid = new UUID("00000000-0000-0000-0000-000000000001"); | 295 | UUID rootPartUuid = new UUID("00000000-0000-0000-0000-000000000001"); |
296 | string linkPartName = "linkpart"; | 296 | string linkPartName = "linkpart"; |
297 | UUID linkPartUuid = new UUID("00000000-0000-0000-0001-000000000000"); | 297 | UUID linkPartUuid = new UUID("00000000-0000-0000-0001-000000000000"); |
298 | 298 | ||
299 | SceneObjectPart rootPart | 299 | SceneObjectPart rootPart |
300 | = new SceneObjectPart(UUID.Zero, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero) | 300 | = new SceneObjectPart(UUID.Zero, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero) |
301 | { Name = rootPartName, UUID = rootPartUuid }; | 301 | { Name = rootPartName, UUID = rootPartUuid }; |
302 | SceneObjectPart linkPart | 302 | SceneObjectPart linkPart |
303 | = new SceneObjectPart(UUID.Zero, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero) | 303 | = new SceneObjectPart(UUID.Zero, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero) |
304 | { Name = linkPartName, UUID = linkPartUuid }; | 304 | { Name = linkPartName, UUID = linkPartUuid }; |
305 | 305 | ||
306 | SceneObjectGroup sog = new SceneObjectGroup(rootPart); | 306 | SceneObjectGroup sog = new SceneObjectGroup(rootPart); |
307 | sog.AddPart(linkPart); | 307 | sog.AddPart(linkPart); |
308 | scene.AddNewSceneObject(sog, true); | 308 | scene.AddNewSceneObject(sog, true); |
309 | 309 | ||
310 | // In a test, we have to crank the backup handle manually. Normally this would be done by the timer invoked | 310 | // In a test, we have to crank the backup handle manually. Normally this would be done by the timer invoked |
311 | // scene backup thread. | 311 | // scene backup thread. |
312 | scene.Backup(true); | 312 | scene.Backup(true); |
313 | 313 | ||
314 | List<SceneObjectGroup> storedObjects = scene.SimulationDataService.LoadObjects(scene.RegionInfo.RegionID); | 314 | List<SceneObjectGroup> storedObjects = scene.SimulationDataService.LoadObjects(scene.RegionInfo.RegionID); |
315 | 315 | ||
316 | Assert.That(storedObjects.Count, Is.EqualTo(1)); | 316 | Assert.That(storedObjects.Count, Is.EqualTo(1)); |
317 | Assert.That(storedObjects[0].Parts.Length, Is.EqualTo(2)); | 317 | Assert.That(storedObjects[0].Parts.Length, Is.EqualTo(2)); |
318 | Assert.That(storedObjects[0].ContainsPart(rootPartUuid)); | 318 | Assert.That(storedObjects[0].ContainsPart(rootPartUuid)); |
319 | Assert.That(storedObjects[0].ContainsPart(linkPartUuid)); | 319 | Assert.That(storedObjects[0].ContainsPart(linkPartUuid)); |
320 | } | 320 | } |
321 | 321 | ||
322 | /// <summary> | 322 | /// <summary> |
323 | /// Test that a delink of a previously linked object is correctly persisted to the database | 323 | /// Test that a delink of a previously linked object is correctly persisted to the database |
324 | /// </summary> | 324 | /// </summary> |
@@ -327,20 +327,20 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
327 | { | 327 | { |
328 | TestHelpers.InMethod(); | 328 | TestHelpers.InMethod(); |
329 | //log4net.Config.XmlConfigurator.Configure(); | 329 | //log4net.Config.XmlConfigurator.Configure(); |
330 | 330 | ||
331 | TestScene scene = new SceneHelpers().SetupScene(); | 331 | TestScene scene = new SceneHelpers().SetupScene(); |
332 | 332 | ||
333 | string rootPartName = "rootpart"; | 333 | string rootPartName = "rootpart"; |
334 | UUID rootPartUuid = new UUID("00000000-0000-0000-0000-000000000001"); | 334 | UUID rootPartUuid = new UUID("00000000-0000-0000-0000-000000000001"); |
335 | string linkPartName = "linkpart"; | 335 | string linkPartName = "linkpart"; |
336 | UUID linkPartUuid = new UUID("00000000-0000-0000-0001-000000000000"); | 336 | UUID linkPartUuid = new UUID("00000000-0000-0000-0001-000000000000"); |
337 | 337 | ||
338 | SceneObjectPart rootPart | 338 | SceneObjectPart rootPart |
339 | = new SceneObjectPart(UUID.Zero, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero) | 339 | = new SceneObjectPart(UUID.Zero, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero) |
340 | { Name = rootPartName, UUID = rootPartUuid }; | 340 | { Name = rootPartName, UUID = rootPartUuid }; |
341 | 341 | ||
342 | SceneObjectPart linkPart | 342 | SceneObjectPart linkPart |
343 | = new SceneObjectPart(UUID.Zero, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero) | 343 | = new SceneObjectPart(UUID.Zero, PrimitiveBaseShape.Default, Vector3.Zero, Quaternion.Identity, Vector3.Zero) |
344 | { Name = linkPartName, UUID = linkPartUuid }; | 344 | { Name = linkPartName, UUID = linkPartUuid }; |
345 | SceneObjectGroup linkGroup = new SceneObjectGroup(linkPart); | 345 | SceneObjectGroup linkGroup = new SceneObjectGroup(linkPart); |
346 | scene.AddNewSceneObject(linkGroup, true); | 346 | scene.AddNewSceneObject(linkGroup, true); |
@@ -359,13 +359,15 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
359 | SceneObjectGroup groupToDelete = sog.DelinkFromGroup(linkPart, false); | 359 | SceneObjectGroup groupToDelete = sog.DelinkFromGroup(linkPart, false); |
360 | Assert.IsFalse(groupToDelete.GroupContainsForeignPrims); | 360 | Assert.IsFalse(groupToDelete.GroupContainsForeignPrims); |
361 | 361 | ||
362 | /* backup is async | ||
362 | scene.DeleteSceneObject(groupToDelete, false); | 363 | scene.DeleteSceneObject(groupToDelete, false); |
363 | 364 | ||
364 | List<SceneObjectGroup> storedObjects = scene.SimulationDataService.LoadObjects(scene.RegionInfo.RegionID); | 365 | List<SceneObjectGroup> storedObjects = scene.SimulationDataService.LoadObjects(scene.RegionInfo.RegionID); |
365 | 366 | ||
366 | Assert.AreEqual(1, storedObjects.Count); | 367 | Assert.AreEqual(1, storedObjects.Count); |
367 | Assert.AreEqual(1, storedObjects[0].Parts.Length); | 368 | Assert.AreEqual(1, storedObjects[0].Parts.Length); |
368 | Assert.IsTrue(storedObjects[0].ContainsPart(rootPartUuid)); | 369 | Assert.IsTrue(storedObjects[0].ContainsPart(rootPartUuid)); |
370 | */ | ||
369 | } | 371 | } |
370 | } | 372 | } |
371 | } | 373 | } |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectResizeTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectResizeTests.cs index 975c4d9..8b3a7e9 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectResizeTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectResizeTests.cs | |||
@@ -60,6 +60,8 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
60 | Assert.That(g1Post.RootPart.Scale.X, Is.EqualTo(2)); | 60 | Assert.That(g1Post.RootPart.Scale.X, Is.EqualTo(2)); |
61 | Assert.That(g1Post.RootPart.Scale.Y, Is.EqualTo(3)); | 61 | Assert.That(g1Post.RootPart.Scale.Y, Is.EqualTo(3)); |
62 | Assert.That(g1Post.RootPart.Scale.Z, Is.EqualTo(4)); | 62 | Assert.That(g1Post.RootPart.Scale.Z, Is.EqualTo(4)); |
63 | |||
64 | // Assert.That(g1Post.RootPart.UndoCount, Is.EqualTo(1)); | ||
63 | } | 65 | } |
64 | 66 | ||
65 | /// <summary> | 67 | /// <summary> |
@@ -72,8 +74,8 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
72 | //log4net.Config.XmlConfigurator.Configure(); | 74 | //log4net.Config.XmlConfigurator.Configure(); |
73 | 75 | ||
74 | Scene scene = new SceneHelpers().SetupScene(); | 76 | Scene scene = new SceneHelpers().SetupScene(); |
75 | 77 | UUID owner = UUID.Random(); | |
76 | SceneObjectGroup g1 = SceneHelpers.CreateSceneObject(2, UUID.Zero); | 78 | SceneObjectGroup g1 = SceneHelpers.CreateSceneObject(2, owner); |
77 | g1.RootPart.Scale = new Vector3(2, 3, 4); | 79 | g1.RootPart.Scale = new Vector3(2, 3, 4); |
78 | g1.Parts[1].Scale = new Vector3(5, 6, 7); | 80 | g1.Parts[1].Scale = new Vector3(5, 6, 7); |
79 | 81 | ||
diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectSpatialTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectSpatialTests.cs index e00defd..c2c7822 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectSpatialTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectSpatialTests.cs | |||
@@ -138,8 +138,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
138 | 138 | ||
139 | SceneObjectPart childPart = so.Parts[1]; | 139 | SceneObjectPart childPart = so.Parts[1]; |
140 | 140 | ||
141 | // FIXME: Should be childPosition after rotation? | 141 | Assert.That(childPart.AbsolutePosition, Is.EqualTo(childPosition)); |
142 | Assert.That(childPart.AbsolutePosition, Is.EqualTo(rootPartPosition + childOffsetPosition)); | ||
143 | 142 | ||
144 | Assert.That(childPart.GroupPosition, Is.EqualTo(rootPartPosition)); | 143 | Assert.That(childPart.GroupPosition, Is.EqualTo(rootPartPosition)); |
145 | Assert.That(childPart.GetWorldPosition(), Is.EqualTo(childPosition)); | 144 | Assert.That(childPart.GetWorldPosition(), Is.EqualTo(childPosition)); |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectStatusTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectStatusTests.cs index 1737e3c..8d88083 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectStatusTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectStatusTests.cs | |||
@@ -71,7 +71,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
71 | m_so1.ScriptSetTemporaryStatus(false); | 71 | m_so1.ScriptSetTemporaryStatus(false); |
72 | 72 | ||
73 | Assert.That(m_so1.RootPart.Flags, Is.EqualTo(PrimFlags.None)); | 73 | Assert.That(m_so1.RootPart.Flags, Is.EqualTo(PrimFlags.None)); |
74 | Assert.That(m_so1.Backup, Is.True); | 74 | Assert.That(m_so1.Backup, Is.True); |
75 | } | 75 | } |
76 | 76 | ||
77 | [Test] | 77 | [Test] |
@@ -91,7 +91,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
91 | 91 | ||
92 | m_so1.ScriptSetPhantomStatus(false); | 92 | m_so1.ScriptSetPhantomStatus(false); |
93 | 93 | ||
94 | Assert.That(rootPart.Flags, Is.EqualTo(PrimFlags.None)); | 94 | Assert.That(rootPart.Flags, Is.EqualTo(PrimFlags.None)); |
95 | } | 95 | } |
96 | 96 | ||
97 | [Test] | 97 | [Test] |
@@ -107,11 +107,12 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
107 | m_so1.ScriptSetVolumeDetect(true); | 107 | m_so1.ScriptSetVolumeDetect(true); |
108 | 108 | ||
109 | // Console.WriteLine("so.RootPart.Flags [{0}]", so.RootPart.Flags); | 109 | // Console.WriteLine("so.RootPart.Flags [{0}]", so.RootPart.Flags); |
110 | Assert.That(rootPart.Flags, Is.EqualTo(PrimFlags.Phantom)); | 110 | // PrimFlags.JointLP2P is incorrect it now means VolumeDetect (as defined by viewers) |
111 | Assert.That(rootPart.Flags, Is.EqualTo(PrimFlags.Phantom | PrimFlags.JointLP2P)); | ||
111 | 112 | ||
112 | m_so1.ScriptSetVolumeDetect(false); | 113 | m_so1.ScriptSetVolumeDetect(false); |
113 | 114 | ||
114 | Assert.That(rootPart.Flags, Is.EqualTo(PrimFlags.None)); | 115 | Assert.That(rootPart.Flags, Is.EqualTo(PrimFlags.None)); |
115 | } | 116 | } |
116 | 117 | ||
117 | [Test] | 118 | [Test] |
@@ -146,13 +147,14 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
146 | m_so1.ScriptSetPhysicsStatus(true); | 147 | m_so1.ScriptSetPhysicsStatus(true); |
147 | m_so1.ScriptSetVolumeDetect(true); | 148 | m_so1.ScriptSetVolumeDetect(true); |
148 | 149 | ||
149 | Assert.That(rootPart.Flags, Is.EqualTo(PrimFlags.Phantom | PrimFlags.Physics)); | 150 | // PrimFlags.JointLP2P is incorrect it now means VolumeDetect (as defined by viewers) |
151 | Assert.That(rootPart.Flags, Is.EqualTo(PrimFlags.Phantom | PrimFlags.Physics | PrimFlags.JointLP2P)); | ||
150 | 152 | ||
151 | m_so1.ScriptSetVolumeDetect(false); | 153 | m_so1.ScriptSetVolumeDetect(false); |
152 | 154 | ||
153 | Assert.That(rootPart.Flags, Is.EqualTo(PrimFlags.Physics)); | 155 | Assert.That(rootPart.Flags, Is.EqualTo(PrimFlags.Physics)); |
154 | } | 156 | } |
155 | 157 | ||
156 | [Test] | 158 | [Test] |
157 | public void TestSetPhysicsLinkset() | 159 | public void TestSetPhysicsLinkset() |
158 | { | 160 | { |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectUndoRedoTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectUndoRedoTests.cs index af3ce8e..340da9c 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectUndoRedoTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectUndoRedoTests.cs | |||
@@ -25,6 +25,7 @@ | |||
25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. | 25 | * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
26 | */ | 26 | */ |
27 | 27 | ||
28 | /* undo has changed, this tests dont apply without large changes | ||
28 | using System; | 29 | using System; |
29 | using System.Reflection; | 30 | using System.Reflection; |
30 | using NUnit.Framework; | 31 | using NUnit.Framework; |
@@ -179,4 +180,5 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
179 | Assert.That(g1.GroupScale, Is.EqualTo(newSize)); | 180 | Assert.That(g1.GroupScale, Is.EqualTo(newSize)); |
180 | } | 181 | } |
181 | } | 182 | } |
182 | } \ No newline at end of file | 183 | } |
184 | */ \ No newline at end of file | ||
diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectUserGroupTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectUserGroupTests.cs index aadf7c6..4ec69cd 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/SceneObjectUserGroupTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/SceneObjectUserGroupTests.cs | |||
@@ -42,7 +42,7 @@ using OpenSim.Tests.Common; | |||
42 | namespace OpenSim.Region.Framework.Scenes.Tests | 42 | namespace OpenSim.Region.Framework.Scenes.Tests |
43 | { | 43 | { |
44 | [TestFixture] | 44 | [TestFixture] |
45 | public class SceneObjectUserGroupTests : OpenSimTestCase | 45 | public class SceneObjectUserGroupTests |
46 | { | 46 | { |
47 | /// <summary> | 47 | /// <summary> |
48 | /// Test share with group object functionality | 48 | /// Test share with group object functionality |
@@ -52,31 +52,32 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
52 | public void TestShareWithGroup() | 52 | public void TestShareWithGroup() |
53 | { | 53 | { |
54 | TestHelpers.InMethod(); | 54 | TestHelpers.InMethod(); |
55 | 55 | // log4net.Config.XmlConfigurator.Configure(); | |
56 | |||
56 | UUID userId = UUID.Parse("10000000-0000-0000-0000-000000000001"); | 57 | UUID userId = UUID.Parse("10000000-0000-0000-0000-000000000001"); |
57 | 58 | ||
58 | TestScene scene = new SceneHelpers().SetupScene(); | 59 | TestScene scene = new SceneHelpers().SetupScene(); |
59 | IConfigSource configSource = new IniConfigSource(); | 60 | IConfigSource configSource = new IniConfigSource(); |
60 | 61 | ||
61 | IConfig startupConfig = configSource.AddConfig("Startup"); | 62 | IConfig startupConfig = configSource.AddConfig("Startup"); |
62 | startupConfig.Set("serverside_object_permissions", true); | 63 | startupConfig.Set("serverside_object_permissions", true); |
63 | 64 | ||
64 | IConfig groupsConfig = configSource.AddConfig("Groups"); | 65 | IConfig groupsConfig = configSource.AddConfig("Groups"); |
65 | groupsConfig.Set("Enabled", true); | 66 | groupsConfig.Set("Enabled", true); |
66 | groupsConfig.Set("Module", "GroupsModule"); | 67 | groupsConfig.Set("Module", "GroupsModule"); |
67 | groupsConfig.Set("DebugEnabled", true); | 68 | groupsConfig.Set("DebugEnabled", true); |
68 | 69 | ||
69 | SceneHelpers.SetupSceneModules( | 70 | SceneHelpers.SetupSceneModules( |
70 | scene, configSource, new object[] | 71 | scene, configSource, new object[] |
71 | { new PermissionsModule(), | 72 | { new DefaultPermissionsModule(), |
72 | new GroupsModule(), | 73 | new GroupsModule(), |
73 | new MockGroupsServicesConnector() }); | 74 | new MockGroupsServicesConnector() }); |
74 | 75 | ||
75 | IClientAPI client = SceneHelpers.AddScenePresence(scene, userId).ControllingClient; | 76 | IClientAPI client = SceneHelpers.AddScenePresence(scene, userId).ControllingClient; |
76 | 77 | ||
77 | IGroupsModule groupsModule = scene.RequestModuleInterface<IGroupsModule>(); | 78 | IGroupsModule groupsModule = scene.RequestModuleInterface<IGroupsModule>(); |
78 | 79 | ||
79 | groupsModule.CreateGroup(client, "group1", "To boldly go", true, UUID.Zero, 5, true, true, true); | 80 | groupsModule.CreateGroup(client, "group1", "To boldly go", true, UUID.Zero, 5, true, true, true); |
80 | } | 81 | } |
81 | } | 82 | } |
82 | } \ No newline at end of file | 83 | } |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAgentTests.cs b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAgentTests.cs index 96d112d..0f386bc 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAgentTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAgentTests.cs | |||
@@ -44,6 +44,7 @@ using OpenSim.Region.CoreModules.World.Serialiser; | |||
44 | using OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation; | 44 | using OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation; |
45 | using OpenSim.Tests.Common; | 45 | using OpenSim.Tests.Common; |
46 | using GridRegion = OpenSim.Services.Interfaces.GridRegion; | 46 | using GridRegion = OpenSim.Services.Interfaces.GridRegion; |
47 | using OpenSim.Services.Interfaces; | ||
47 | 48 | ||
48 | namespace OpenSim.Region.Framework.Scenes.Tests | 49 | namespace OpenSim.Region.Framework.Scenes.Tests |
49 | { | 50 | { |
@@ -141,7 +142,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
141 | // Check rest of exepcted parameters. | 142 | // Check rest of exepcted parameters. |
142 | Assert.That(scene.AuthenticateHandler.GetAgentCircuitData(spUuid), Is.Not.Null); | 143 | Assert.That(scene.AuthenticateHandler.GetAgentCircuitData(spUuid), Is.Not.Null); |
143 | Assert.That(scene.AuthenticateHandler.GetAgentCircuits().Count, Is.EqualTo(1)); | 144 | Assert.That(scene.AuthenticateHandler.GetAgentCircuits().Count, Is.EqualTo(1)); |
144 | 145 | ||
145 | Assert.That(sp.IsChildAgent, Is.False); | 146 | Assert.That(sp.IsChildAgent, Is.False); |
146 | Assert.That(sp.UUID, Is.EqualTo(spUuid)); | 147 | Assert.That(sp.UUID, Is.EqualTo(spUuid)); |
147 | 148 | ||
@@ -226,7 +227,8 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
226 | // *** This is the first stage, when a neighbouring region is told that a viewer is about to try and | 227 | // *** This is the first stage, when a neighbouring region is told that a viewer is about to try and |
227 | // establish a child scene presence. We pass in the circuit code that the client has to connect with *** | 228 | // establish a child scene presence. We pass in the circuit code that the client has to connect with *** |
228 | // XXX: ViaLogin may not be correct here. | 229 | // XXX: ViaLogin may not be correct here. |
229 | scene.SimulationService.CreateAgent(null, region, acd, (uint)TeleportFlags.ViaLogin, out reason); | 230 | EntityTransferContext ctx = new EntityTransferContext(); |
231 | scene.SimulationService.CreateAgent(null, region, acd, (uint)TeleportFlags.ViaLogin, ctx, out reason); | ||
230 | 232 | ||
231 | Assert.That(scene.AuthenticateHandler.GetAgentCircuitData(agentId), Is.Not.Null); | 233 | Assert.That(scene.AuthenticateHandler.GetAgentCircuitData(agentId), Is.Not.Null); |
232 | Assert.That(scene.AuthenticateHandler.GetAgentCircuits().Count, Is.EqualTo(1)); | 234 | Assert.That(scene.AuthenticateHandler.GetAgentCircuits().Count, Is.EqualTo(1)); |
@@ -260,16 +262,15 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
260 | { | 262 | { |
261 | TestHelpers.InMethod(); | 263 | TestHelpers.InMethod(); |
262 | // log4net.Config.XmlConfigurator.Configure(); | 264 | // log4net.Config.XmlConfigurator.Configure(); |
263 | 265 | ||
264 | // UUID agent1Id = UUID.Parse("00000000-0000-0000-0000-000000000001"); | 266 | // UUID agent1Id = UUID.Parse("00000000-0000-0000-0000-000000000001"); |
265 | 267 | ||
266 | TestScene myScene1 = new SceneHelpers().SetupScene("Neighbour y", UUID.Random(), 1000, 1000); | 268 | TestScene myScene1 = new SceneHelpers().SetupScene("Neighbour y", UUID.Random(), 1000, 1000); |
267 | TestScene myScene2 = new SceneHelpers().SetupScene("Neighbour y + 1", UUID.Random(), 1001, 1000); | 269 | TestScene myScene2 = new SceneHelpers().SetupScene("Neighbour y + 1", UUID.Random(), 1001, 1000); |
268 | 270 | ||
269 | IConfigSource configSource = new IniConfigSource(); | 271 | IConfigSource configSource = new IniConfigSource(); |
270 | IConfig config = configSource.AddConfig("Startup"); | 272 | IConfig config = configSource.AddConfig("Startup"); |
271 | config.Set("serverside_object_permissions", true); | 273 | config.Set("serverside_object_permissions", true); |
272 | config.Set("EventQueue", true); | ||
273 | 274 | ||
274 | EntityTransferModule etm = new EntityTransferModule(); | 275 | EntityTransferModule etm = new EntityTransferModule(); |
275 | 276 | ||
@@ -278,7 +279,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
278 | 279 | ||
279 | EventQueueGetModule eqgm2 = new EventQueueGetModule(); | 280 | EventQueueGetModule eqgm2 = new EventQueueGetModule(); |
280 | SceneHelpers.SetupSceneModules(myScene2, configSource, etm, eqgm2); | 281 | SceneHelpers.SetupSceneModules(myScene2, configSource, etm, eqgm2); |
281 | 282 | ||
282 | // SceneHelpers.AddScenePresence(myScene1, agent1Id); | 283 | // SceneHelpers.AddScenePresence(myScene1, agent1Id); |
283 | // ScenePresence childPresence = myScene2.GetScenePresence(agent1); | 284 | // ScenePresence childPresence = myScene2.GetScenePresence(agent1); |
284 | // | 285 | // |
@@ -287,4 +288,4 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
287 | // Assert.That(childPresence.IsChildAgent, Is.True); | 288 | // Assert.That(childPresence.IsChildAgent, Is.True); |
288 | } | 289 | } |
289 | } | 290 | } |
290 | } \ No newline at end of file | 291 | } |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAnimationTests.cs b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAnimationTests.cs index 42d91b9..d650c43 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAnimationTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAnimationTests.cs | |||
@@ -60,7 +60,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
60 | TestScene scene = new SceneHelpers().SetupScene(); | 60 | TestScene scene = new SceneHelpers().SetupScene(); |
61 | ScenePresence sp = SceneHelpers.AddScenePresence(scene, TestHelpers.ParseTail(0x1)); | 61 | ScenePresence sp = SceneHelpers.AddScenePresence(scene, TestHelpers.ParseTail(0x1)); |
62 | sp.Flying = true; | 62 | sp.Flying = true; |
63 | sp.PhysicsCollisionUpdate(new CollisionEventUpdate()); | 63 | sp.Animator.UpdateMovementAnimations(); |
64 | 64 | ||
65 | Assert.That(sp.Animator.CurrentMovementAnimation, Is.EqualTo("HOVER")); | 65 | Assert.That(sp.Animator.CurrentMovementAnimation, Is.EqualTo("HOVER")); |
66 | } | 66 | } |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAutopilotTests.cs b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAutopilotTests.cs index e5c847e..90c5197 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAutopilotTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceAutopilotTests.cs | |||
@@ -97,7 +97,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
97 | Assert.That(sp.AbsolutePosition.Z, Is.EqualTo(startPos.Z)); | 97 | Assert.That(sp.AbsolutePosition.Z, Is.EqualTo(startPos.Z)); |
98 | Assert.That(sp.AbsolutePosition.Z, Is.LessThan(targetPos.X)); | 98 | Assert.That(sp.AbsolutePosition.Z, Is.LessThan(targetPos.X)); |
99 | 99 | ||
100 | m_scene.Update(10); | 100 | m_scene.Update(50); |
101 | 101 | ||
102 | double distanceToTarget = Util.GetDistanceTo(sp.AbsolutePosition, targetPos); | 102 | double distanceToTarget = Util.GetDistanceTo(sp.AbsolutePosition, targetPos); |
103 | Assert.That(distanceToTarget, Is.LessThan(1), "Avatar not within 1 unit of target position on first move"); | 103 | Assert.That(distanceToTarget, Is.LessThan(1), "Avatar not within 1 unit of target position on first move"); |
@@ -121,7 +121,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
121 | Assert.That(sp.AbsolutePosition.Y, Is.EqualTo(startPos.Y)); | 121 | Assert.That(sp.AbsolutePosition.Y, Is.EqualTo(startPos.Y)); |
122 | Assert.That(sp.AbsolutePosition.Z, Is.EqualTo(startPos.Z)); | 122 | Assert.That(sp.AbsolutePosition.Z, Is.EqualTo(startPos.Z)); |
123 | 123 | ||
124 | m_scene.Update(10); | 124 | m_scene.Update(50); |
125 | 125 | ||
126 | distanceToTarget = Util.GetDistanceTo(sp.AbsolutePosition, targetPos); | 126 | distanceToTarget = Util.GetDistanceTo(sp.AbsolutePosition, targetPos); |
127 | Assert.That(distanceToTarget, Is.LessThan(1), "Avatar not within 1 unit of target position on second move"); | 127 | Assert.That(distanceToTarget, Is.LessThan(1), "Avatar not within 1 unit of target position on second move"); |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCapabilityTests.cs b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCapabilityTests.cs index 2e6dc70..aa26767 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCapabilityTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCapabilityTests.cs | |||
@@ -73,14 +73,16 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
73 | SceneHelpers.SetupSceneModules(scene, capsMod); | 73 | SceneHelpers.SetupSceneModules(scene, capsMod); |
74 | 74 | ||
75 | ScenePresence sp = SceneHelpers.AddChildScenePresence(scene, spUuid); | 75 | ScenePresence sp = SceneHelpers.AddChildScenePresence(scene, spUuid); |
76 | Assert.That(capsMod.GetCapsForUser(spUuid), Is.Not.Null); | 76 | //Assert.That(capsMod.GetCapsForUser(spUuid), Is.Not.Null); |
77 | 77 | ||
78 | // TODO: Need to add tests for other ICapabiltiesModule methods. | 78 | // TODO: Need to add tests for other ICapabiltiesModule methods. |
79 | 79 | ||
80 | // scene.IncomingCloseAgent(sp.UUID, false); | ||
81 | // //Assert.That(capsMod.GetCapsForUser(spUuid), Is.Null); | ||
80 | scene.CloseAgent(sp.UUID, false); | 82 | scene.CloseAgent(sp.UUID, false); |
81 | Assert.That(capsMod.GetCapsForUser(spUuid), Is.Null); | 83 | // Assert.That(capsMod.GetCapsForUser(spUuid), Is.Null); |
82 | 84 | ||
83 | // TODO: Need to add tests for other ICapabiltiesModule methods. | 85 | // TODO: Need to add tests for other ICapabiltiesModule methods. |
84 | } | 86 | } |
85 | } | 87 | } |
86 | } \ No newline at end of file | 88 | } |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs index 7127644..3d51a63 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceCrossingTests.cs | |||
@@ -39,6 +39,8 @@ using OpenSim.Region.CoreModules.Framework.EntityTransfer; | |||
39 | using OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation; | 39 | using OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation; |
40 | using OpenSim.Region.CoreModules.World.Permissions; | 40 | using OpenSim.Region.CoreModules.World.Permissions; |
41 | using OpenSim.Tests.Common; | 41 | using OpenSim.Tests.Common; |
42 | using OpenSim.Region.OptionalModules.Avatar.XmlRpcGroups; | ||
43 | using System.Threading; | ||
42 | 44 | ||
43 | namespace OpenSim.Region.Framework.Scenes.Tests | 45 | namespace OpenSim.Region.Framework.Scenes.Tests |
44 | { | 46 | { |
@@ -190,7 +192,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
190 | // We need to set up the permisions module on scene B so that our later use of agent limit to deny | 192 | // We need to set up the permisions module on scene B so that our later use of agent limit to deny |
191 | // QueryAccess won't succeed anyway because administrators are always allowed in and the default | 193 | // QueryAccess won't succeed anyway because administrators are always allowed in and the default |
192 | // IsAdministrator if no permissions module is present is true. | 194 | // IsAdministrator if no permissions module is present is true. |
193 | SceneHelpers.SetupSceneModules(sceneB, config, new CapabilitiesModule(), new PermissionsModule(), etmB); | 195 | SceneHelpers.SetupSceneModules(sceneB, config, new CapabilitiesModule(), new DefaultPermissionsModule(), etmB); |
194 | 196 | ||
195 | AgentCircuitData acd = SceneHelpers.GenerateAgentData(userId); | 197 | AgentCircuitData acd = SceneHelpers.GenerateAgentData(userId); |
196 | TestClient tc = new TestClient(acd, sceneA); | 198 | TestClient tc = new TestClient(acd, sceneA); |
@@ -229,7 +231,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
229 | 231 | ||
230 | ScenePresence spAfterCrossSceneB = sceneB.GetScenePresence(originalSp.UUID); | 232 | ScenePresence spAfterCrossSceneB = sceneB.GetScenePresence(originalSp.UUID); |
231 | 233 | ||
232 | // sceneB agent should also still be root | 234 | // sceneB agent should still be child |
233 | Assert.That(spAfterCrossSceneB.IsChildAgent, Is.True); | 235 | Assert.That(spAfterCrossSceneB.IsChildAgent, Is.True); |
234 | 236 | ||
235 | // sceneB should ignore unauthorized attempt to upgrade agent to root | 237 | // sceneB should ignore unauthorized attempt to upgrade agent to root |
@@ -244,4 +246,4 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
244 | Assert.That(spAfterCrossSceneB.IsChildAgent, Is.True); | 246 | Assert.That(spAfterCrossSceneB.IsChildAgent, Is.True); |
245 | } | 247 | } |
246 | } | 248 | } |
247 | } \ No newline at end of file | 249 | } |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceSitTests.cs b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceSitTests.cs index b232a44..e3ebf36 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceSitTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceSitTests.cs | |||
@@ -166,6 +166,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
166 | [Test] | 166 | [Test] |
167 | public void TestSitAndStandWithSitTarget() | 167 | public void TestSitAndStandWithSitTarget() |
168 | { | 168 | { |
169 | /* sit position math as changed, this needs to be fixed later | ||
169 | TestHelpers.InMethod(); | 170 | TestHelpers.InMethod(); |
170 | // log4net.Config.XmlConfigurator.Configure(); | 171 | // log4net.Config.XmlConfigurator.Configure(); |
171 | 172 | ||
@@ -223,6 +224,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
223 | Assert.That(part.SitTargetAvatar, Is.EqualTo(UUID.Zero)); | 224 | Assert.That(part.SitTargetAvatar, Is.EqualTo(UUID.Zero)); |
224 | Assert.That(part.GetSittingAvatarsCount(), Is.EqualTo(0)); | 225 | Assert.That(part.GetSittingAvatarsCount(), Is.EqualTo(0)); |
225 | Assert.That(part.GetSittingAvatars(), Is.Null); | 226 | Assert.That(part.GetSittingAvatars(), Is.Null); |
227 | */ | ||
226 | } | 228 | } |
227 | 229 | ||
228 | [Test] | 230 | [Test] |
@@ -246,4 +248,4 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
246 | Assert.That(m_sp.PhysicsActor, Is.Not.Null); | 248 | Assert.That(m_sp.PhysicsActor, Is.Not.Null); |
247 | } | 249 | } |
248 | } | 250 | } |
249 | } \ No newline at end of file | 251 | } |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceTeleportTests.cs b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceTeleportTests.cs index 443ec51..86500c7 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceTeleportTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/ScenePresenceTeleportTests.cs | |||
@@ -282,7 +282,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
282 | // We need to set up the permisions module on scene B so that our later use of agent limit to deny | 282 | // We need to set up the permisions module on scene B so that our later use of agent limit to deny |
283 | // QueryAccess won't succeed anyway because administrators are always allowed in and the default | 283 | // QueryAccess won't succeed anyway because administrators are always allowed in and the default |
284 | // IsAdministrator if no permissions module is present is true. | 284 | // IsAdministrator if no permissions module is present is true. |
285 | SceneHelpers.SetupSceneModules(sceneB, config, new object[] { new PermissionsModule(), etmB }); | 285 | SceneHelpers.SetupSceneModules(sceneB, config, new object[] { new DefaultPermissionsModule(), etmB }); |
286 | 286 | ||
287 | // Shared scene modules | 287 | // Shared scene modules |
288 | SceneHelpers.SetupSceneModules(new Scene[] { sceneA, sceneB }, config, lscm); | 288 | SceneHelpers.SetupSceneModules(new Scene[] { sceneA, sceneB }, config, lscm); |
@@ -447,7 +447,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
447 | // We need to set up the permisions module on scene B so that our later use of agent limit to deny | 447 | // We need to set up the permisions module on scene B so that our later use of agent limit to deny |
448 | // QueryAccess won't succeed anyway because administrators are always allowed in and the default | 448 | // QueryAccess won't succeed anyway because administrators are always allowed in and the default |
449 | // IsAdministrator if no permissions module is present is true. | 449 | // IsAdministrator if no permissions module is present is true. |
450 | SceneHelpers.SetupSceneModules(sceneB, config, new object[] { new PermissionsModule(), etmB }); | 450 | SceneHelpers.SetupSceneModules(sceneB, config, new object[] { new DefaultPermissionsModule(), etmB }); |
451 | 451 | ||
452 | // Shared scene modules | 452 | // Shared scene modules |
453 | SceneHelpers.SetupSceneModules(new Scene[] { sceneA, sceneB }, config, lscm); | 453 | SceneHelpers.SetupSceneModules(new Scene[] { sceneA, sceneB }, config, lscm); |
@@ -465,7 +465,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
465 | teleportLookAt, | 465 | teleportLookAt, |
466 | (uint)TeleportFlags.ViaLocation); | 466 | (uint)TeleportFlags.ViaLocation); |
467 | 467 | ||
468 | // FIXME: Not setting up InformClientOfNeighbour on the TestClient means that it does not initiate | 468 | // FIXME: Not setting up InformClientOfNeighbour on the TestClient means that it does not initiate |
469 | // communication with the destination region. But this is a very non-obvious way of doing it - really we | 469 | // communication with the destination region. But this is a very non-obvious way of doing it - really we |
470 | // should be forced to expicitly set this up. | 470 | // should be forced to expicitly set this up. |
471 | 471 | ||
@@ -627,8 +627,8 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
627 | // Both these operations will occur on different threads and will wait for each other. | 627 | // Both these operations will occur on different threads and will wait for each other. |
628 | // We have to do this via ThreadPool directly since FireAndForget has been switched to sync for the V1 | 628 | // We have to do this via ThreadPool directly since FireAndForget has been switched to sync for the V1 |
629 | // test protocol, where we are trying to avoid unpredictable async operations in regression tests. | 629 | // test protocol, where we are trying to avoid unpredictable async operations in regression tests. |
630 | tc.OnTestClientSendRegionTeleport | 630 | tc.OnTestClientSendRegionTeleport |
631 | += (regionHandle, simAccess, regionExternalEndPoint, locationID, flags, capsURL) | 631 | += (regionHandle, simAccess, regionExternalEndPoint, locationID, flags, capsURL) |
632 | => ThreadPool.UnsafeQueueUserWorkItem(o => destinationTestClients[0].CompleteMovement(), null); | 632 | => ThreadPool.UnsafeQueueUserWorkItem(o => destinationTestClients[0].CompleteMovement(), null); |
633 | 633 | ||
634 | sceneA.RequestTeleportLocation( | 634 | sceneA.RequestTeleportLocation( |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneStatisticsTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneStatisticsTests.cs index 045fd3c..4ce6a95 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/SceneStatisticsTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/SceneStatisticsTests.cs | |||
@@ -54,8 +54,8 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
54 | 54 | ||
55 | UUID ownerId = TestHelpers.ParseTail(0x1); | 55 | UUID ownerId = TestHelpers.ParseTail(0x1); |
56 | SceneObjectGroup so1 = SceneHelpers.CreateSceneObject(3, ownerId, "so1", 0x10); | 56 | SceneObjectGroup so1 = SceneHelpers.CreateSceneObject(3, ownerId, "so1", 0x10); |
57 | so1.ScriptSetPhysicsStatus(true); | ||
58 | m_scene.AddSceneObject(so1); | 57 | m_scene.AddSceneObject(so1); |
58 | so1.ScriptSetPhysicsStatus(true); | ||
59 | 59 | ||
60 | Assert.That(m_scene.SceneGraph.GetTotalObjectsCount(), Is.EqualTo(3)); | 60 | Assert.That(m_scene.SceneGraph.GetTotalObjectsCount(), Is.EqualTo(3)); |
61 | Assert.That(m_scene.SceneGraph.GetActiveObjectsCount(), Is.EqualTo(3)); | 61 | Assert.That(m_scene.SceneGraph.GetActiveObjectsCount(), Is.EqualTo(3)); |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneTelehubTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneTelehubTests.cs index 584a03c..dbb6a37 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/SceneTelehubTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/SceneTelehubTests.cs | |||
@@ -70,7 +70,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
70 | // Must still be possible to successfully log in | 70 | // Must still be possible to successfully log in |
71 | UUID loggingInUserId = TestHelpers.ParseTail(0x2); | 71 | UUID loggingInUserId = TestHelpers.ParseTail(0x2); |
72 | 72 | ||
73 | UserAccount ua | 73 | UserAccount ua |
74 | = UserAccountHelpers.CreateUserWithInventory(scene, "Test", "User", loggingInUserId, "password"); | 74 | = UserAccountHelpers.CreateUserWithInventory(scene, "Test", "User", loggingInUserId, "password"); |
75 | 75 | ||
76 | SceneHelpers.AddScenePresence(scene, ua); | 76 | SceneHelpers.AddScenePresence(scene, ua); |
@@ -107,7 +107,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
107 | // Must still be possible to successfully log in | 107 | // Must still be possible to successfully log in |
108 | UUID loggingInUserId = TestHelpers.ParseTail(0x2); | 108 | UUID loggingInUserId = TestHelpers.ParseTail(0x2); |
109 | 109 | ||
110 | UserAccount ua | 110 | UserAccount ua |
111 | = UserAccountHelpers.CreateUserWithInventory(scene, "Test", "User", loggingInUserId, "password"); | 111 | = UserAccountHelpers.CreateUserWithInventory(scene, "Test", "User", loggingInUserId, "password"); |
112 | 112 | ||
113 | SceneHelpers.AddScenePresence(scene, ua); | 113 | SceneHelpers.AddScenePresence(scene, ua); |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/SceneTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SceneTests.cs index 517faf1..6c0af8f 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/SceneTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/SceneTests.cs | |||
@@ -66,7 +66,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
66 | uint sizeX = 512; | 66 | uint sizeX = 512; |
67 | uint sizeY = 512; | 67 | uint sizeY = 512; |
68 | 68 | ||
69 | Scene scene | 69 | Scene scene |
70 | = new SceneHelpers().SetupScene("scene", regionUuid, 1000, 1000, sizeX, sizeY, new IniConfigSource()); | 70 | = new SceneHelpers().SetupScene("scene", regionUuid, 1000, 1000, sizeX, sizeY, new IniConfigSource()); |
71 | 71 | ||
72 | Assert.AreEqual(sizeX, scene.RegionInfo.RegionSizeX); | 72 | Assert.AreEqual(sizeX, scene.RegionInfo.RegionSizeX); |
@@ -83,7 +83,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
83 | 83 | ||
84 | Scene scene = new SceneHelpers().SetupScene(); | 84 | Scene scene = new SceneHelpers().SetupScene(); |
85 | scene.Update(1); | 85 | scene.Update(1); |
86 | 86 | ||
87 | Assert.That(scene.Frame, Is.EqualTo(1)); | 87 | Assert.That(scene.Frame, Is.EqualTo(1)); |
88 | } | 88 | } |
89 | 89 | ||
diff --git a/OpenSim/Region/Framework/Scenes/Tests/SharedRegionModuleTests.cs b/OpenSim/Region/Framework/Scenes/Tests/SharedRegionModuleTests.cs index eeda84f..c74c83f 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/SharedRegionModuleTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/SharedRegionModuleTests.cs | |||
@@ -105,7 +105,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
105 | // rmcp.LoadModulesFromAddins = false; | 105 | // rmcp.LoadModulesFromAddins = false; |
106 | //// reg.RegisterInterface<IRegionModulesController>(rmcp); | 106 | //// reg.RegisterInterface<IRegionModulesController>(rmcp); |
107 | // rmcp.Initialise(sim); | 107 | // rmcp.Initialise(sim); |
108 | // rmcp.PostInitialise(); | 108 | // rmcp.PostInitialise(); |
109 | // TypeExtensionNode node = new TypeExtensionNode(); | 109 | // TypeExtensionNode node = new TypeExtensionNode(); |
110 | // node. | 110 | // node. |
111 | // rmcp.AddNode(node, configSource.Configs["Modules"], new Dictionary<RuntimeAddin, IList<int>>()); | 111 | // rmcp.AddNode(node, configSource.Configs["Modules"], new Dictionary<RuntimeAddin, IList<int>>()); |
@@ -120,9 +120,9 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
120 | int expectedEventCount = 6; | 120 | int expectedEventCount = 6; |
121 | 121 | ||
122 | Assert.AreEqual( | 122 | Assert.AreEqual( |
123 | expectedEventCount, | 123 | expectedEventCount, |
124 | co.Count, | 124 | co.Count, |
125 | "Expected {0} events but only got {1} ({2})", | 125 | "Expected {0} events but only got {1} ({2})", |
126 | expectedEventCount, co.Count, string.Join(",", co)); | 126 | expectedEventCount, co.Count, string.Join(",", co)); |
127 | Assert.AreEqual("Initialise", co[0]); | 127 | Assert.AreEqual("Initialise", co[0]); |
128 | Assert.AreEqual("PostInitialise", co[1]); | 128 | Assert.AreEqual("PostInitialise", co[1]); |
@@ -137,7 +137,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
137 | { | 137 | { |
138 | // FIXME: Should really use MethodInfo | 138 | // FIXME: Should really use MethodInfo |
139 | public List<string> CallOrder = new List<string>(); | 139 | public List<string> CallOrder = new List<string>(); |
140 | 140 | ||
141 | public string Name { get { return "TestSharedRegion"; } } | 141 | public string Name { get { return "TestSharedRegion"; } } |
142 | 142 | ||
143 | public Type ReplaceableInterface { get { return null; } } | 143 | public Type ReplaceableInterface { get { return null; } } |
@@ -186,13 +186,13 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
186 | 186 | ||
187 | public void Initialise() {} | 187 | public void Initialise() {} |
188 | 188 | ||
189 | public void Initialise(OpenSimBase sim) | 189 | public void Initialise(OpenSimBase sim) |
190 | { | 190 | { |
191 | m_openSim = sim; | 191 | m_openSim = sim; |
192 | } | 192 | } |
193 | 193 | ||
194 | /// <summary> | 194 | /// <summary> |
195 | /// Called when the application loading is completed | 195 | /// Called when the application loading is completed |
196 | /// </summary> | 196 | /// </summary> |
197 | public void PostInitialise() | 197 | public void PostInitialise() |
198 | { | 198 | { |
@@ -228,8 +228,8 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
228 | } | 228 | } |
229 | 229 | ||
230 | scene.RegionModules.Clear(); | 230 | scene.RegionModules.Clear(); |
231 | } | 231 | } |
232 | 232 | ||
233 | public void AddNode(ISharedRegionModule module) | 233 | public void AddNode(ISharedRegionModule module) |
234 | { | 234 | { |
235 | m_sharedInstances.Add(module); | 235 | m_sharedInstances.Add(module); |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/TaskInventoryTests.cs b/OpenSim/Region/Framework/Scenes/Tests/TaskInventoryTests.cs index b01088d..8273e32 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/TaskInventoryTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/TaskInventoryTests.cs | |||
@@ -55,7 +55,7 @@ namespace OpenSim.Region.Framework.Tests | |||
55 | { | 55 | { |
56 | TestHelpers.InMethod(); | 56 | TestHelpers.InMethod(); |
57 | // log4net.Config.XmlConfigurator.Configure(); | 57 | // log4net.Config.XmlConfigurator.Configure(); |
58 | 58 | ||
59 | Scene scene = new SceneHelpers().SetupScene(); | 59 | Scene scene = new SceneHelpers().SetupScene(); |
60 | UserAccount user1 = UserAccountHelpers.CreateUserWithInventory(scene); | 60 | UserAccount user1 = UserAccountHelpers.CreateUserWithInventory(scene); |
61 | SceneObjectGroup sog1 = SceneHelpers.CreateSceneObject(1, user1.PrincipalID); | 61 | SceneObjectGroup sog1 = SceneHelpers.CreateSceneObject(1, user1.PrincipalID); |
@@ -78,7 +78,7 @@ namespace OpenSim.Region.Framework.Tests | |||
78 | { | 78 | { |
79 | TestHelpers.InMethod(); | 79 | TestHelpers.InMethod(); |
80 | // log4net.Config.XmlConfigurator.Configure(); | 80 | // log4net.Config.XmlConfigurator.Configure(); |
81 | 81 | ||
82 | Scene scene = new SceneHelpers().SetupScene(); | 82 | Scene scene = new SceneHelpers().SetupScene(); |
83 | UserAccount user1 = UserAccountHelpers.CreateUserWithInventory(scene); | 83 | UserAccount user1 = UserAccountHelpers.CreateUserWithInventory(scene); |
84 | SceneObjectGroup sog1 = SceneHelpers.CreateSceneObject(1, user1.PrincipalID); | 84 | SceneObjectGroup sog1 = SceneHelpers.CreateSceneObject(1, user1.PrincipalID); |
@@ -95,7 +95,7 @@ namespace OpenSim.Region.Framework.Tests | |||
95 | Quaternion rezRot = new Quaternion(0.5f, 0.5f, 0.5f, 0.5f); | 95 | Quaternion rezRot = new Quaternion(0.5f, 0.5f, 0.5f, 0.5f); |
96 | Vector3 rezVel = new Vector3(2, 2, 2); | 96 | Vector3 rezVel = new Vector3(2, 2, 2); |
97 | 97 | ||
98 | scene.RezObject(sop1, taskSceneObjectItem, rezPos, rezRot, rezVel, 0); | 98 | scene.RezObject(sop1, taskSceneObjectItem, rezPos, rezRot, rezVel, 0,false); |
99 | 99 | ||
100 | SceneObjectGroup rezzedObject = scene.GetSceneObjectGroup("tso"); | 100 | SceneObjectGroup rezzedObject = scene.GetSceneObjectGroup("tso"); |
101 | 101 | ||
@@ -121,7 +121,7 @@ namespace OpenSim.Region.Framework.Tests | |||
121 | { | 121 | { |
122 | TestHelpers.InMethod(); | 122 | TestHelpers.InMethod(); |
123 | // log4net.Config.XmlConfigurator.Configure(); | 123 | // log4net.Config.XmlConfigurator.Configure(); |
124 | 124 | ||
125 | Scene scene = new SceneHelpers().SetupScene(); | 125 | Scene scene = new SceneHelpers().SetupScene(); |
126 | UserAccount user1 = UserAccountHelpers.CreateUserWithInventory(scene); | 126 | UserAccount user1 = UserAccountHelpers.CreateUserWithInventory(scene); |
127 | SceneObjectGroup sog1 = SceneHelpers.CreateSceneObject(1, user1.PrincipalID); | 127 | SceneObjectGroup sog1 = SceneHelpers.CreateSceneObject(1, user1.PrincipalID); |
@@ -130,18 +130,18 @@ namespace OpenSim.Region.Framework.Tests | |||
130 | = TaskInventoryHelpers.AddNotecard( | 130 | = TaskInventoryHelpers.AddNotecard( |
131 | scene.AssetService, sop1, "ncItem", TestHelpers.ParseTail(0x800), TestHelpers.ParseTail(0x900), "Hello World!"); | 131 | scene.AssetService, sop1, "ncItem", TestHelpers.ParseTail(0x800), TestHelpers.ParseTail(0x900), "Hello World!"); |
132 | 132 | ||
133 | InventoryFolderBase folder | 133 | InventoryFolderBase folder |
134 | = InventoryArchiveUtils.FindFoldersByPath(scene.InventoryService, user1.PrincipalID, "Objects")[0]; | 134 | = InventoryArchiveUtils.FindFoldersByPath(scene.InventoryService, user1.PrincipalID, "Objects")[0]; |
135 | 135 | ||
136 | // Perform test | 136 | // Perform test |
137 | string message; | 137 | string message; |
138 | scene.MoveTaskInventoryItem(user1.PrincipalID, folder.ID, sop1, sopItem1.ItemID, out message); | 138 | scene.MoveTaskInventoryItem(user1.PrincipalID, folder.ID, sop1, sopItem1.ItemID, out message); |
139 | 139 | ||
140 | InventoryItemBase ncUserItem | 140 | InventoryItemBase ncUserItem |
141 | = InventoryArchiveUtils.FindItemByPath(scene.InventoryService, user1.PrincipalID, "Objects/ncItem"); | 141 | = InventoryArchiveUtils.FindItemByPath(scene.InventoryService, user1.PrincipalID, "Objects/ncItem"); |
142 | Assert.That(ncUserItem, Is.Not.Null, "Objects/ncItem was not found"); | 142 | Assert.That(ncUserItem, Is.Not.Null, "Objects/ncItem was not found"); |
143 | } | 143 | } |
144 | 144 | ||
145 | /// <summary> | 145 | /// <summary> |
146 | /// Test MoveTaskInventoryItem from a part inventory to a user inventory where the item has no parent folder assigned. | 146 | /// Test MoveTaskInventoryItem from a part inventory to a user inventory where the item has no parent folder assigned. |
147 | /// </summary> | 147 | /// </summary> |
@@ -153,7 +153,7 @@ namespace OpenSim.Region.Framework.Tests | |||
153 | { | 153 | { |
154 | TestHelpers.InMethod(); | 154 | TestHelpers.InMethod(); |
155 | // log4net.Config.XmlConfigurator.Configure(); | 155 | // log4net.Config.XmlConfigurator.Configure(); |
156 | 156 | ||
157 | Scene scene = new SceneHelpers().SetupScene(); | 157 | Scene scene = new SceneHelpers().SetupScene(); |
158 | UserAccount user1 = UserAccountHelpers.CreateUserWithInventory(scene); | 158 | UserAccount user1 = UserAccountHelpers.CreateUserWithInventory(scene); |
159 | SceneObjectGroup sog1 = SceneHelpers.CreateSceneObject(1, user1.PrincipalID); | 159 | SceneObjectGroup sog1 = SceneHelpers.CreateSceneObject(1, user1.PrincipalID); |
@@ -162,11 +162,11 @@ namespace OpenSim.Region.Framework.Tests | |||
162 | TaskInventoryItem sopItem1 | 162 | TaskInventoryItem sopItem1 |
163 | = TaskInventoryHelpers.AddNotecard( | 163 | = TaskInventoryHelpers.AddNotecard( |
164 | scene.AssetService, sop1, "ncItem", TestHelpers.ParseTail(0x800), TestHelpers.ParseTail(0x900), "Hello World!"); | 164 | scene.AssetService, sop1, "ncItem", TestHelpers.ParseTail(0x800), TestHelpers.ParseTail(0x900), "Hello World!"); |
165 | 165 | ||
166 | // Perform test | 166 | // Perform test |
167 | string message; | 167 | string message; |
168 | scene.MoveTaskInventoryItem(user1.PrincipalID, UUID.Zero, sop1, sopItem1.ItemID, out message); | 168 | scene.MoveTaskInventoryItem(user1.PrincipalID, UUID.Zero, sop1, sopItem1.ItemID, out message); |
169 | 169 | ||
170 | InventoryItemBase ncUserItem | 170 | InventoryItemBase ncUserItem |
171 | = InventoryArchiveUtils.FindItemByPath(scene.InventoryService, user1.PrincipalID, "Notecards/ncItem"); | 171 | = InventoryArchiveUtils.FindItemByPath(scene.InventoryService, user1.PrincipalID, "Notecards/ncItem"); |
172 | Assert.That(ncUserItem, Is.Not.Null, "Notecards/ncItem was not found"); | 172 | Assert.That(ncUserItem, Is.Not.Null, "Notecards/ncItem was not found"); |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/UserInventoryTests.cs b/OpenSim/Region/Framework/Scenes/Tests/UserInventoryTests.cs index 8250e6c..58e157c 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/UserInventoryTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/UserInventoryTests.cs | |||
@@ -38,10 +38,7 @@ using OpenMetaverse; | |||
38 | using OpenMetaverse.Assets; | 38 | using OpenMetaverse.Assets; |
39 | using OpenSim.Framework; | 39 | using OpenSim.Framework; |
40 | using OpenSim.Region.Framework.Scenes; | 40 | using OpenSim.Region.Framework.Scenes; |
41 | using OpenSim.Region.Framework.Interfaces; | 41 | using OpenSim.Region.CoreModules.Framework.InventoryAccess; |
42 | using OpenSim.Region.CoreModules.Avatar.Inventory.Archiver; | ||
43 | using OpenSim.Region.CoreModules.World.Serialiser; | ||
44 | using OpenSim.Region.CoreModules.ServiceConnectorsOut.Simulation; | ||
45 | using OpenSim.Services.Interfaces; | 42 | using OpenSim.Services.Interfaces; |
46 | using OpenSim.Tests.Common; | 43 | using OpenSim.Tests.Common; |
47 | 44 | ||
@@ -116,7 +113,7 @@ namespace OpenSim.Region.Framework.Tests | |||
116 | { | 113 | { |
117 | TestHelpers.InMethod(); | 114 | TestHelpers.InMethod(); |
118 | // TestHelpers.EnableLogging(); | 115 | // TestHelpers.EnableLogging(); |
119 | 116 | ||
120 | Scene scene = new SceneHelpers().SetupScene(); | 117 | Scene scene = new SceneHelpers().SetupScene(); |
121 | UserAccount user1 = UserAccountHelpers.CreateUserWithInventory(scene, TestHelpers.ParseTail(1001)); | 118 | UserAccount user1 = UserAccountHelpers.CreateUserWithInventory(scene, TestHelpers.ParseTail(1001)); |
122 | UserAccount user2 = UserAccountHelpers.CreateUserWithInventory(scene, TestHelpers.ParseTail(1002)); | 119 | UserAccount user2 = UserAccountHelpers.CreateUserWithInventory(scene, TestHelpers.ParseTail(1002)); |
@@ -138,5 +135,66 @@ namespace OpenSim.Region.Framework.Tests | |||
138 | 135 | ||
139 | Assert.That(reretrievedFolders.Count, Is.EqualTo(2)); | 136 | Assert.That(reretrievedFolders.Count, Is.EqualTo(2)); |
140 | } | 137 | } |
138 | |||
139 | // Work in Progress test. All Assertions pertaining permissions are commented for now. | ||
140 | [Test] | ||
141 | public void TestGiveInventoryItemFullPerms() | ||
142 | { | ||
143 | TestHelpers.InMethod(); | ||
144 | |||
145 | List<Object> modules = new List<object>(); | ||
146 | IConfigSource config = DefaultConfig(modules); | ||
147 | Scene scene = new SceneHelpers().SetupScene("Inventory Permissions", UUID.Random(), 1000, 1000, config); | ||
148 | SceneHelpers.SetupSceneModules(scene, config, modules.ToArray()); | ||
149 | |||
150 | UserAccount user1 = UserAccountHelpers.CreateUserWithInventory(scene, TestHelpers.ParseTail(1001)); | ||
151 | UserAccount user2 = UserAccountHelpers.CreateUserWithInventory(scene, TestHelpers.ParseTail(1002)); | ||
152 | ScenePresence sp1 = SceneHelpers.AddScenePresence(scene, user1.PrincipalID); | ||
153 | ScenePresence sp2 = SceneHelpers.AddScenePresence(scene, user2.PrincipalID); | ||
154 | |||
155 | InventoryItemBase item1 = UserInventoryHelpers.CreateInventoryItem(scene, "SomeObject", user1.PrincipalID, InventoryType.Object); | ||
156 | // Set All perms in inventory | ||
157 | item1.NextPermissions = (uint)OpenMetaverse.PermissionMask.All; | ||
158 | scene.UpdateInventoryItemAsset(sp1.ControllingClient, UUID.Zero, item1.ID, item1); | ||
159 | //Assert.That((item1.NextPermissions & (uint)OpenMetaverse.PermissionMask.All) == (uint)OpenMetaverse.PermissionMask.All); | ||
160 | |||
161 | string message; | ||
162 | |||
163 | InventoryItemBase retrievedItem1 = scene.GiveInventoryItem(user2.PrincipalID, user1.PrincipalID, item1.ID, out message); | ||
164 | Assert.That(retrievedItem1, Is.Not.Null); | ||
165 | //Assert.That((retrievedItem1.CurrentPermissions & (uint)OpenMetaverse.PermissionMask.All) == (uint)OpenMetaverse.PermissionMask.All); | ||
166 | |||
167 | retrievedItem1 | ||
168 | = UserInventoryHelpers.GetInventoryItem(scene.InventoryService, user2.PrincipalID, "Objects/SomeObject"); | ||
169 | Assert.That(retrievedItem1, Is.Not.Null); | ||
170 | //Assert.That((retrievedItem1.BasePermissions & (uint)OpenMetaverse.PermissionMask.All) == (uint)OpenMetaverse.PermissionMask.All); | ||
171 | //Assert.That((retrievedItem1.CurrentPermissions & (uint)OpenMetaverse.PermissionMask.All) == (uint)OpenMetaverse.PermissionMask.All); | ||
172 | |||
173 | // Rez the object | ||
174 | scene.RezObject(sp2.ControllingClient, retrievedItem1.ID, UUID.Zero, Vector3.Zero, Vector3.Zero, UUID.Zero, 0, false, false, false, UUID.Zero); | ||
175 | SceneObjectGroup sog = scene.GetSceneObjectGroup("SomeObject"); | ||
176 | Assert.That(sog, Is.Not.Null); | ||
177 | |||
178 | // This is failing for all sorts of reasons. We'll fix it after perms are fixed. | ||
179 | //Console.WriteLine("Item Perms " + retrievedItem1.CurrentPermissions + " Obj Owner Perms " + sog.RootPart.OwnerMask + " Base Perms " + sog.RootPart.BaseMask + "\n"); | ||
180 | //Assert.True((sog.RootPart.OwnerMask & (uint)OpenMetaverse.PermissionMask.All) == (uint)OpenMetaverse.PermissionMask.All); | ||
181 | |||
182 | } | ||
183 | |||
184 | public static IConfigSource DefaultConfig(List<object> modules) | ||
185 | { | ||
186 | IConfigSource config = new IniConfigSource(); | ||
187 | config.AddConfig("Modules"); | ||
188 | config.Configs["Modules"].Set("InventoryAccessModule", "BasicInventoryAccessModule"); | ||
189 | |||
190 | config.AddConfig("Permissions"); | ||
191 | config.Configs["Permissions"].Set("permissionmodules", "DefaultPermissionsModule"); | ||
192 | config.Configs["Permissions"].Set("serverside_object_permissions", true); | ||
193 | config.Configs["Permissions"].Set("propagate_permissions", true); | ||
194 | |||
195 | modules.Add(new BasicInventoryAccessModule()); | ||
196 | return config; | ||
197 | } | ||
198 | |||
141 | } | 199 | } |
142 | } \ No newline at end of file | 200 | } \ No newline at end of file |
diff --git a/OpenSim/Region/Framework/Scenes/Tests/UuidGathererTests.cs b/OpenSim/Region/Framework/Scenes/Tests/UuidGathererTests.cs index 937c414..4ceebc1 100644 --- a/OpenSim/Region/Framework/Scenes/Tests/UuidGathererTests.cs +++ b/OpenSim/Region/Framework/Scenes/Tests/UuidGathererTests.cs | |||
@@ -41,7 +41,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
41 | { | 41 | { |
42 | protected IAssetService m_assetService; | 42 | protected IAssetService m_assetService; |
43 | protected UuidGatherer m_uuidGatherer; | 43 | protected UuidGatherer m_uuidGatherer; |
44 | 44 | ||
45 | [SetUp] | 45 | [SetUp] |
46 | public void Init() | 46 | public void Init() |
47 | { | 47 | { |
@@ -55,9 +55,9 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
55 | public void TestCorruptAsset() | 55 | public void TestCorruptAsset() |
56 | { | 56 | { |
57 | TestHelpers.InMethod(); | 57 | TestHelpers.InMethod(); |
58 | 58 | ||
59 | UUID corruptAssetUuid = UUID.Parse("00000000-0000-0000-0000-000000000666"); | 59 | UUID corruptAssetUuid = UUID.Parse("00000000-0000-0000-0000-000000000666"); |
60 | AssetBase corruptAsset | 60 | AssetBase corruptAsset |
61 | = AssetHelpers.CreateAsset(corruptAssetUuid, AssetType.Notecard, "CORRUPT ASSET", UUID.Zero); | 61 | = AssetHelpers.CreateAsset(corruptAssetUuid, AssetType.Notecard, "CORRUPT ASSET", UUID.Zero); |
62 | m_assetService.Store(corruptAsset); | 62 | m_assetService.Store(corruptAsset); |
63 | 63 | ||
@@ -67,7 +67,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
67 | // We count the uuid as gathered even if the asset itself is corrupt. | 67 | // We count the uuid as gathered even if the asset itself is corrupt. |
68 | Assert.That(m_uuidGatherer.GatheredUuids.Count, Is.EqualTo(1)); | 68 | Assert.That(m_uuidGatherer.GatheredUuids.Count, Is.EqualTo(1)); |
69 | } | 69 | } |
70 | 70 | ||
71 | /// <summary> | 71 | /// <summary> |
72 | /// Test requests made for non-existent assets while we're gathering | 72 | /// Test requests made for non-existent assets while we're gathering |
73 | /// </summary> | 73 | /// </summary> |
@@ -75,7 +75,7 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
75 | public void TestMissingAsset() | 75 | public void TestMissingAsset() |
76 | { | 76 | { |
77 | TestHelpers.InMethod(); | 77 | TestHelpers.InMethod(); |
78 | 78 | ||
79 | UUID missingAssetUuid = UUID.Parse("00000000-0000-0000-0000-000000000666"); | 79 | UUID missingAssetUuid = UUID.Parse("00000000-0000-0000-0000-000000000666"); |
80 | 80 | ||
81 | m_uuidGatherer.AddForInspection(missingAssetUuid); | 81 | m_uuidGatherer.AddForInspection(missingAssetUuid); |
@@ -89,23 +89,23 @@ namespace OpenSim.Region.Framework.Scenes.Tests | |||
89 | { | 89 | { |
90 | TestHelpers.InMethod(); | 90 | TestHelpers.InMethod(); |
91 | // TestHelpers.EnableLogging(); | 91 | // TestHelpers.EnableLogging(); |
92 | 92 | ||
93 | UUID ownerId = TestHelpers.ParseTail(0x10); | 93 | UUID ownerId = TestHelpers.ParseTail(0x10); |
94 | UUID embeddedId = TestHelpers.ParseTail(0x20); | 94 | UUID embeddedId = TestHelpers.ParseTail(0x20); |
95 | UUID secondLevelEmbeddedId = TestHelpers.ParseTail(0x21); | 95 | UUID secondLevelEmbeddedId = TestHelpers.ParseTail(0x21); |
96 | UUID missingEmbeddedId = TestHelpers.ParseTail(0x22); | 96 | UUID missingEmbeddedId = TestHelpers.ParseTail(0x22); |
97 | UUID ncAssetId = TestHelpers.ParseTail(0x30); | 97 | UUID ncAssetId = TestHelpers.ParseTail(0x30); |
98 | 98 | ||
99 | AssetBase ncAsset | 99 | AssetBase ncAsset |
100 | = AssetHelpers.CreateNotecardAsset( | 100 | = AssetHelpers.CreateNotecardAsset( |
101 | ncAssetId, string.Format("Hello{0}World{1}", embeddedId, missingEmbeddedId)); | 101 | ncAssetId, string.Format("Hello{0}World{1}", embeddedId, missingEmbeddedId)); |
102 | m_assetService.Store(ncAsset); | 102 | m_assetService.Store(ncAsset); |
103 | 103 | ||
104 | AssetBase embeddedAsset | 104 | AssetBase embeddedAsset |
105 | = AssetHelpers.CreateNotecardAsset(embeddedId, string.Format("{0} We'll meet again.", secondLevelEmbeddedId)); | 105 | = AssetHelpers.CreateNotecardAsset(embeddedId, string.Format("{0} We'll meet again.", secondLevelEmbeddedId)); |
106 | m_assetService.Store(embeddedAsset); | 106 | m_assetService.Store(embeddedAsset); |
107 | 107 | ||
108 | AssetBase secondLevelEmbeddedAsset | 108 | AssetBase secondLevelEmbeddedAsset |
109 | = AssetHelpers.CreateNotecardAsset(secondLevelEmbeddedId, "Don't know where, don't know when."); | 109 | = AssetHelpers.CreateNotecardAsset(secondLevelEmbeddedId, "Don't know where, don't know when."); |
110 | m_assetService.Store(secondLevelEmbeddedAsset); | 110 | m_assetService.Store(secondLevelEmbeddedAsset); |
111 | 111 | ||