Merge branch 'master' of ssh://opensimulator.org/var/git/opensim
commit
d4ed38821f
|
@ -32,6 +32,7 @@ using NUnit.Framework;
|
|||
using NUnit.Framework.Constraints;
|
||||
using OpenMetaverse;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Tests.Common;
|
||||
using System.Data.Common;
|
||||
using log4net;
|
||||
|
||||
|
@ -105,6 +106,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T001_LoadEmpty()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
Assert.That(m_db.ExistsAsset(uuid1), Is.False);
|
||||
Assert.That(m_db.ExistsAsset(uuid2), Is.False);
|
||||
Assert.That(m_db.ExistsAsset(uuid3), Is.False);
|
||||
|
@ -113,6 +116,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T010_StoreReadVerifyAssets()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
AssetBase a1 = new AssetBase(uuid1, "asset one", (sbyte)AssetType.Texture, critter1.ToString());
|
||||
AssetBase a2 = new AssetBase(uuid2, "asset two", (sbyte)AssetType.Texture, critter2.ToString());
|
||||
AssetBase a3 = new AssetBase(uuid3, "asset three", (sbyte)AssetType.Texture, critter3.ToString());
|
||||
|
@ -178,6 +183,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T020_CheckForWeirdCreatorID()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
// It is expected that eventually the CreatorID might be an arbitrary string (an URI)
|
||||
// rather than a valid UUID (?). This test is to make sure that the database layer does not
|
||||
// attempt to convert CreatorID to GUID, but just passes it both ways as a string.
|
||||
|
|
|
@ -31,6 +31,7 @@ using NUnit.Framework;
|
|||
using OpenMetaverse;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Region.Framework.Interfaces;
|
||||
using OpenSim.Tests.Common;
|
||||
using System.Text;
|
||||
using log4net;
|
||||
using System.Reflection;
|
||||
|
@ -106,6 +107,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T010_EstateSettingsSimpleStorage_MinimumParameterSet()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
EstateSettingsSimpleStorage(
|
||||
REGION_ID,
|
||||
DataTestUtil.STRING_MIN,
|
||||
|
@ -137,6 +140,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T011_EstateSettingsSimpleStorage_MaximumParameterSet()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
EstateSettingsSimpleStorage(
|
||||
REGION_ID,
|
||||
DataTestUtil.STRING_MAX(64),
|
||||
|
@ -168,6 +173,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T012_EstateSettingsSimpleStorage_AccurateParameterSet()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
EstateSettingsSimpleStorage(
|
||||
REGION_ID,
|
||||
DataTestUtil.STRING_MAX(1),
|
||||
|
@ -199,6 +206,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T012_EstateSettingsRandomStorage()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
// Letting estate store generate rows to database for us
|
||||
EstateSettings originalSettings = db.LoadEstateSettings(REGION_ID, true);
|
||||
new PropertyScrambler<EstateSettings>()
|
||||
|
@ -218,6 +227,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T020_EstateSettingsManagerList()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
// Letting estate store generate rows to database for us
|
||||
EstateSettings originalSettings = db.LoadEstateSettings(REGION_ID, true);
|
||||
|
||||
|
@ -237,6 +248,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T021_EstateSettingsUserList()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
// Letting estate store generate rows to database for us
|
||||
EstateSettings originalSettings = db.LoadEstateSettings(REGION_ID, true);
|
||||
|
||||
|
@ -256,6 +269,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T022_EstateSettingsGroupList()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
// Letting estate store generate rows to database for us
|
||||
EstateSettings originalSettings = db.LoadEstateSettings(REGION_ID, true);
|
||||
|
||||
|
@ -275,6 +290,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T022_EstateSettingsBanList()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
// Letting estate store generate rows to database for us
|
||||
EstateSettings originalSettings = db.LoadEstateSettings(REGION_ID, true);
|
||||
|
||||
|
|
|
@ -30,6 +30,7 @@ using log4net.Config;
|
|||
using NUnit.Framework;
|
||||
using OpenMetaverse;
|
||||
using OpenSim.Framework;
|
||||
using OpenSim.Tests.Common;
|
||||
using log4net;
|
||||
using System.Reflection;
|
||||
using System.Data.Common;
|
||||
|
@ -113,6 +114,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T001_LoadEmpty()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
Assert.That(db.getInventoryFolder(zero), Is.Null);
|
||||
Assert.That(db.getInventoryFolder(folder1), Is.Null);
|
||||
Assert.That(db.getInventoryFolder(folder2), Is.Null);
|
||||
|
@ -131,6 +134,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T010_FolderNonParent()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
InventoryFolderBase f1 = NewFolder(folder2, folder1, owner1, name2);
|
||||
// the folder will go in
|
||||
db.addInventoryFolder(f1);
|
||||
|
@ -141,6 +146,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T011_FolderCreate()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
InventoryFolderBase f1 = NewFolder(folder1, zero, owner1, name1);
|
||||
// TODO: this is probably wrong behavior, but is what we have
|
||||
// db.updateInventoryFolder(f1);
|
||||
|
@ -153,7 +160,7 @@ namespace OpenSim.Data.Tests
|
|||
db.addInventoryFolder(f1);
|
||||
InventoryFolderBase f1a = db.getUserRootFolder(owner1);
|
||||
Assert.That(folder1, Is.EqualTo(f1a.ID), "Assert.That(folder1, Is.EqualTo(f1a.ID))");
|
||||
Assert.That(name1, Text.Matches(f1a.Name), "Assert.That(name1, Text.Matches(f1a.Name))");
|
||||
Assert.That(name1, Is.StringMatching(f1a.Name), "Assert.That(name1, Text.Matches(f1a.Name))");
|
||||
}
|
||||
|
||||
// we now have the following tree
|
||||
|
@ -164,6 +171,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T012_FolderList()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
InventoryFolderBase f2 = NewFolder(folder3, folder1, owner1, name3);
|
||||
db.addInventoryFolder(f2);
|
||||
|
||||
|
@ -178,6 +187,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T013_FolderHierarchy()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
int n = db.getFolderHierarchy(zero).Count; // (for dbg - easier to see what's returned)
|
||||
Assert.That(n, Is.EqualTo(0), "Assert.That(db.getFolderHierarchy(zero).Count, Is.EqualTo(0))");
|
||||
n = db.getFolderHierarchy(folder1).Count;
|
||||
|
@ -191,6 +202,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T014_MoveFolder()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
InventoryFolderBase f2 = db.getInventoryFolder(folder2);
|
||||
f2.ParentID = folder3;
|
||||
db.moveInventoryFolder(f2);
|
||||
|
@ -205,6 +218,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T015_FolderHierarchy()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
Assert.That(db.getFolderHierarchy(zero).Count, Is.EqualTo(0), "Assert.That(db.getFolderHierarchy(zero).Count, Is.EqualTo(0))");
|
||||
Assert.That(db.getFolderHierarchy(folder1).Count, Is.EqualTo(2), "Assert.That(db.getFolderHierarchy(folder1).Count, Is.EqualTo(2))");
|
||||
Assert.That(db.getFolderHierarchy(folder2).Count, Is.EqualTo(0), "Assert.That(db.getFolderHierarchy(folder2).Count, Is.EqualTo(0))");
|
||||
|
@ -216,6 +231,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T100_NoItems()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
Assert.That(db.getInventoryInFolder(zero).Count, Is.EqualTo(0), "Assert.That(db.getInventoryInFolder(zero).Count, Is.EqualTo(0))");
|
||||
Assert.That(db.getInventoryInFolder(folder1).Count, Is.EqualTo(0), "Assert.That(db.getInventoryInFolder(folder1).Count, Is.EqualTo(0))");
|
||||
Assert.That(db.getInventoryInFolder(folder2).Count, Is.EqualTo(0), "Assert.That(db.getInventoryInFolder(folder2).Count, Is.EqualTo(0))");
|
||||
|
@ -228,6 +245,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T101_CreatItems()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
db.addInventoryItem(NewItem(item1, folder3, owner1, iname1, asset1));
|
||||
db.addInventoryItem(NewItem(item2, folder3, owner1, iname2, asset2));
|
||||
db.addInventoryItem(NewItem(item3, folder3, owner1, iname3, asset3));
|
||||
|
@ -237,6 +256,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T102_CompareItems()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
InventoryItemBase i1 = db.getInventoryItem(item1);
|
||||
InventoryItemBase i2 = db.getInventoryItem(item2);
|
||||
InventoryItemBase i3 = db.getInventoryItem(item3);
|
||||
|
@ -254,6 +275,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T103_UpdateItem()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
// TODO: probably shouldn't have the ability to have an
|
||||
// owner of an item in a folder not owned by the user
|
||||
|
||||
|
@ -272,6 +295,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T104_RandomUpdateItem()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
PropertyScrambler<InventoryFolderBase> folderScrambler =
|
||||
new PropertyScrambler<InventoryFolderBase>()
|
||||
.DontScramble(x => x.Owner)
|
||||
|
@ -329,6 +354,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T999_StillNull()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
// After all tests are run, these should still return no results
|
||||
Assert.That(db.getInventoryFolder(zero), Is.Null);
|
||||
Assert.That(db.getInventoryItem(zero), Is.Null);
|
||||
|
|
|
@ -35,6 +35,7 @@ using OpenMetaverse;
|
|||
using OpenSim.Framework;
|
||||
using OpenSim.Region.Framework.Interfaces;
|
||||
using OpenSim.Region.Framework.Scenes;
|
||||
using OpenSim.Tests.Common;
|
||||
using log4net;
|
||||
using System.Reflection;
|
||||
using System.Data.Common;
|
||||
|
@ -120,15 +121,18 @@ namespace OpenSim.Data.Tests
|
|||
string[] reg_tables = new string[] {
|
||||
"prims", "primshapes", "primitems", "terrain", "land", "landaccesslist", "regionban", "regionsettings"
|
||||
};
|
||||
|
||||
if (m_rebuildDB)
|
||||
{
|
||||
DropTables(reg_tables);
|
||||
ResetMigrations("RegionStore");
|
||||
}else
|
||||
}
|
||||
else
|
||||
{
|
||||
ClearTables(reg_tables);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
// Test Plan
|
||||
// Prims
|
||||
// - empty test - 001
|
||||
|
@ -147,6 +151,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T001_LoadEmpty()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
List<SceneObjectGroup> objs = db.LoadObjects(region1);
|
||||
List<SceneObjectGroup> objs3 = db.LoadObjects(region3);
|
||||
List<LandData> land = db.LoadLandObjects(region1);
|
||||
|
@ -163,6 +169,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T010_StoreSimpleObject()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
SceneObjectGroup sog = NewSOG("object1", prim1, region1);
|
||||
SceneObjectGroup sog2 = NewSOG("object2", prim2, region1);
|
||||
|
||||
|
@ -196,6 +204,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T011_ObjectNames()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
List<SceneObjectGroup> objs = db.LoadObjects(region1);
|
||||
foreach (SceneObjectGroup sog in objs)
|
||||
{
|
||||
|
@ -208,6 +218,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T012_SceneParts()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
UUID tmp0 = UUID.Random();
|
||||
UUID tmp1 = UUID.Random();
|
||||
UUID tmp2 = UUID.Random();
|
||||
|
@ -241,6 +253,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T013_DatabasePersistency()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
// Sets all ScenePart parameters, stores and retrieves them, then check for consistency with initial data
|
||||
// The commented Asserts are the ones that are unchangeable (when storing on the database, their "Set" values are ignored
|
||||
// The ObjectFlags is an exception, if it is entered incorrectly, the object IS REJECTED on the database silently.
|
||||
|
@ -416,6 +430,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T014_UpdateObject()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
string text1 = "object1 text";
|
||||
SceneObjectGroup sog = FindSOG("object1", region1);
|
||||
sog.RootPart.Text = text1;
|
||||
|
@ -518,14 +534,19 @@ namespace OpenSim.Data.Tests
|
|||
Assert.That(scale,Is.EqualTo(p.Scale), "Assert.That(scale,Is.EqualTo(p.Scale))");
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Test storage and retrieval of a scene object with a large number of parts.
|
||||
/// </summary>
|
||||
[Test]
|
||||
public void T015_LargeSceneObjects()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
UUID id = UUID.Random();
|
||||
Dictionary<UUID, SceneObjectPart> mydic = new Dictionary<UUID, SceneObjectPart>();
|
||||
SceneObjectGroup sog = NewSOG("Test SOG", id, region4);
|
||||
mydic.Add(sog.RootPart.UUID,sog.RootPart);
|
||||
for (int i=0;i<30;i++)
|
||||
for (int i = 0; i < 30; i++)
|
||||
{
|
||||
UUID tmp = UUID.Random();
|
||||
SceneObjectPart sop = NewSOP(("Test SOP " + i.ToString()),tmp);
|
||||
|
@ -545,12 +566,13 @@ namespace OpenSim.Data.Tests
|
|||
|
||||
mydic.Add(tmp,sop);
|
||||
sog.AddPart(sop);
|
||||
db.StoreObject(sog, region4);
|
||||
}
|
||||
|
||||
db.StoreObject(sog, region4);
|
||||
|
||||
SceneObjectGroup retsog = FindSOG("Test SOG", region4);
|
||||
SceneObjectPart[] parts = retsog.Parts;
|
||||
for (int i=0;i<30;i++)
|
||||
for (int i = 0; i < 30; i++)
|
||||
{
|
||||
SceneObjectPart cursop = mydic[parts[i].UUID];
|
||||
Assert.That(cursop.GroupPosition,Is.EqualTo(parts[i].GroupPosition), "Assert.That(cursop.GroupPosition,Is.EqualTo(parts[i].GroupPosition))");
|
||||
|
@ -565,6 +587,8 @@ namespace OpenSim.Data.Tests
|
|||
//[Test]
|
||||
public void T016_RandomSogWithSceneParts()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
PropertyScrambler<SceneObjectPart> scrambler =
|
||||
new PropertyScrambler<SceneObjectPart>()
|
||||
.DontScramble(x => x.UUID);
|
||||
|
@ -631,7 +655,6 @@ namespace OpenSim.Data.Tests
|
|||
return sog;
|
||||
}
|
||||
|
||||
|
||||
// NOTE: it is a bad practice to rely on some of the previous tests having been run before.
|
||||
// If the tests are run manually, one at a time, each starts with full class init (DB cleared).
|
||||
// Even when all tests are run, NUnit 2.5+ no longer guarantee a specific test order.
|
||||
|
@ -640,6 +663,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T020_PrimInventoryEmpty()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
SceneObjectGroup sog = GetMySOG("object1");
|
||||
TaskInventoryItem t = sog.GetInventoryItem(sog.RootPart.LocalId, item1);
|
||||
Assert.That(t, Is.Null);
|
||||
|
@ -659,10 +684,11 @@ namespace OpenSim.Data.Tests
|
|||
db.StorePrimInventory(sog.RootPart.UUID, list);
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public void T021_PrimInventoryBasic()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
SceneObjectGroup sog = GetMySOG("object1");
|
||||
InventoryItemBase i = NewItem(item1, zero, zero, itemname1, zero);
|
||||
|
||||
|
@ -690,20 +716,19 @@ namespace OpenSim.Data.Tests
|
|||
Assert.That(t2.Name, Is.EqualTo("My New Name"), "Assert.That(t.Name, Is.EqualTo(\"My New Name\"))");
|
||||
|
||||
// Removing inventory
|
||||
|
||||
List<TaskInventoryItem> list = new List<TaskInventoryItem>();
|
||||
db.StorePrimInventory(prim1, list);
|
||||
|
||||
sog = FindSOG("object1", region1);
|
||||
t = sog.GetInventoryItem(sog.RootPart.LocalId, item1);
|
||||
Assert.That(t, Is.Null);
|
||||
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public void T025_PrimInventoryPersistency()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
InventoryItemBase i = new InventoryItemBase();
|
||||
UUID id = UUID.Random();
|
||||
i.ID = id;
|
||||
|
@ -775,6 +800,8 @@ namespace OpenSim.Data.Tests
|
|||
[ExpectedException(typeof(ArgumentException))]
|
||||
public void T026_PrimInventoryMany()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
UUID i1,i2,i3,i4;
|
||||
i1 = UUID.Random();
|
||||
i2 = UUID.Random();
|
||||
|
@ -805,15 +832,18 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T052_RemoveObject()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
db.RemoveObject(prim1, region1);
|
||||
SceneObjectGroup sog = FindSOG("object1", region1);
|
||||
Assert.That(sog, Is.Null);
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
public void T100_DefaultRegionInfo()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
RegionSettings r1 = db.LoadRegionSettings(region1);
|
||||
Assert.That(r1.RegionUUID, Is.EqualTo(region1), "Assert.That(r1.RegionUUID, Is.EqualTo(region1))");
|
||||
|
||||
|
@ -824,6 +854,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T101_UpdateRegionInfo()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
int agentlimit = random.Next();
|
||||
double objectbonus = random.Next();
|
||||
int maturity = random.Next();
|
||||
|
@ -923,12 +955,13 @@ namespace OpenSim.Data.Tests
|
|||
Assert.That(r1a.FixedSun,Is.True);
|
||||
Assert.That(r1a.SunPosition, Is.EqualTo(sunpos), "Assert.That(r1a.SunPosition, Is.EqualTo(sunpos))");
|
||||
Assert.That(r1a.Covenant, Is.EqualTo(cov), "Assert.That(r1a.Covenant, Is.EqualTo(cov))");
|
||||
|
||||
}
|
||||
|
||||
[Test]
|
||||
public void T300_NoTerrain()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
Assert.That(db.LoadTerrain(zero), Is.Null);
|
||||
Assert.That(db.LoadTerrain(region1), Is.Null);
|
||||
Assert.That(db.LoadTerrain(region2), Is.Null);
|
||||
|
@ -938,6 +971,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T301_CreateTerrain()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
double[,] t1 = GenTerrain(height1);
|
||||
db.StoreTerrain(t1, region1);
|
||||
|
||||
|
@ -950,6 +985,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T302_FetchTerrain()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
double[,] baseterrain1 = GenTerrain(height1);
|
||||
double[,] baseterrain2 = GenTerrain(height2);
|
||||
double[,] t1 = db.LoadTerrain(region1);
|
||||
|
@ -960,6 +997,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T303_UpdateTerrain()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
double[,] baseterrain1 = GenTerrain(height1);
|
||||
double[,] baseterrain2 = GenTerrain(height2);
|
||||
db.StoreTerrain(baseterrain2, region1);
|
||||
|
@ -972,6 +1011,8 @@ namespace OpenSim.Data.Tests
|
|||
[Test]
|
||||
public void T400_EmptyLand()
|
||||
{
|
||||
TestHelper.InMethod();
|
||||
|
||||
Assert.That(db.LoadLandObjects(zero).Count, Is.EqualTo(0), "Assert.That(db.LoadLandObjects(zero).Count, Is.EqualTo(0))");
|
||||
Assert.That(db.LoadLandObjects(region1).Count, Is.EqualTo(0), "Assert.That(db.LoadLandObjects(region1).Count, Is.EqualTo(0))");
|
||||
Assert.That(db.LoadLandObjects(region2).Count, Is.EqualTo(0), "Assert.That(db.LoadLandObjects(region2).Count, Is.EqualTo(0))");
|
||||
|
@ -1007,25 +1048,12 @@ namespace OpenSim.Data.Tests
|
|||
return true;
|
||||
}
|
||||
|
||||
|
||||
private SceneObjectGroup FindSOG(string name, UUID r)
|
||||
{
|
||||
List<SceneObjectGroup> objs = db.LoadObjects(r);
|
||||
foreach (SceneObjectGroup sog in objs)
|
||||
{
|
||||
SceneObjectPart p = sog.RootPart;
|
||||
if (p.Name == name) {
|
||||
RegionInfo regionInfo = new RegionInfo();
|
||||
regionInfo.RegionID = r;
|
||||
regionInfo.RegionLocX = 0;
|
||||
regionInfo.RegionLocY = 0;
|
||||
|
||||
Scene scene = new Scene(regionInfo);
|
||||
sog.SetScene(scene);
|
||||
|
||||
if (sog.Name == name)
|
||||
return sog;
|
||||
}
|
||||
}
|
||||
|
||||
return null;
|
||||
}
|
||||
|
|
|
@ -378,6 +378,22 @@ namespace OpenSim.Framework.Servers.HttpServer
|
|||
/// <param name="response"></param>
|
||||
public virtual void HandleRequest(OSHttpRequest request, OSHttpResponse response)
|
||||
{
|
||||
if (request.HttpMethod == String.Empty) // Can't handle empty requests, not wasting a thread
|
||||
{
|
||||
try
|
||||
{
|
||||
SendHTML500(response);
|
||||
}
|
||||
catch
|
||||
{
|
||||
}
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
string requestMethod = request.HttpMethod;
|
||||
string uriString = request.RawUrl;
|
||||
|
||||
string reqnum = "unknown";
|
||||
int tickstart = Environment.TickCount;
|
||||
|
||||
|
@ -495,7 +511,7 @@ namespace OpenSim.Framework.Servers.HttpServer
|
|||
|
||||
request.InputStream.Close();
|
||||
|
||||
// HTTP IN support. The script engine taes it from here
|
||||
// HTTP IN support. The script engine takes it from here
|
||||
// Nothing to worry about for us.
|
||||
//
|
||||
if (buffer == null)
|
||||
|
@ -609,9 +625,9 @@ namespace OpenSim.Framework.Servers.HttpServer
|
|||
{
|
||||
m_log.ErrorFormat("[BASE HTTP SERVER]: HandleRequest() threw ", e);
|
||||
}
|
||||
catch (InvalidOperationException e)
|
||||
catch (Exception e)
|
||||
{
|
||||
m_log.ErrorFormat("[BASE HTTP SERVER]: HandleRequest() threw {0}", e);
|
||||
m_log.ErrorFormat("[BASE HTTP SERVER]: HandleRequest() threw " + e.ToString());
|
||||
SendHTML500(response);
|
||||
}
|
||||
finally
|
||||
|
@ -619,9 +635,9 @@ namespace OpenSim.Framework.Servers.HttpServer
|
|||
// Every month or so this will wrap and give bad numbers, not really a problem
|
||||
// since its just for reporting, 200ms limit can be adjusted
|
||||
int tickdiff = Environment.TickCount - tickstart;
|
||||
if (tickdiff > 500)
|
||||
if (tickdiff > 3000)
|
||||
m_log.InfoFormat(
|
||||
"[BASE HTTP SERVER]: slow request <{0}> for {1} took {2} ms", reqnum, request.RawUrl, tickdiff);
|
||||
"[BASE HTTP SERVER]: slow {0} request for {1} from {2} took {3} ms", requestMethod, uriString, request.RemoteIPEndPoint.ToString(), tickdiff);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
@ -642,7 +642,7 @@ namespace OpenSim.Region.CoreModules.World.Permissions
|
|||
/// implemented by callers.
|
||||
/// </summary>
|
||||
/// <param name="currentUser"></param>
|
||||
/// <param name="objId"></param>
|
||||
/// <param name="objId">This is a scene object group UUID</param>
|
||||
/// <param name="denyOnLocked"></param>
|
||||
/// <returns></returns>
|
||||
protected bool GenericObjectPermission(UUID currentUser, UUID objId, bool denyOnLocked)
|
||||
|
@ -1896,7 +1896,7 @@ namespace OpenSim.Region.CoreModules.World.Permissions
|
|||
// "[PERMISSIONS]: Checking CanControlPrimMedia for {0} on {1} face {2} with control permissions {3}",
|
||||
// agentID, primID, face, me.ControlPermissions);
|
||||
|
||||
return GenericPrimMediaPermission(part, agentID, me.ControlPermissions);
|
||||
return GenericObjectPermission(agentID, part.ParentGroup.UUID, true);
|
||||
}
|
||||
|
||||
private bool CanInteractWithPrimMedia(UUID agentID, UUID primID, int face)
|
||||
|
|
Loading…
Reference in New Issue