Merge branch 'master' into careminster
Conflicts: OpenSim/Region/Framework/Scenes/Scene.csavinationmerge
commit
caa19862fa
|
@ -151,6 +151,14 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
|
|
||||||
#region IWorldComm Members
|
#region IWorldComm Members
|
||||||
|
|
||||||
|
public int ListenerCount
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
return m_listenerManager.ListenerCount;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Create a listen event callback with the specified filters.
|
/// Create a listen event callback with the specified filters.
|
||||||
/// The parameters localID,itemID are needed to uniquely identify
|
/// The parameters localID,itemID are needed to uniquely identify
|
||||||
|
@ -438,6 +446,18 @@ namespace OpenSim.Region.CoreModules.Scripting.WorldComm
|
||||||
private int m_maxhandles;
|
private int m_maxhandles;
|
||||||
private int m_curlisteners;
|
private int m_curlisteners;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Total number of listeners
|
||||||
|
/// </summary>
|
||||||
|
public int ListenerCount
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
lock (m_listeners)
|
||||||
|
return m_listeners.Count;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public ListenerManager(int maxlisteners, int maxhandles)
|
public ListenerManager(int maxlisteners, int maxhandles)
|
||||||
{
|
{
|
||||||
m_maxlisteners = maxlisteners;
|
m_maxlisteners = maxlisteners;
|
||||||
|
|
|
@ -48,8 +48,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
|
||||||
LogManager.GetLogger(
|
LogManager.GetLogger(
|
||||||
MethodBase.GetCurrentMethod().DeclaringType);
|
MethodBase.GetCurrentMethod().DeclaringType);
|
||||||
|
|
||||||
private static LocalGridServicesConnector m_MainInstance;
|
|
||||||
|
|
||||||
private IGridService m_GridService;
|
private IGridService m_GridService;
|
||||||
private Dictionary<UUID, RegionCache> m_LocalCache = new Dictionary<UUID, RegionCache>();
|
private Dictionary<UUID, RegionCache> m_LocalCache = new Dictionary<UUID, RegionCache>();
|
||||||
|
|
||||||
|
@ -62,7 +60,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
|
||||||
public LocalGridServicesConnector(IConfigSource source)
|
public LocalGridServicesConnector(IConfigSource source)
|
||||||
{
|
{
|
||||||
m_log.Debug("[LOCAL GRID CONNECTOR]: LocalGridServicesConnector instantiated");
|
m_log.Debug("[LOCAL GRID CONNECTOR]: LocalGridServicesConnector instantiated");
|
||||||
m_MainInstance = this;
|
|
||||||
InitialiseService(source);
|
InitialiseService(source);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -87,7 +84,6 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
|
||||||
if (name == Name)
|
if (name == Name)
|
||||||
{
|
{
|
||||||
InitialiseService(source);
|
InitialiseService(source);
|
||||||
m_MainInstance = this;
|
|
||||||
m_Enabled = true;
|
m_Enabled = true;
|
||||||
m_log.Info("[LOCAL GRID CONNECTOR]: Local grid connector enabled");
|
m_log.Info("[LOCAL GRID CONNECTOR]: Local grid connector enabled");
|
||||||
}
|
}
|
||||||
|
@ -125,14 +121,11 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
|
||||||
}
|
}
|
||||||
|
|
||||||
public void PostInitialise()
|
public void PostInitialise()
|
||||||
{
|
|
||||||
if (m_MainInstance == this)
|
|
||||||
{
|
{
|
||||||
MainConsole.Instance.Commands.AddCommand("LocalGridConnector", false, "show neighbours",
|
MainConsole.Instance.Commands.AddCommand("LocalGridConnector", false, "show neighbours",
|
||||||
"show neighbours",
|
"show neighbours",
|
||||||
"Shows the local regions' neighbours", NeighboursCommand);
|
"Shows the local regions' neighbours", NeighboursCommand);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public void Close()
|
public void Close()
|
||||||
{
|
{
|
||||||
|
@ -143,23 +136,17 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
|
||||||
if (m_Enabled)
|
if (m_Enabled)
|
||||||
scene.RegisterModuleInterface<IGridService>(this);
|
scene.RegisterModuleInterface<IGridService>(this);
|
||||||
|
|
||||||
if (m_MainInstance == this)
|
|
||||||
{
|
|
||||||
if (m_LocalCache.ContainsKey(scene.RegionInfo.RegionID))
|
if (m_LocalCache.ContainsKey(scene.RegionInfo.RegionID))
|
||||||
m_log.ErrorFormat("[LOCAL GRID CONNECTOR]: simulator seems to have more than one region with the same UUID. Please correct this!");
|
m_log.ErrorFormat("[LOCAL GRID CONNECTOR]: simulator seems to have more than one region with the same UUID. Please correct this!");
|
||||||
else
|
else
|
||||||
m_LocalCache.Add(scene.RegionInfo.RegionID, new RegionCache(scene));
|
m_LocalCache.Add(scene.RegionInfo.RegionID, new RegionCache(scene));
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public void RemoveRegion(Scene scene)
|
public void RemoveRegion(Scene scene)
|
||||||
{
|
|
||||||
if (m_MainInstance == this)
|
|
||||||
{
|
{
|
||||||
m_LocalCache[scene.RegionInfo.RegionID].Clear();
|
m_LocalCache[scene.RegionInfo.RegionID].Clear();
|
||||||
m_LocalCache.Remove(scene.RegionInfo.RegionID);
|
m_LocalCache.Remove(scene.RegionInfo.RegionID);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
public void RegionLoaded(Scene scene)
|
public void RegionLoaded(Scene scene)
|
||||||
{
|
{
|
||||||
|
@ -259,6 +246,5 @@ namespace OpenSim.Region.CoreModules.ServiceConnectorsOut.Grid
|
||||||
|
|
||||||
MainConsole.Instance.Output(caps.ToString());
|
MainConsole.Instance.Output(caps.ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -49,6 +49,11 @@ namespace OpenSim.Region.Framework.Interfaces
|
||||||
|
|
||||||
public interface IWorldComm
|
public interface IWorldComm
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Total number of listeners
|
||||||
|
/// </summary>
|
||||||
|
int ListenerCount { get; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Create a listen event callback with the specified filters.
|
/// Create a listen event callback with the specified filters.
|
||||||
/// The parameters localID,itemID are needed to uniquely identify
|
/// The parameters localID,itemID are needed to uniquely identify
|
||||||
|
|
|
@ -142,8 +142,11 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
public event OnPermissionErrorDelegate OnPermissionError;
|
public event OnPermissionErrorDelegate OnPermissionError;
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Fired when a new script is created.
|
/// Fired when a script is run.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Occurs after OnNewScript.
|
||||||
|
/// </remarks>
|
||||||
public event NewRezScript OnRezScript;
|
public event NewRezScript OnRezScript;
|
||||||
public delegate void NewRezScript(uint localID, UUID itemID, string script, int startParam, bool postOnRez, string engine, int stateSource);
|
public delegate void NewRezScript(uint localID, UUID itemID, string script, int startParam, bool postOnRez, string engine, int stateSource);
|
||||||
|
|
||||||
|
@ -191,10 +194,16 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
public event ClientClosed OnClientClosed;
|
public event ClientClosed OnClientClosed;
|
||||||
|
|
||||||
// Fired when a script is created
|
|
||||||
// The indication that a new script exists in this region.
|
|
||||||
public delegate void NewScript(UUID clientID, SceneObjectPart part, UUID itemID);
|
public delegate void NewScript(UUID clientID, SceneObjectPart part, UUID itemID);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Fired when a script is created.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Occurs before OnRezScript
|
||||||
|
/// </remarks>
|
||||||
public event NewScript OnNewScript;
|
public event NewScript OnNewScript;
|
||||||
|
|
||||||
public virtual void TriggerNewScript(UUID clientID, SceneObjectPart part, UUID itemID)
|
public virtual void TriggerNewScript(UUID clientID, SceneObjectPart part, UUID itemID)
|
||||||
{
|
{
|
||||||
NewScript handlerNewScript = OnNewScript;
|
NewScript handlerNewScript = OnNewScript;
|
||||||
|
@ -216,10 +225,16 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
//TriggerUpdateScript: triggered after Scene receives client's upload of updated script and stores it as asset
|
|
||||||
// An indication that the script has changed.
|
|
||||||
public delegate void UpdateScript(UUID clientID, UUID itemId, UUID primId, bool isScriptRunning, UUID newAssetID);
|
public delegate void UpdateScript(UUID clientID, UUID itemId, UUID primId, bool isScriptRunning, UUID newAssetID);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// An indication that the script has changed.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// Triggered after the scene receives a client's upload of an updated script and has stored it in an asset.
|
||||||
|
/// </remarks>
|
||||||
public event UpdateScript OnUpdateScript;
|
public event UpdateScript OnUpdateScript;
|
||||||
|
|
||||||
public virtual void TriggerUpdateScript(UUID clientId, UUID itemId, UUID primId, bool isScriptRunning, UUID newAssetID)
|
public virtual void TriggerUpdateScript(UUID clientId, UUID itemId, UUID primId, bool isScriptRunning, UUID newAssetID)
|
||||||
{
|
{
|
||||||
UpdateScript handlerUpdateScript = OnUpdateScript;
|
UpdateScript handlerUpdateScript = OnUpdateScript;
|
||||||
|
|
|
@ -651,10 +651,10 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
#region Region Config
|
#region Region Config
|
||||||
|
|
||||||
try
|
|
||||||
{
|
|
||||||
// Region config overrides global config
|
// Region config overrides global config
|
||||||
//
|
//
|
||||||
|
if (m_config.Configs["Startup"] != null)
|
||||||
|
{
|
||||||
IConfig startupConfig = m_config.Configs["Startup"];
|
IConfig startupConfig = m_config.Configs["Startup"];
|
||||||
|
|
||||||
m_defaultDrawDistance = startupConfig.GetFloat("DefaultDrawDistance",m_defaultDrawDistance);
|
m_defaultDrawDistance = startupConfig.GetFloat("DefaultDrawDistance",m_defaultDrawDistance);
|
||||||
|
@ -756,8 +756,6 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
|
|
||||||
#region Interest Management
|
#region Interest Management
|
||||||
|
|
||||||
if (m_config != null)
|
|
||||||
{
|
|
||||||
IConfig interestConfig = m_config.Configs["InterestManagement"];
|
IConfig interestConfig = m_config.Configs["InterestManagement"];
|
||||||
if (interestConfig != null)
|
if (interestConfig != null)
|
||||||
{
|
{
|
||||||
|
@ -778,9 +776,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
m_rootReprioritizationDistance = interestConfig.GetDouble("RootReprioritizationDistance", 10.0);
|
m_rootReprioritizationDistance = interestConfig.GetDouble("RootReprioritizationDistance", 10.0);
|
||||||
m_childReprioritizationDistance = interestConfig.GetDouble("ChildReprioritizationDistance", 20.0);
|
m_childReprioritizationDistance = interestConfig.GetDouble("ChildReprioritizationDistance", 20.0);
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
m_log.InfoFormat("[SCENE]: Using the {0} prioritization scheme", m_priorityScheme);
|
m_log.DebugFormat("[SCENE]: Using the {0} prioritization scheme", m_priorityScheme);
|
||||||
|
|
||||||
#endregion Interest Management
|
#endregion Interest Management
|
||||||
|
|
||||||
|
@ -1102,6 +1099,8 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
{
|
{
|
||||||
m_log.InfoFormat("[SCENE]: Closing down the single simulator: {0}", RegionInfo.RegionName);
|
m_log.InfoFormat("[SCENE]: Closing down the single simulator: {0}", RegionInfo.RegionName);
|
||||||
|
|
||||||
|
StatsReporter.Close();
|
||||||
|
|
||||||
m_restartTimer.Stop();
|
m_restartTimer.Stop();
|
||||||
m_restartTimer.Close();
|
m_restartTimer.Close();
|
||||||
|
|
||||||
|
|
|
@ -178,13 +178,19 @@ namespace OpenSim.Region.Framework.Scenes
|
||||||
m_objectCapacity = scene.RegionInfo.ObjectCapacity;
|
m_objectCapacity = scene.RegionInfo.ObjectCapacity;
|
||||||
m_report.AutoReset = true;
|
m_report.AutoReset = true;
|
||||||
m_report.Interval = statsUpdatesEveryMS;
|
m_report.Interval = statsUpdatesEveryMS;
|
||||||
m_report.Elapsed += new ElapsedEventHandler(statsHeartBeat);
|
m_report.Elapsed += statsHeartBeat;
|
||||||
m_report.Enabled = true;
|
m_report.Enabled = true;
|
||||||
|
|
||||||
if (StatsManager.SimExtraStats != null)
|
if (StatsManager.SimExtraStats != null)
|
||||||
OnSendStatsResult += StatsManager.SimExtraStats.ReceiveClassicSimStatsPacket;
|
OnSendStatsResult += StatsManager.SimExtraStats.ReceiveClassicSimStatsPacket;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public void Close()
|
||||||
|
{
|
||||||
|
m_report.Elapsed -= statsHeartBeat;
|
||||||
|
m_report.Close();
|
||||||
|
}
|
||||||
|
|
||||||
public void SetUpdateMS(int ms)
|
public void SetUpdateMS(int ms)
|
||||||
{
|
{
|
||||||
statsUpdatesEveryMS = ms;
|
statsUpdatesEveryMS = ms;
|
||||||
|
|
|
@ -247,7 +247,58 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
|
|
||||||
// Remove Sensors
|
// Remove Sensors
|
||||||
m_SensorRepeat[engine].UnSetSenseRepeaterEvents(localID, itemID);
|
m_SensorRepeat[engine].UnSetSenseRepeaterEvents(localID, itemID);
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get the sensor repeat plugin for this script engine.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="engine"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static SensorRepeat GetSensorRepeatPlugin(IScriptEngine engine)
|
||||||
|
{
|
||||||
|
if (m_SensorRepeat.ContainsKey(engine))
|
||||||
|
return m_SensorRepeat[engine];
|
||||||
|
else
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get the dataserver plugin for this script engine.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="engine"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static Dataserver GetDataserverPlugin(IScriptEngine engine)
|
||||||
|
{
|
||||||
|
if (m_Dataserver.ContainsKey(engine))
|
||||||
|
return m_Dataserver[engine];
|
||||||
|
else
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get the timer plugin for this script engine.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="engine"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static Timer GetTimerPlugin(IScriptEngine engine)
|
||||||
|
{
|
||||||
|
if (m_Timer.ContainsKey(engine))
|
||||||
|
return m_Timer[engine];
|
||||||
|
else
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get the listener plugin for this script engine.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="engine"></param>
|
||||||
|
/// <returns></returns>
|
||||||
|
public static Listener GetListenerPlugin(IScriptEngine engine)
|
||||||
|
{
|
||||||
|
if (m_Listener.ContainsKey(engine))
|
||||||
|
return m_Listener[engine];
|
||||||
|
else
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static void StateChange(IScriptEngine engine, uint localID, UUID itemID)
|
public static void StateChange(IScriptEngine engine, uint localID, UUID itemID)
|
||||||
|
@ -290,7 +341,7 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api
|
||||||
data.AddRange(timers);
|
data.AddRange(timers);
|
||||||
}
|
}
|
||||||
|
|
||||||
Object[] sensors=m_SensorRepeat[engine].GetSerializationData(itemID);
|
Object[] sensors = m_SensorRepeat[engine].GetSerializationData(itemID);
|
||||||
if (sensors.Length > 0)
|
if (sensors.Length > 0)
|
||||||
{
|
{
|
||||||
data.Add("sensor");
|
data.Add("sensor");
|
||||||
|
|
|
@ -38,6 +38,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins
|
||||||
{
|
{
|
||||||
public AsyncCommandManager m_CmdManager;
|
public AsyncCommandManager m_CmdManager;
|
||||||
|
|
||||||
|
public int DataserverRequestsCount
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
lock (DataserverRequests)
|
||||||
|
return DataserverRequests.Count;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private Dictionary<string, DataserverRequest> DataserverRequests =
|
private Dictionary<string, DataserverRequest> DataserverRequests =
|
||||||
new Dictionary<string, DataserverRequest>();
|
new Dictionary<string, DataserverRequest>();
|
||||||
|
|
||||||
|
|
|
@ -42,22 +42,29 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins
|
||||||
|
|
||||||
public AsyncCommandManager m_CmdManager;
|
public AsyncCommandManager m_CmdManager;
|
||||||
|
|
||||||
|
private IWorldComm m_commsPlugin;
|
||||||
|
|
||||||
|
public int ListenerCount
|
||||||
|
{
|
||||||
|
get { return m_commsPlugin.ListenerCount; }
|
||||||
|
}
|
||||||
|
|
||||||
public Listener(AsyncCommandManager CmdManager)
|
public Listener(AsyncCommandManager CmdManager)
|
||||||
{
|
{
|
||||||
m_CmdManager = CmdManager;
|
m_CmdManager = CmdManager;
|
||||||
|
m_commsPlugin = m_CmdManager.m_ScriptEngine.World.RequestModuleInterface<IWorldComm>();
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CheckListeners()
|
public void CheckListeners()
|
||||||
{
|
{
|
||||||
if (m_CmdManager.m_ScriptEngine.World == null)
|
if (m_CmdManager.m_ScriptEngine.World == null)
|
||||||
return;
|
return;
|
||||||
IWorldComm comms = m_CmdManager.m_ScriptEngine.World.RequestModuleInterface<IWorldComm>();
|
|
||||||
|
|
||||||
if (comms != null)
|
if (m_commsPlugin != null)
|
||||||
{
|
{
|
||||||
while (comms.HasMessages())
|
while (m_commsPlugin.HasMessages())
|
||||||
{
|
{
|
||||||
ListenerInfo lInfo = (ListenerInfo)comms.GetNextMessage();
|
ListenerInfo lInfo = (ListenerInfo)m_commsPlugin.GetNextMessage();
|
||||||
|
|
||||||
//Deliver data to prim's listen handler
|
//Deliver data to prim's listen handler
|
||||||
object[] resobj = new object[]
|
object[] resobj = new object[]
|
||||||
|
@ -81,17 +88,13 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins
|
||||||
|
|
||||||
public Object[] GetSerializationData(UUID itemID)
|
public Object[] GetSerializationData(UUID itemID)
|
||||||
{
|
{
|
||||||
IWorldComm comms = m_CmdManager.m_ScriptEngine.World.RequestModuleInterface<IWorldComm>();
|
return m_commsPlugin.GetSerializationData(itemID);
|
||||||
|
|
||||||
return comms.GetSerializationData(itemID);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public void CreateFromData(uint localID, UUID itemID, UUID hostID,
|
public void CreateFromData(uint localID, UUID itemID, UUID hostID,
|
||||||
Object[] data)
|
Object[] data)
|
||||||
{
|
{
|
||||||
IWorldComm comms = m_CmdManager.m_ScriptEngine.World.RequestModuleInterface<IWorldComm>();
|
m_commsPlugin.CreateFromData(localID, itemID, hostID, data);
|
||||||
|
|
||||||
comms.CreateFromData(localID, itemID, hostID, data);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -44,6 +44,18 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins
|
||||||
|
|
||||||
public AsyncCommandManager m_CmdManager;
|
public AsyncCommandManager m_CmdManager;
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Number of sensors active.
|
||||||
|
/// </summary>
|
||||||
|
public int SensorsCount
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
lock (SenseRepeatListLock)
|
||||||
|
return SenseRepeaters.Count;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public SensorRepeat(AsyncCommandManager CmdManager)
|
public SensorRepeat(AsyncCommandManager CmdManager)
|
||||||
{
|
{
|
||||||
m_CmdManager = CmdManager;
|
m_CmdManager = CmdManager;
|
||||||
|
|
|
@ -37,6 +37,15 @@ namespace OpenSim.Region.ScriptEngine.Shared.Api.Plugins
|
||||||
{
|
{
|
||||||
public AsyncCommandManager m_CmdManager;
|
public AsyncCommandManager m_CmdManager;
|
||||||
|
|
||||||
|
public int TimersCount
|
||||||
|
{
|
||||||
|
get
|
||||||
|
{
|
||||||
|
lock (TimerListLock)
|
||||||
|
return Timers.Count;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public Timer(AsyncCommandManager CmdManager)
|
public Timer(AsyncCommandManager CmdManager)
|
||||||
{
|
{
|
||||||
m_CmdManager = CmdManager;
|
m_CmdManager = CmdManager;
|
||||||
|
|
|
@ -29,6 +29,7 @@ using System.Collections.Generic;
|
||||||
using System.Text.RegularExpressions;
|
using System.Text.RegularExpressions;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using OpenSim.Region.ScriptEngine.Shared.CodeTools;
|
using OpenSim.Region.ScriptEngine.Shared.CodeTools;
|
||||||
|
using OpenSim.Tests.Common;
|
||||||
|
|
||||||
namespace OpenSim.Region.ScriptEngine.Shared.CodeTools.Tests
|
namespace OpenSim.Region.ScriptEngine.Shared.CodeTools.Tests
|
||||||
{
|
{
|
||||||
|
@ -43,6 +44,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestDefaultState()
|
public void TestDefaultState()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"default
|
string input = @"default
|
||||||
{
|
{
|
||||||
state_entry()
|
state_entry()
|
||||||
|
@ -63,6 +66,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestCustomState()
|
public void TestCustomState()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"default
|
string input = @"default
|
||||||
{
|
{
|
||||||
state_entry()
|
state_entry()
|
||||||
|
@ -93,6 +98,8 @@ state another_state
|
||||||
[Test]
|
[Test]
|
||||||
public void TestEventWithArguments()
|
public void TestEventWithArguments()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"default
|
string input = @"default
|
||||||
{
|
{
|
||||||
at_rot_target(integer tnum, rotation targetrot, rotation ourrot)
|
at_rot_target(integer tnum, rotation targetrot, rotation ourrot)
|
||||||
|
@ -113,6 +120,8 @@ state another_state
|
||||||
[Test]
|
[Test]
|
||||||
public void TestIntegerDeclaration()
|
public void TestIntegerDeclaration()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"default
|
string input = @"default
|
||||||
{
|
{
|
||||||
touch_start(integer num_detected)
|
touch_start(integer num_detected)
|
||||||
|
@ -135,6 +144,8 @@ state another_state
|
||||||
[Test]
|
[Test]
|
||||||
public void TestLoneIdent()
|
public void TestLoneIdent()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
// A lone ident should be removed completely as it's an error in C#
|
// A lone ident should be removed completely as it's an error in C#
|
||||||
// (MONO at least).
|
// (MONO at least).
|
||||||
string input = @"default
|
string input = @"default
|
||||||
|
@ -161,6 +172,8 @@ state another_state
|
||||||
[Test]
|
[Test]
|
||||||
public void TestAssignments()
|
public void TestAssignments()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"default
|
string input = @"default
|
||||||
{
|
{
|
||||||
touch_start(integer num_detected)
|
touch_start(integer num_detected)
|
||||||
|
@ -187,6 +200,8 @@ state another_state
|
||||||
[Test]
|
[Test]
|
||||||
public void TestAdditionSubtractionOperator()
|
public void TestAdditionSubtractionOperator()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"default
|
string input = @"default
|
||||||
{
|
{
|
||||||
touch_start(integer num_detected)
|
touch_start(integer num_detected)
|
||||||
|
@ -215,6 +230,8 @@ state another_state
|
||||||
[Test]
|
[Test]
|
||||||
public void TestStrings()
|
public void TestStrings()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"default
|
string input = @"default
|
||||||
{
|
{
|
||||||
touch_start(integer num_detected)
|
touch_start(integer num_detected)
|
||||||
|
@ -242,6 +259,8 @@ state another_state
|
||||||
[Test]
|
[Test]
|
||||||
public void TestBinaryExpression()
|
public void TestBinaryExpression()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"default
|
string input = @"default
|
||||||
{
|
{
|
||||||
touch_start(integer num_detected)
|
touch_start(integer num_detected)
|
||||||
|
@ -284,6 +303,8 @@ state another_state
|
||||||
[Test]
|
[Test]
|
||||||
public void TestFloatConstants()
|
public void TestFloatConstants()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"default
|
string input = @"default
|
||||||
{
|
{
|
||||||
touch_start(integer num_detected)
|
touch_start(integer num_detected)
|
||||||
|
@ -336,6 +357,8 @@ state another_state
|
||||||
[Test]
|
[Test]
|
||||||
public void TestComments()
|
public void TestComments()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"// this test tests comments
|
string input = @"// this test tests comments
|
||||||
default
|
default
|
||||||
{
|
{
|
||||||
|
@ -358,6 +381,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestStringsWithEscapedQuotesAndComments()
|
public void TestStringsWithEscapedQuotesAndComments()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"// this test tests strings, with escaped quotes and comments in strings
|
string input = @"// this test tests strings, with escaped quotes and comments in strings
|
||||||
default
|
default
|
||||||
{
|
{
|
||||||
|
@ -397,6 +422,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestCStyleComments()
|
public void TestCStyleComments()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"/* this test tests comments
|
string input = @"/* this test tests comments
|
||||||
of the C variety
|
of the C variety
|
||||||
*/
|
*/
|
||||||
|
@ -426,6 +453,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestGlobalDefinedFunctions()
|
public void TestGlobalDefinedFunctions()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"// this test tests custom defined functions
|
string input = @"// this test tests custom defined functions
|
||||||
|
|
||||||
string onefunc()
|
string onefunc()
|
||||||
|
@ -470,6 +499,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestGlobalDeclaredVariables()
|
public void TestGlobalDeclaredVariables()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"// this test tests custom defined functions and global variables
|
string input = @"// this test tests custom defined functions and global variables
|
||||||
|
|
||||||
string globalString;
|
string globalString;
|
||||||
|
@ -525,6 +556,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestMoreAssignments()
|
public void TestMoreAssignments()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"// this test tests +=, -=, *=, /=, %=
|
string input = @"// this test tests +=, -=, *=, /=, %=
|
||||||
|
|
||||||
string globalString;
|
string globalString;
|
||||||
|
@ -579,6 +612,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestVectorConstantNotation()
|
public void TestVectorConstantNotation()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"default
|
string input = @"default
|
||||||
{
|
{
|
||||||
touch_start(integer num_detected)
|
touch_start(integer num_detected)
|
||||||
|
@ -606,6 +641,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestVectorMemberAccess()
|
public void TestVectorMemberAccess()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"default
|
string input = @"default
|
||||||
{
|
{
|
||||||
touch_start(integer num_detected)
|
touch_start(integer num_detected)
|
||||||
|
@ -632,6 +669,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestExpressionInParentheses()
|
public void TestExpressionInParentheses()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"default
|
string input = @"default
|
||||||
{
|
{
|
||||||
touch_start(integer num_detected)
|
touch_start(integer num_detected)
|
||||||
|
@ -660,6 +699,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestIncrementDecrementOperator()
|
public void TestIncrementDecrementOperator()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"// here we'll test the ++ and -- operators
|
string input = @"// here we'll test the ++ and -- operators
|
||||||
|
|
||||||
default
|
default
|
||||||
|
@ -690,6 +731,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestLists()
|
public void TestLists()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"// testing lists
|
string input = @"// testing lists
|
||||||
|
|
||||||
default
|
default
|
||||||
|
@ -718,6 +761,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestIfStatement()
|
public void TestIfStatement()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"// let's test if statements
|
string input = @"// let's test if statements
|
||||||
|
|
||||||
default
|
default
|
||||||
|
@ -822,6 +867,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestIfElseStatement()
|
public void TestIfElseStatement()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"// let's test complex logical expressions
|
string input = @"// let's test complex logical expressions
|
||||||
|
|
||||||
default
|
default
|
||||||
|
@ -928,6 +975,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestWhileLoop()
|
public void TestWhileLoop()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"// let's test while loops
|
string input = @"// let's test while loops
|
||||||
|
|
||||||
default
|
default
|
||||||
|
@ -968,6 +1017,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestDoWhileLoop()
|
public void TestDoWhileLoop()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"// let's test do-while loops
|
string input = @"// let's test do-while loops
|
||||||
|
|
||||||
default
|
default
|
||||||
|
@ -1012,6 +1063,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestForLoop()
|
public void TestForLoop()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"// let's test for loops
|
string input = @"// let's test for loops
|
||||||
|
|
||||||
default
|
default
|
||||||
|
@ -1056,6 +1109,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestFloatsWithTrailingDecimal()
|
public void TestFloatsWithTrailingDecimal()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"// a curious feature of LSL that allows floats to be defined with a trailing dot
|
string input = @"// a curious feature of LSL that allows floats to be defined with a trailing dot
|
||||||
|
|
||||||
default
|
default
|
||||||
|
@ -1108,6 +1163,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestUnaryAndBinaryOperators()
|
public void TestUnaryAndBinaryOperators()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"// let's test a few more operators
|
string input = @"// let's test a few more operators
|
||||||
|
|
||||||
default
|
default
|
||||||
|
@ -1144,6 +1201,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestTypecasts()
|
public void TestTypecasts()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"// let's test typecasts
|
string input = @"// let's test typecasts
|
||||||
|
|
||||||
default
|
default
|
||||||
|
@ -1189,6 +1248,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestStates()
|
public void TestStates()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"// let's test states
|
string input = @"// let's test states
|
||||||
|
|
||||||
default
|
default
|
||||||
|
@ -1229,6 +1290,8 @@ state statetwo
|
||||||
[Test]
|
[Test]
|
||||||
public void TestHexIntegerConstants()
|
public void TestHexIntegerConstants()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"// let's test hex integers
|
string input = @"// let's test hex integers
|
||||||
|
|
||||||
default
|
default
|
||||||
|
@ -1261,6 +1324,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestJumps()
|
public void TestJumps()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"// let's test jumps
|
string input = @"// let's test jumps
|
||||||
|
|
||||||
default
|
default
|
||||||
|
@ -1291,6 +1356,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestImplicitVariableInitialization()
|
public void TestImplicitVariableInitialization()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"// let's test implicitly initializing variables
|
string input = @"// let's test implicitly initializing variables
|
||||||
|
|
||||||
default
|
default
|
||||||
|
@ -1334,6 +1401,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestMultipleEqualsExpression()
|
public void TestMultipleEqualsExpression()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"// let's test x = y = 5 type expressions
|
string input = @"// let's test x = y = 5 type expressions
|
||||||
|
|
||||||
default
|
default
|
||||||
|
@ -1366,6 +1435,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestUnaryExpressionLastInVectorConstant()
|
public void TestUnaryExpressionLastInVectorConstant()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"// let's test unary expressions some more
|
string input = @"// let's test unary expressions some more
|
||||||
|
|
||||||
default
|
default
|
||||||
|
@ -1390,6 +1461,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestVectorMemberPlusEquals()
|
public void TestVectorMemberPlusEquals()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"// let's test unary expressions some more
|
string input = @"// let's test unary expressions some more
|
||||||
|
|
||||||
default
|
default
|
||||||
|
@ -1424,6 +1497,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestWhileLoopWithNoBody()
|
public void TestWhileLoopWithNoBody()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"default
|
string input = @"default
|
||||||
{
|
{
|
||||||
state_entry()
|
state_entry()
|
||||||
|
@ -1447,6 +1522,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestDoWhileLoopWithNoBody()
|
public void TestDoWhileLoopWithNoBody()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"default
|
string input = @"default
|
||||||
{
|
{
|
||||||
state_entry()
|
state_entry()
|
||||||
|
@ -1472,6 +1549,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestIfWithNoBody()
|
public void TestIfWithNoBody()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"default
|
string input = @"default
|
||||||
{
|
{
|
||||||
state_entry()
|
state_entry()
|
||||||
|
@ -1495,6 +1574,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestIfElseWithNoBody()
|
public void TestIfElseWithNoBody()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"default
|
string input = @"default
|
||||||
{
|
{
|
||||||
state_entry()
|
state_entry()
|
||||||
|
@ -1521,6 +1602,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestForLoopWithNoBody()
|
public void TestForLoopWithNoBody()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"default
|
string input = @"default
|
||||||
{
|
{
|
||||||
state_entry()
|
state_entry()
|
||||||
|
@ -1544,6 +1627,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestForLoopWithNoAssignment()
|
public void TestForLoopWithNoAssignment()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"default
|
string input = @"default
|
||||||
{
|
{
|
||||||
state_entry()
|
state_entry()
|
||||||
|
@ -1569,6 +1654,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestForLoopWithOnlyIdentInAssignment()
|
public void TestForLoopWithOnlyIdentInAssignment()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"default
|
string input = @"default
|
||||||
{
|
{
|
||||||
state_entry()
|
state_entry()
|
||||||
|
@ -1594,6 +1681,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestAssignmentInIfWhileDoWhile()
|
public void TestAssignmentInIfWhileDoWhile()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"default
|
string input = @"default
|
||||||
{
|
{
|
||||||
state_entry()
|
state_entry()
|
||||||
|
@ -1631,6 +1720,8 @@ default
|
||||||
[Test]
|
[Test]
|
||||||
public void TestLSLListHack()
|
public void TestLSLListHack()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string input = @"default
|
string input = @"default
|
||||||
{
|
{
|
||||||
state_entry()
|
state_entry()
|
||||||
|
@ -1653,9 +1744,12 @@ default
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
[ExpectedException(typeof(System.Exception))]
|
|
||||||
public void TestSyntaxError()
|
public void TestSyntaxError()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
|
bool gotException = false;
|
||||||
|
|
||||||
string input = @"default
|
string input = @"default
|
||||||
{
|
{
|
||||||
state_entry()
|
state_entry()
|
||||||
|
@ -1671,17 +1765,22 @@ default
|
||||||
}
|
}
|
||||||
catch (System.Exception e)
|
catch (System.Exception e)
|
||||||
{
|
{
|
||||||
// The syntax error is on line 6, char 5 (expected ';', found
|
// The syntax error is on line 5, char 4 (expected ';', found
|
||||||
// '}').
|
// '}').
|
||||||
Assert.AreEqual("(4,4) syntax error", e.Message);
|
Assert.AreEqual("(5,4) syntax error", e.Message);
|
||||||
throw;
|
gotException = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Assert.That(gotException, Is.True);
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
[ExpectedException(typeof(System.Exception))]
|
|
||||||
public void TestSyntaxErrorDeclaringVariableInForLoop()
|
public void TestSyntaxErrorDeclaringVariableInForLoop()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
|
bool gotException = false;
|
||||||
|
|
||||||
string input = @"default
|
string input = @"default
|
||||||
{
|
{
|
||||||
state_entry()
|
state_entry()
|
||||||
|
@ -1697,11 +1796,13 @@ default
|
||||||
}
|
}
|
||||||
catch (System.Exception e)
|
catch (System.Exception e)
|
||||||
{
|
{
|
||||||
// The syntax error is on line 5, char 14 (Syntax error)
|
// The syntax error is on line 4, char 13 (Syntax error)
|
||||||
Assert.AreEqual("(3,13) syntax error", e.Message);
|
Assert.AreEqual("(4,13) syntax error", e.Message);
|
||||||
|
|
||||||
throw;
|
gotException = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Assert.That(gotException, Is.True);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -31,6 +31,7 @@ using System.Collections.Generic;
|
||||||
using Microsoft.CSharp;
|
using Microsoft.CSharp;
|
||||||
using NUnit.Framework;
|
using NUnit.Framework;
|
||||||
using OpenSim.Region.ScriptEngine.Shared.CodeTools;
|
using OpenSim.Region.ScriptEngine.Shared.CodeTools;
|
||||||
|
using OpenSim.Tests.Common;
|
||||||
|
|
||||||
namespace OpenSim.Region.ScriptEngine.Shared.CodeTools.Tests
|
namespace OpenSim.Region.ScriptEngine.Shared.CodeTools.Tests
|
||||||
{
|
{
|
||||||
|
@ -92,6 +93,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools.Tests
|
||||||
//[Test]
|
//[Test]
|
||||||
public void TestUseUndeclaredVariable()
|
public void TestUseUndeclaredVariable()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
m_compilerParameters.OutputAssembly = Path.Combine(m_testDir, Path.GetRandomFileName() + ".dll");
|
m_compilerParameters.OutputAssembly = Path.Combine(m_testDir, Path.GetRandomFileName() + ".dll");
|
||||||
|
|
||||||
string input = @"default
|
string input = @"default
|
||||||
|
@ -124,6 +127,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.CodeTools.Tests
|
||||||
//[Test]
|
//[Test]
|
||||||
public void TestCastAndConcatString()
|
public void TestCastAndConcatString()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
m_compilerParameters.OutputAssembly = Path.Combine(m_testDir, Path.GetRandomFileName() + ".dll");
|
m_compilerParameters.OutputAssembly = Path.Combine(m_testDir, Path.GetRandomFileName() + ".dll");
|
||||||
|
|
||||||
string input = @"string s = "" a string"";
|
string input = @"string s = "" a string"";
|
||||||
|
|
|
@ -46,7 +46,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[TestFixture, LongRunning]
|
[TestFixture, LongRunning]
|
||||||
public class LSL_ApiTest
|
public class LSL_ApiTest
|
||||||
{
|
{
|
||||||
|
|
||||||
private const double ANGLE_ACCURACY_IN_RADIANS = 1E-6;
|
private const double ANGLE_ACCURACY_IN_RADIANS = 1E-6;
|
||||||
private const double VECTOR_COMPONENT_ACCURACY = 0.0000005d;
|
private const double VECTOR_COMPONENT_ACCURACY = 0.0000005d;
|
||||||
private const float FLOAT_ACCURACY = 0.00005f;
|
private const float FLOAT_ACCURACY = 0.00005f;
|
||||||
|
@ -55,7 +54,6 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[SetUp]
|
[SetUp]
|
||||||
public void SetUp()
|
public void SetUp()
|
||||||
{
|
{
|
||||||
|
|
||||||
IConfigSource initConfigSource = new IniConfigSource();
|
IConfigSource initConfigSource = new IniConfigSource();
|
||||||
IConfig config = initConfigSource.AddConfig("XEngine");
|
IConfig config = initConfigSource.AddConfig("XEngine");
|
||||||
config.Set("Enabled", "true");
|
config.Set("Enabled", "true");
|
||||||
|
@ -75,6 +73,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestllAngleBetween()
|
public void TestllAngleBetween()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
CheckllAngleBetween(new Vector3(1, 0, 0), 0, 1, 1);
|
CheckllAngleBetween(new Vector3(1, 0, 0), 0, 1, 1);
|
||||||
CheckllAngleBetween(new Vector3(1, 0, 0), 90, 1, 1);
|
CheckllAngleBetween(new Vector3(1, 0, 0), 90, 1, 1);
|
||||||
CheckllAngleBetween(new Vector3(1, 0, 0), 180, 1, 1);
|
CheckllAngleBetween(new Vector3(1, 0, 0), 180, 1, 1);
|
||||||
|
@ -158,6 +158,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
// llRot2Euler test.
|
// llRot2Euler test.
|
||||||
public void TestllRot2Euler()
|
public void TestllRot2Euler()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
// 180, 90 and zero degree rotations.
|
// 180, 90 and zero degree rotations.
|
||||||
CheckllRot2Euler(new LSL_Types.Quaternion(0.0f, 0.0f, 0.0f, 1.0f));
|
CheckllRot2Euler(new LSL_Types.Quaternion(0.0f, 0.0f, 0.0f, 1.0f));
|
||||||
CheckllRot2Euler(new LSL_Types.Quaternion(0.0f, 0.0f, 0.707107f, 0.707107f));
|
CheckllRot2Euler(new LSL_Types.Quaternion(0.0f, 0.0f, 0.707107f, 0.707107f));
|
||||||
|
@ -256,6 +258,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
// llSetPrimitiveParams and llGetPrimitiveParams test.
|
// llSetPrimitiveParams and llGetPrimitiveParams test.
|
||||||
public void TestllSetPrimitiveParams()
|
public void TestllSetPrimitiveParams()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
// Create Prim1.
|
// Create Prim1.
|
||||||
Scene scene = SceneHelpers.SetupScene();
|
Scene scene = SceneHelpers.SetupScene();
|
||||||
string obj1Name = "Prim1";
|
string obj1Name = "Prim1";
|
||||||
|
@ -486,9 +490,10 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
}
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
// llVecNorm test.
|
|
||||||
public void TestllVecNorm()
|
public void TestllVecNorm()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
// Check special case for normalizing zero vector.
|
// Check special case for normalizing zero vector.
|
||||||
CheckllVecNorm(new LSL_Types.Vector3(0.0d, 0.0d, 0.0d), new LSL_Types.Vector3(0.0d, 0.0d, 0.0d));
|
CheckllVecNorm(new LSL_Types.Vector3(0.0d, 0.0d, 0.0d), new LSL_Types.Vector3(0.0d, 0.0d, 0.0d));
|
||||||
// Check various vectors.
|
// Check various vectors.
|
||||||
|
|
|
@ -213,6 +213,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestConstructFromInt()
|
public void TestConstructFromInt()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLFloat testFloat;
|
LSL_Types.LSLFloat testFloat;
|
||||||
|
|
||||||
foreach (KeyValuePair<int, double> number in m_intDoubleSet)
|
foreach (KeyValuePair<int, double> number in m_intDoubleSet)
|
||||||
|
@ -228,6 +230,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestConstructFromDouble()
|
public void TestConstructFromDouble()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLFloat testFloat;
|
LSL_Types.LSLFloat testFloat;
|
||||||
|
|
||||||
foreach (KeyValuePair<double, double> number in m_doubleDoubleSet)
|
foreach (KeyValuePair<double, double> number in m_doubleDoubleSet)
|
||||||
|
@ -243,6 +247,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestExplicitCastLSLFloatToInt()
|
public void TestExplicitCastLSLFloatToInt()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
int testNumber;
|
int testNumber;
|
||||||
|
|
||||||
foreach (KeyValuePair<double, int> number in m_doubleIntSet)
|
foreach (KeyValuePair<double, int> number in m_doubleIntSet)
|
||||||
|
@ -258,6 +264,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestExplicitCastLSLFloatToUint()
|
public void TestExplicitCastLSLFloatToUint()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
uint testNumber;
|
uint testNumber;
|
||||||
|
|
||||||
foreach (KeyValuePair<double, int> number in m_doubleUintSet)
|
foreach (KeyValuePair<double, int> number in m_doubleUintSet)
|
||||||
|
@ -273,6 +281,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestImplicitCastLSLFloatToBooleanTrue()
|
public void TestImplicitCastLSLFloatToBooleanTrue()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLFloat testFloat;
|
LSL_Types.LSLFloat testFloat;
|
||||||
bool testBool;
|
bool testBool;
|
||||||
|
|
||||||
|
@ -291,6 +301,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestImplicitCastLSLFloatToBooleanFalse()
|
public void TestImplicitCastLSLFloatToBooleanFalse()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLFloat testFloat = new LSL_Types.LSLFloat(0.0);
|
LSL_Types.LSLFloat testFloat = new LSL_Types.LSLFloat(0.0);
|
||||||
bool testBool = testFloat;
|
bool testBool = testFloat;
|
||||||
|
|
||||||
|
@ -303,6 +315,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestImplicitCastIntToLSLFloat()
|
public void TestImplicitCastIntToLSLFloat()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLFloat testFloat;
|
LSL_Types.LSLFloat testFloat;
|
||||||
|
|
||||||
foreach (int number in m_intList)
|
foreach (int number in m_intList)
|
||||||
|
@ -318,6 +332,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestImplicitCastLSLIntegerToLSLFloat()
|
public void TestImplicitCastLSLIntegerToLSLFloat()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLFloat testFloat;
|
LSL_Types.LSLFloat testFloat;
|
||||||
|
|
||||||
foreach (int number in m_intList)
|
foreach (int number in m_intList)
|
||||||
|
@ -333,6 +349,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestExplicitCastLSLIntegerToLSLFloat()
|
public void TestExplicitCastLSLIntegerToLSLFloat()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLFloat testFloat;
|
LSL_Types.LSLFloat testFloat;
|
||||||
|
|
||||||
foreach (int number in m_intList)
|
foreach (int number in m_intList)
|
||||||
|
@ -348,6 +366,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestExplicitCastStringToLSLFloat()
|
public void TestExplicitCastStringToLSLFloat()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLFloat testFloat;
|
LSL_Types.LSLFloat testFloat;
|
||||||
|
|
||||||
foreach (KeyValuePair<string, double> number in m_stringDoubleSet)
|
foreach (KeyValuePair<string, double> number in m_stringDoubleSet)
|
||||||
|
@ -363,6 +383,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestExplicitCastLSLStringToLSLFloat()
|
public void TestExplicitCastLSLStringToLSLFloat()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLFloat testFloat;
|
LSL_Types.LSLFloat testFloat;
|
||||||
|
|
||||||
foreach (KeyValuePair<string, double> number in m_stringDoubleSet)
|
foreach (KeyValuePair<string, double> number in m_stringDoubleSet)
|
||||||
|
@ -378,6 +400,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestImplicitCastDoubleToLSLFloat()
|
public void TestImplicitCastDoubleToLSLFloat()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLFloat testFloat;
|
LSL_Types.LSLFloat testFloat;
|
||||||
|
|
||||||
foreach (double number in m_doubleList)
|
foreach (double number in m_doubleList)
|
||||||
|
@ -393,6 +417,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestImplicitCastLSLFloatToDouble()
|
public void TestImplicitCastLSLFloatToDouble()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
double testNumber;
|
double testNumber;
|
||||||
LSL_Types.LSLFloat testFloat;
|
LSL_Types.LSLFloat testFloat;
|
||||||
|
|
||||||
|
@ -411,9 +437,12 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestExplicitCastLSLFloatToFloat()
|
public void TestExplicitCastLSLFloatToFloat()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
float testFloat;
|
float testFloat;
|
||||||
float numberAsFloat;
|
float numberAsFloat;
|
||||||
LSL_Types.LSLFloat testLSLFloat;
|
LSL_Types.LSLFloat testLSLFloat;
|
||||||
|
|
||||||
foreach (double number in m_doubleList)
|
foreach (double number in m_doubleList)
|
||||||
{
|
{
|
||||||
testLSLFloat = new LSL_Types.LSLFloat(number);
|
testLSLFloat = new LSL_Types.LSLFloat(number);
|
||||||
|
@ -424,13 +453,14 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Tests the equality (==) operator.
|
/// Tests the equality (==) operator.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
[Test]
|
[Test]
|
||||||
public void TestEqualsOperator()
|
public void TestEqualsOperator()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLFloat testFloatA, testFloatB;
|
LSL_Types.LSLFloat testFloatA, testFloatB;
|
||||||
|
|
||||||
foreach (double number in m_doubleList)
|
foreach (double number in m_doubleList)
|
||||||
|
@ -450,6 +480,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestNotEqualOperator()
|
public void TestNotEqualOperator()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLFloat testFloatA, testFloatB;
|
LSL_Types.LSLFloat testFloatA, testFloatB;
|
||||||
|
|
||||||
foreach (double number in m_doubleList)
|
foreach (double number in m_doubleList)
|
||||||
|
@ -469,6 +501,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestIncrementOperator()
|
public void TestIncrementOperator()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLFloat testFloat;
|
LSL_Types.LSLFloat testFloat;
|
||||||
double testNumber;
|
double testNumber;
|
||||||
|
|
||||||
|
@ -493,6 +527,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestDecrementOperator()
|
public void TestDecrementOperator()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLFloat testFloat;
|
LSL_Types.LSLFloat testFloat;
|
||||||
double testNumber;
|
double testNumber;
|
||||||
|
|
||||||
|
@ -517,6 +553,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestToString()
|
public void TestToString()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLFloat testFloat;
|
LSL_Types.LSLFloat testFloat;
|
||||||
|
|
||||||
foreach (KeyValuePair<double, string> number in m_doubleStringSet)
|
foreach (KeyValuePair<double, string> number in m_doubleStringSet)
|
||||||
|
@ -532,6 +570,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestAddTwoLSLFloats()
|
public void TestAddTwoLSLFloats()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLFloat testResult;
|
LSL_Types.LSLFloat testResult;
|
||||||
|
|
||||||
foreach (KeyValuePair<double, double> number in m_doubleDoubleSet)
|
foreach (KeyValuePair<double, double> number in m_doubleDoubleSet)
|
||||||
|
@ -547,6 +587,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestSubtractTwoLSLFloats()
|
public void TestSubtractTwoLSLFloats()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLFloat testResult;
|
LSL_Types.LSLFloat testResult;
|
||||||
|
|
||||||
foreach (KeyValuePair<double, double> number in m_doubleDoubleSet)
|
foreach (KeyValuePair<double, double> number in m_doubleDoubleSet)
|
||||||
|
@ -562,6 +604,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestMultiplyTwoLSLFloats()
|
public void TestMultiplyTwoLSLFloats()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLFloat testResult;
|
LSL_Types.LSLFloat testResult;
|
||||||
|
|
||||||
foreach (KeyValuePair<double, double> number in m_doubleDoubleSet)
|
foreach (KeyValuePair<double, double> number in m_doubleDoubleSet)
|
||||||
|
@ -577,6 +621,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestDivideTwoLSLFloats()
|
public void TestDivideTwoLSLFloats()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLFloat testResult;
|
LSL_Types.LSLFloat testResult;
|
||||||
|
|
||||||
foreach (KeyValuePair<double, double> number in m_doubleDoubleSet)
|
foreach (KeyValuePair<double, double> number in m_doubleDoubleSet)
|
||||||
|
@ -595,6 +641,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestImplicitCastBooleanToLSLFloat()
|
public void TestImplicitCastBooleanToLSLFloat()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLFloat testFloat;
|
LSL_Types.LSLFloat testFloat;
|
||||||
|
|
||||||
testFloat = (1 == 0);
|
testFloat = (1 == 0);
|
||||||
|
|
|
@ -79,6 +79,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestExplicitCastLSLFloatToLSLInteger()
|
public void TestExplicitCastLSLFloatToLSLInteger()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLInteger testInteger;
|
LSL_Types.LSLInteger testInteger;
|
||||||
|
|
||||||
foreach (KeyValuePair<double, int> number in m_doubleIntSet)
|
foreach (KeyValuePair<double, int> number in m_doubleIntSet)
|
||||||
|
@ -94,6 +96,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestExplicitCastStringToLSLInteger()
|
public void TestExplicitCastStringToLSLInteger()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLInteger testInteger;
|
LSL_Types.LSLInteger testInteger;
|
||||||
|
|
||||||
foreach (KeyValuePair<string, int> number in m_stringIntSet)
|
foreach (KeyValuePair<string, int> number in m_stringIntSet)
|
||||||
|
@ -109,6 +113,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestExplicitCastLSLStringToLSLInteger()
|
public void TestExplicitCastLSLStringToLSLInteger()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLInteger testInteger;
|
LSL_Types.LSLInteger testInteger;
|
||||||
|
|
||||||
foreach (KeyValuePair<string, int> number in m_stringIntSet)
|
foreach (KeyValuePair<string, int> number in m_stringIntSet)
|
||||||
|
@ -124,6 +130,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestImplicitCastBooleanToLSLInteger()
|
public void TestImplicitCastBooleanToLSLInteger()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLInteger testInteger;
|
LSL_Types.LSLInteger testInteger;
|
||||||
|
|
||||||
testInteger = (1 == 0);
|
testInteger = (1 == 0);
|
||||||
|
|
|
@ -71,6 +71,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestConstructFromLSLFloat()
|
public void TestConstructFromLSLFloat()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLString testString;
|
LSL_Types.LSLString testString;
|
||||||
|
|
||||||
foreach (KeyValuePair<double, string> number in m_doubleStringSet)
|
foreach (KeyValuePair<double, string> number in m_doubleStringSet)
|
||||||
|
@ -86,6 +88,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestExplicitCastLSLFloatToLSLString()
|
public void TestExplicitCastLSLFloatToLSLString()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLString testString;
|
LSL_Types.LSLString testString;
|
||||||
|
|
||||||
foreach (KeyValuePair<double, string> number in m_doubleStringSet)
|
foreach (KeyValuePair<double, string> number in m_doubleStringSet)
|
||||||
|
@ -101,6 +105,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestExplicitCastLSLStringToQuaternion()
|
public void TestExplicitCastLSLStringToQuaternion()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
string quaternionString = "<0.00000, 0.70711, 0.00000, 0.70711>";
|
string quaternionString = "<0.00000, 0.70711, 0.00000, 0.70711>";
|
||||||
LSL_Types.LSLString quaternionLSLString = new LSL_Types.LSLString(quaternionString);
|
LSL_Types.LSLString quaternionLSLString = new LSL_Types.LSLString(quaternionString);
|
||||||
|
|
||||||
|
@ -118,6 +124,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestImplicitCastBooleanToLSLFloat()
|
public void TestImplicitCastBooleanToLSLFloat()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLString testString;
|
LSL_Types.LSLString testString;
|
||||||
|
|
||||||
testString = (LSL_Types.LSLString) (1 == 0);
|
testString = (LSL_Types.LSLString) (1 == 0);
|
||||||
|
|
|
@ -44,6 +44,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestConcatenateString()
|
public void TestConcatenateString()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.list testList = new LSL_Types.list(new LSL_Types.LSLInteger(1), new LSL_Types.LSLInteger('a'), new LSL_Types.LSLString("test"));
|
LSL_Types.list testList = new LSL_Types.list(new LSL_Types.LSLInteger(1), new LSL_Types.LSLInteger('a'), new LSL_Types.LSLString("test"));
|
||||||
testList += new LSL_Types.LSLString("addition");
|
testList += new LSL_Types.LSLString("addition");
|
||||||
|
|
||||||
|
@ -64,6 +66,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestConcatenateInteger()
|
public void TestConcatenateInteger()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.list testList = new LSL_Types.list(new LSL_Types.LSLInteger(1), new LSL_Types.LSLInteger('a'), new LSL_Types.LSLString("test"));
|
LSL_Types.list testList = new LSL_Types.list(new LSL_Types.LSLInteger(1), new LSL_Types.LSLInteger('a'), new LSL_Types.LSLString("test"));
|
||||||
testList += new LSL_Types.LSLInteger(20);
|
testList += new LSL_Types.LSLInteger(20);
|
||||||
|
|
||||||
|
@ -84,6 +88,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestConcatenateDouble()
|
public void TestConcatenateDouble()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.list testList = new LSL_Types.list(new LSL_Types.LSLInteger(1), new LSL_Types.LSLInteger('a'), new LSL_Types.LSLString("test"));
|
LSL_Types.list testList = new LSL_Types.list(new LSL_Types.LSLInteger(1), new LSL_Types.LSLInteger('a'), new LSL_Types.LSLString("test"));
|
||||||
testList += new LSL_Types.LSLFloat(2.0f);
|
testList += new LSL_Types.LSLFloat(2.0f);
|
||||||
|
|
||||||
|
@ -104,6 +110,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestCastLSLIntegerItemToLSLInteger()
|
public void TestCastLSLIntegerItemToLSLInteger()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLInteger testValue = new LSL_Types.LSLInteger(123);
|
LSL_Types.LSLInteger testValue = new LSL_Types.LSLInteger(123);
|
||||||
LSL_Types.list testList = new LSL_Types.list(testValue);
|
LSL_Types.list testList = new LSL_Types.list(testValue);
|
||||||
|
|
||||||
|
@ -116,6 +124,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestCastLSLFloatItemToLSLFloat()
|
public void TestCastLSLFloatItemToLSLFloat()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLFloat testValue = new LSL_Types.LSLFloat(123.45678987);
|
LSL_Types.LSLFloat testValue = new LSL_Types.LSLFloat(123.45678987);
|
||||||
LSL_Types.list testList = new LSL_Types.list(testValue);
|
LSL_Types.list testList = new LSL_Types.list(testValue);
|
||||||
|
|
||||||
|
@ -128,6 +138,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestCastLSLStringItemToLSLString()
|
public void TestCastLSLStringItemToLSLString()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLString testValue = new LSL_Types.LSLString("hello there");
|
LSL_Types.LSLString testValue = new LSL_Types.LSLString("hello there");
|
||||||
LSL_Types.list testList = new LSL_Types.list(testValue);
|
LSL_Types.list testList = new LSL_Types.list(testValue);
|
||||||
|
|
||||||
|
@ -140,6 +152,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestCastVector3ItemToVector3()
|
public void TestCastVector3ItemToVector3()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.Vector3 testValue = new LSL_Types.Vector3(12.34, 56.987654, 0.00987);
|
LSL_Types.Vector3 testValue = new LSL_Types.Vector3(12.34, 56.987654, 0.00987);
|
||||||
LSL_Types.list testList = new LSL_Types.list(testValue);
|
LSL_Types.list testList = new LSL_Types.list(testValue);
|
||||||
|
|
||||||
|
@ -151,6 +165,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestCastQuaternionItemToQuaternion()
|
public void TestCastQuaternionItemToQuaternion()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.Quaternion testValue = new LSL_Types.Quaternion(12.34, 56.44323, 765.983421, 0.00987);
|
LSL_Types.Quaternion testValue = new LSL_Types.Quaternion(12.34, 56.44323, 765.983421, 0.00987);
|
||||||
LSL_Types.list testList = new LSL_Types.list(testValue);
|
LSL_Types.list testList = new LSL_Types.list(testValue);
|
||||||
|
|
||||||
|
@ -165,6 +181,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestGetLSLIntegerItemForLSLIntegerItem()
|
public void TestGetLSLIntegerItemForLSLIntegerItem()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLInteger testValue = new LSL_Types.LSLInteger(999911);
|
LSL_Types.LSLInteger testValue = new LSL_Types.LSLInteger(999911);
|
||||||
LSL_Types.list testList = new LSL_Types.list(testValue);
|
LSL_Types.list testList = new LSL_Types.list(testValue);
|
||||||
|
|
||||||
|
@ -177,6 +195,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestGetLSLFloatItemForLSLFloatItem()
|
public void TestGetLSLFloatItemForLSLFloatItem()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLFloat testValue = new LSL_Types.LSLFloat(321.45687876);
|
LSL_Types.LSLFloat testValue = new LSL_Types.LSLFloat(321.45687876);
|
||||||
LSL_Types.list testList = new LSL_Types.list(testValue);
|
LSL_Types.list testList = new LSL_Types.list(testValue);
|
||||||
|
|
||||||
|
@ -189,6 +209,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestGetLSLFloatItemForLSLIntegerItem()
|
public void TestGetLSLFloatItemForLSLIntegerItem()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLInteger testValue = new LSL_Types.LSLInteger(3060987);
|
LSL_Types.LSLInteger testValue = new LSL_Types.LSLInteger(3060987);
|
||||||
LSL_Types.LSLFloat testFloatValue = new LSL_Types.LSLFloat(testValue);
|
LSL_Types.LSLFloat testFloatValue = new LSL_Types.LSLFloat(testValue);
|
||||||
LSL_Types.list testList = new LSL_Types.list(testValue);
|
LSL_Types.list testList = new LSL_Types.list(testValue);
|
||||||
|
@ -202,6 +224,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestGetLSLStringItemForLSLStringItem()
|
public void TestGetLSLStringItemForLSLStringItem()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.LSLString testValue = new LSL_Types.LSLString("hello all");
|
LSL_Types.LSLString testValue = new LSL_Types.LSLString("hello all");
|
||||||
LSL_Types.list testList = new LSL_Types.list(testValue);
|
LSL_Types.list testList = new LSL_Types.list(testValue);
|
||||||
|
|
||||||
|
@ -214,6 +238,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestGetLSLStringItemForKeyItem()
|
public void TestGetLSLStringItemForKeyItem()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.key testValue
|
LSL_Types.key testValue
|
||||||
= new LSL_Types.key("98000000-0000-2222-3333-100000001000");
|
= new LSL_Types.key("98000000-0000-2222-3333-100000001000");
|
||||||
LSL_Types.LSLString testStringValue = new LSL_Types.LSLString(testValue);
|
LSL_Types.LSLString testStringValue = new LSL_Types.LSLString(testValue);
|
||||||
|
@ -228,6 +254,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestGetVector3ItemForVector3Item()
|
public void TestGetVector3ItemForVector3Item()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.Vector3 testValue = new LSL_Types.Vector3(92.34, 58.98754, -0.10987);
|
LSL_Types.Vector3 testValue = new LSL_Types.Vector3(92.34, 58.98754, -0.10987);
|
||||||
LSL_Types.list testList = new LSL_Types.list(testValue);
|
LSL_Types.list testList = new LSL_Types.list(testValue);
|
||||||
|
|
||||||
|
@ -239,6 +267,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestGetQuaternionItemForQuaternionItem()
|
public void TestGetQuaternionItemForQuaternionItem()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.Quaternion testValue = new LSL_Types.Quaternion(12.64, 59.43723, 765.3421, 4.00987);
|
LSL_Types.Quaternion testValue = new LSL_Types.Quaternion(12.64, 59.43723, 765.3421, 4.00987);
|
||||||
LSL_Types.list testList = new LSL_Types.list(testValue);
|
LSL_Types.list testList = new LSL_Types.list(testValue);
|
||||||
|
|
||||||
|
@ -251,6 +281,8 @@ namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
[Test]
|
[Test]
|
||||||
public void TestGetKeyItemForKeyItem()
|
public void TestGetKeyItemForKeyItem()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
LSL_Types.key testValue
|
LSL_Types.key testValue
|
||||||
= new LSL_Types.key("00000000-0000-2222-3333-100000001012");
|
= new LSL_Types.key("00000000-0000-2222-3333-100000001012");
|
||||||
LSL_Types.list testList = new LSL_Types.list(testValue);
|
LSL_Types.list testList = new LSL_Types.list(testValue);
|
||||||
|
|
|
@ -32,16 +32,17 @@ using OpenSim.Region.ScriptEngine.Shared;
|
||||||
|
|
||||||
namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
namespace OpenSim.Region.ScriptEngine.Shared.Tests
|
||||||
{
|
{
|
||||||
[TestFixture]
|
|
||||||
public class LSL_TypesTestVector3
|
|
||||||
{
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Tests for Vector3
|
/// Tests for Vector3
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
[TestFixture]
|
||||||
|
public class LSL_TypesTestVector3
|
||||||
|
{
|
||||||
[Test]
|
[Test]
|
||||||
|
|
||||||
public void TestDotProduct()
|
public void TestDotProduct()
|
||||||
{
|
{
|
||||||
|
TestHelpers.InMethod();
|
||||||
|
|
||||||
// The numbers we test for.
|
// The numbers we test for.
|
||||||
Dictionary<string, double> expectsSet = new Dictionary<string, double>();
|
Dictionary<string, double> expectsSet = new Dictionary<string, double>();
|
||||||
expectsSet.Add("<1, 2, 3> * <2, 3, 4>", 20.0);
|
expectsSet.Add("<1, 2, 3> * <2, 3, 4>", 20.0);
|
||||||
|
|
|
@ -50,7 +50,10 @@ using OpenSim.Region.ScriptEngine.Shared;
|
||||||
using OpenSim.Region.ScriptEngine.Shared.ScriptBase;
|
using OpenSim.Region.ScriptEngine.Shared.ScriptBase;
|
||||||
using OpenSim.Region.ScriptEngine.Shared.CodeTools;
|
using OpenSim.Region.ScriptEngine.Shared.CodeTools;
|
||||||
using OpenSim.Region.ScriptEngine.Shared.Instance;
|
using OpenSim.Region.ScriptEngine.Shared.Instance;
|
||||||
|
using OpenSim.Region.ScriptEngine.Shared.Api;
|
||||||
|
using OpenSim.Region.ScriptEngine.Shared.Api.Plugins;
|
||||||
using OpenSim.Region.ScriptEngine.Interfaces;
|
using OpenSim.Region.ScriptEngine.Interfaces;
|
||||||
|
using Timer = OpenSim.Region.ScriptEngine.Shared.Api.Plugins.Timer;
|
||||||
|
|
||||||
using ScriptCompileQueue = OpenSim.Framework.LocklessQueue<object[]>;
|
using ScriptCompileQueue = OpenSim.Framework.LocklessQueue<object[]>;
|
||||||
|
|
||||||
|
@ -454,6 +457,18 @@ namespace OpenSim.Region.ScriptEngine.XEngine
|
||||||
sb.AppendFormat("Work items waiting : {0}\n", m_ThreadPool.WaitingCallbacks);
|
sb.AppendFormat("Work items waiting : {0}\n", m_ThreadPool.WaitingCallbacks);
|
||||||
// sb.AppendFormat("Assemblies loaded : {0}\n", m_Assemblies.Count);
|
// sb.AppendFormat("Assemblies loaded : {0}\n", m_Assemblies.Count);
|
||||||
|
|
||||||
|
SensorRepeat sr = AsyncCommandManager.GetSensorRepeatPlugin(this);
|
||||||
|
sb.AppendFormat("Sensors : {0}\n", sr.SensorsCount);
|
||||||
|
|
||||||
|
Dataserver ds = AsyncCommandManager.GetDataserverPlugin(this);
|
||||||
|
sb.AppendFormat("Dataserver requests : {0}\n", ds.DataserverRequestsCount);
|
||||||
|
|
||||||
|
Timer t = AsyncCommandManager.GetTimerPlugin(this);
|
||||||
|
sb.AppendFormat("Timers : {0}\n", t.TimersCount);
|
||||||
|
|
||||||
|
Listener l = AsyncCommandManager.GetListenerPlugin(this);
|
||||||
|
sb.AppendFormat("Listeners : {0}\n", l.ListenerCount);
|
||||||
|
|
||||||
MainConsole.Instance.OutputFormat(sb.ToString());
|
MainConsole.Instance.OutputFormat(sb.ToString());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -75,6 +75,10 @@ namespace OpenSim.Tests.Torture
|
||||||
[TestFixtureTearDown]
|
[TestFixtureTearDown]
|
||||||
public void TearDown()
|
public void TearDown()
|
||||||
{
|
{
|
||||||
|
scene.Close();
|
||||||
|
GC.Collect();
|
||||||
|
GC.WaitForPendingFinalizers();
|
||||||
|
|
||||||
// We must set this back afterwards, otherwise later tests will fail since they're expecting multiple
|
// We must set this back afterwards, otherwise later tests will fail since they're expecting multiple
|
||||||
// threads. Possibly, later tests should be rewritten not to worry about such things.
|
// threads. Possibly, later tests should be rewritten not to worry about such things.
|
||||||
Util.FireAndForgetMethod = Util.DefaultFireAndForgetMethod;
|
Util.FireAndForgetMethod = Util.DefaultFireAndForgetMethod;
|
||||||
|
|
|
@ -156,11 +156,6 @@ namespace OpenSim.Tests.Torture
|
||||||
// objects will be clean up by the garbage collector before the next stress test is run.
|
// objects will be clean up by the garbage collector before the next stress test is run.
|
||||||
scene.Update();
|
scene.Update();
|
||||||
|
|
||||||
// Currently, we need to do this in order to garbage collect the scene objects ready for the next test run.
|
|
||||||
// However, what we really need to do is find out why the entire scene is not garbage collected in
|
|
||||||
// teardown.
|
|
||||||
scene.DeleteAllSceneObjects();
|
|
||||||
|
|
||||||
Console.WriteLine(
|
Console.WriteLine(
|
||||||
"Took {0}ms, {1}MB ({2} - {3}) to create {4} objects each containing {5} prim(s)",
|
"Took {0}ms, {1}MB ({2} - {3}) to create {4} objects each containing {5} prim(s)",
|
||||||
Math.Round(elapsed.TotalMilliseconds),
|
Math.Round(elapsed.TotalMilliseconds),
|
||||||
|
@ -170,7 +165,8 @@ namespace OpenSim.Tests.Torture
|
||||||
objectsToAdd,
|
objectsToAdd,
|
||||||
primsInEachObject);
|
primsInEachObject);
|
||||||
|
|
||||||
scene = null;
|
scene.Close();
|
||||||
|
// scene = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -91,6 +91,14 @@ namespace OpenSim.Tests.Torture
|
||||||
m_scene.StartScripts();
|
m_scene.StartScripts();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[TearDown]
|
||||||
|
public void TearDown()
|
||||||
|
{
|
||||||
|
m_scene.Close();
|
||||||
|
GC.Collect();
|
||||||
|
GC.WaitForPendingFinalizers();
|
||||||
|
}
|
||||||
|
|
||||||
[Test]
|
[Test]
|
||||||
public void TestCompileAndStart100Scripts()
|
public void TestCompileAndStart100Scripts()
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue