Merge branch 'master' into careminster

Conflicts:
	OpenSim/Region/Framework/Scenes/SceneObjectPart.cs
avinationmerge
Melanie 2012-03-07 01:05:32 +00:00
commit f8b1b86c3a
5 changed files with 25 additions and 22 deletions

View File

@ -1691,8 +1691,6 @@ namespace OpenSim.Region.Framework.Scenes
if (userExposed) if (userExposed)
dupe.UUID = UUID.Random(); dupe.UUID = UUID.Random();
// The PhysActor cannot be valid on a copy because the copy is not in the scene yet.
// Null it, the caller has to create a new one once the object is added to a scene
dupe.PhysActor = null; dupe.PhysActor = null;
dupe.OwnerID = AgentID; dupe.OwnerID = AgentID;

View File

@ -177,9 +177,9 @@ namespace OpenSim.Data.Null
// Therefore, we need to store parts rather than groups. // Therefore, we need to store parts rather than groups.
foreach (SceneObjectPart prim in obj.Parts) foreach (SceneObjectPart prim in obj.Parts)
{ {
m_log.DebugFormat( // m_log.DebugFormat(
"[MOCK REGION DATA PLUGIN]: Storing part {0} {1} in object {2} {3} in region {4}", // "[MOCK REGION DATA PLUGIN]: Storing part {0} {1} in object {2} {3} in region {4}",
prim.Name, prim.UUID, obj.Name, obj.UUID, regionUUID); // prim.Name, prim.UUID, obj.Name, obj.UUID, regionUUID);
m_sceneObjectParts[prim.UUID] = prim; m_sceneObjectParts[prim.UUID] = prim;
} }
@ -193,9 +193,9 @@ namespace OpenSim.Data.Null
{ {
if (part.ParentGroup.UUID == obj) if (part.ParentGroup.UUID == obj)
{ {
m_log.DebugFormat( // m_log.DebugFormat(
"[MOCK REGION DATA PLUGIN]: Removing part {0} {1} as part of object {2} from {3}", // "[MOCK REGION DATA PLUGIN]: Removing part {0} {1} as part of object {2} from {3}",
part.Name, part.UUID, obj, regionUUID); // part.Name, part.UUID, obj, regionUUID);
m_sceneObjectParts.Remove(part.UUID); m_sceneObjectParts.Remove(part.UUID);
} }
} }
@ -215,8 +215,8 @@ namespace OpenSim.Data.Null
{ {
if (prim.IsRoot) if (prim.IsRoot)
{ {
m_log.DebugFormat( // m_log.DebugFormat(
"[MOCK REGION DATA PLUGIN]: Loading root part {0} {1} in {2}", prim.Name, prim.UUID, regionUUID); // "[MOCK REGION DATA PLUGIN]: Loading root part {0} {1} in {2}", prim.Name, prim.UUID, regionUUID);
objects[prim.UUID] = new SceneObjectGroup(prim); objects[prim.UUID] = new SceneObjectGroup(prim);
} }
} }
@ -240,9 +240,9 @@ namespace OpenSim.Data.Null
} }
else else
{ {
m_log.WarnFormat( // m_log.WarnFormat(
"[MOCK REGION DATA PLUGIN]: Database contains an orphan child prim {0} {1} in region {2} pointing to missing parent {3}. This prim will not be loaded.", // "[MOCK REGION DATA PLUGIN]: Database contains an orphan child prim {0} {1} in region {2} pointing to missing parent {3}. This prim will not be loaded.",
prim.Name, prim.UUID, regionUUID, prim.ParentUUID); // prim.Name, prim.UUID, regionUUID, prim.ParentUUID);
} }
} }
} }

View File

@ -76,6 +76,7 @@ namespace OpenSim.Tests.Torture
public void TearDown() public void TearDown()
{ {
scene.Close(); scene.Close();
scene = null;
GC.Collect(); GC.Collect();
GC.WaitForPendingFinalizers(); GC.WaitForPendingFinalizers();
@ -102,7 +103,7 @@ namespace OpenSim.Tests.Torture
} }
[Test] [Test]
public void TestAddRemove100NPCs() public void Test_0001_AddRemove100NPCs()
{ {
TestHelpers.InMethod(); TestHelpers.InMethod();
// log4net.Config.XmlConfigurator.Configure(); // log4net.Config.XmlConfigurator.Configure();
@ -111,7 +112,7 @@ namespace OpenSim.Tests.Torture
} }
[Test] [Test]
public void TestAddRemove1000NPCs() public void Test_0002_AddRemove1000NPCs()
{ {
TestHelpers.InMethod(); TestHelpers.InMethod();
// log4net.Config.XmlConfigurator.Configure(); // log4net.Config.XmlConfigurator.Configure();
@ -120,7 +121,7 @@ namespace OpenSim.Tests.Torture
} }
[Test] [Test]
public void TestAddRemove2000NPCs() public void Test_0003_AddRemove2000NPCs()
{ {
TestHelpers.InMethod(); TestHelpers.InMethod();
// log4net.Config.XmlConfigurator.Configure(); // log4net.Config.XmlConfigurator.Configure();

View File

@ -66,7 +66,7 @@ namespace OpenSim.Tests.Torture
// } // }
[Test] [Test]
public void Test0001_10K_1PrimObjects() public void Test_0001_10K_1PrimObjects()
{ {
TestHelpers.InMethod(); TestHelpers.InMethod();
// log4net.Config.XmlConfigurator.Configure(); // log4net.Config.XmlConfigurator.Configure();
@ -75,7 +75,7 @@ namespace OpenSim.Tests.Torture
} }
[Test] [Test]
public void Test0002_100K_1PrimObjects() public void Test_0002_100K_1PrimObjects()
{ {
TestHelpers.InMethod(); TestHelpers.InMethod();
// log4net.Config.XmlConfigurator.Configure(); // log4net.Config.XmlConfigurator.Configure();
@ -84,7 +84,7 @@ namespace OpenSim.Tests.Torture
} }
[Test] [Test]
public void Test0003_200K_1PrimObjects() public void Test_0003_200K_1PrimObjects()
{ {
TestHelpers.InMethod(); TestHelpers.InMethod();
// log4net.Config.XmlConfigurator.Configure(); // log4net.Config.XmlConfigurator.Configure();
@ -93,7 +93,7 @@ namespace OpenSim.Tests.Torture
} }
[Test] [Test]
public void Test0011_100_100PrimObjects() public void Test_0011_100_100PrimObjects()
{ {
TestHelpers.InMethod(); TestHelpers.InMethod();
// log4net.Config.XmlConfigurator.Configure(); // log4net.Config.XmlConfigurator.Configure();
@ -102,7 +102,7 @@ namespace OpenSim.Tests.Torture
} }
[Test] [Test]
public void Test0012_1K_100PrimObjects() public void Test_0012_1K_100PrimObjects()
{ {
TestHelpers.InMethod(); TestHelpers.InMethod();
// log4net.Config.XmlConfigurator.Configure(); // log4net.Config.XmlConfigurator.Configure();
@ -111,7 +111,7 @@ namespace OpenSim.Tests.Torture
} }
[Test] [Test]
public void Test0013_2K_100PrimObjects() public void Test_0013_2K_100PrimObjects()
{ {
TestHelpers.InMethod(); TestHelpers.InMethod();
// log4net.Config.XmlConfigurator.Configure(); // log4net.Config.XmlConfigurator.Configure();
@ -123,6 +123,9 @@ namespace OpenSim.Tests.Torture
{ {
UUID ownerId = new UUID("F0000000-0000-0000-0000-000000000000"); UUID ownerId = new UUID("F0000000-0000-0000-0000-000000000000");
// Using a local variable for scene, at least on mono 2.6.7, means that it's much more likely to be garbage
// collected when we teardown this test. If it's done in a member variable, even if that is subsequently
// nulled out, the garbage collect can be delayed.
TestScene scene = SceneHelpers.SetupScene(); TestScene scene = SceneHelpers.SetupScene();
// Process process = Process.GetCurrentProcess(); // Process process = Process.GetCurrentProcess();

View File

@ -95,6 +95,7 @@ namespace OpenSim.Tests.Torture
public void TearDown() public void TearDown()
{ {
m_scene.Close(); m_scene.Close();
m_scene = null;
GC.Collect(); GC.Collect();
GC.WaitForPendingFinalizers(); GC.WaitForPendingFinalizers();
} }