aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/OpenSim/Region/ScriptEngine/Shared/Tests/LSL_ApiTest.cs (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Implement co-operative script termination if termination comes during a ↵Justin Clark-Casey (justincc)2013-01-161-1/+1
| | | | | | | | | | script wait event (llSleep(), etc.) This makes use of EventWaitHandles since various web references indicate that Thread.Interrupt() can also cause runtime instability. If co-op termination is enabled, then termination sets the wait handle instead of waiting for a timeout before possibly aborting the thread. This allows the script to cleanly terminate if it's in a llSleep/LL function delay or the next time it enters such a wait without any timeout period. Co-op termination is not yet testable since checking for termination request within loops that never trigger a wait is not yet implemented. This commit, unlike 1b5c41c, passes the wait handle as an extra parameter through IScript.Initialize() instead of passing IScriptInstance itself.
* Instead of passing separate engine, part and item components to script APIs, ↵Justin Clark-Casey (justincc)2013-01-151-1/+2
| | | | | | | | pass down IScriptInstance instead. This is to allow the future co-operative script thread terminate feature to detect and act upon termination requests. This splits the assembly and state loading out from the ScriptInstance() constructor to a separate Load() method in order to facilititate continued script logic regression testing.
* Add OSSL function osForceAttachToAvatarFromInventory()Justin Clark-Casey (justincc)2012-07-051-1/+1
| | | | | | | This works like osForceAttachToAvatar() but allows an object to be directly specified from the script object's inventory rather than forcing it to be rezzed in the scene first. Still only attaches objects to the owner of the script. This allows one to bypass the complicated co-ordination of first rezzing objects in the scene before attaching them. Threat level high.
* refactor: Eliminate local id parameter from api initialize.Justin Clark-Casey (justincc)2012-05-081-1/+1
| | | | This is always available from m_host.LocalId
* Instead of constantly looking up unchanging self item in script code, pass ↵Justin Clark-Casey (justincc)2012-05-081-2/+1
| | | | in self item on initialization.
* Add regression test for teleporting an agent between separated regions on ↵Justin Clark-Casey (justincc)2012-04-271-2/+2
| | | | | | | | the same simulator. This involves a large amount of change in test scene setup code to allow test scenes to share shared modules SetupScene is now an instance method that requires an instantiation of SceneHelpers, though other SceneHelpers methods are still static May split these out into separate classes in the future.
* Get all test methods in OpenSim.Region.ScriptEngine.Tests.dll to report that ↵Justin Clark-Casey (justincc)2012-03-061-3/+8
| | | | they're running
* Fixed llAngleBetween() to allow denormal rotationsJohn Cochran2012-01-061-15/+32
|
* Add script instruction count back to llRot2Euler. Other minor ↵Justin Clark-Casey (justincc)2012-01-061-14/+20
| | | | formatting/doc changes.
* Replaced llRot2Euler function.John Cochran2012-01-061-18/+79
| | | | | | | | | | | | | | | | | | | | The original function suffered from unexpected results due to rounding errors. An error of only 1 or 2 ulps would cause the code to not detect a singularity at Y rotation +/- PI/2 and take the non-singularity code path. The replacement code does not suffer from wildly inaccurate results at the +/- PI/2 singularity. The check in the code for the singularity isn't strictly needed, but gives more consistent results At the singularity, the X and Z rotations add. The if check simply forces the X rotation to be zero so the entirety of the X+Z rotation is carried by Z. Additionally, the test code has been updated to include test cases that caused the old code to fail. The test algorithm is also updated to perform a more meaningful test. The original code checked if the values against expected values. This could fail at +/- PI rotations since a rotation around an axis by PI causes the identical effect as a rotation by -PI. The new test code checks that the returned angles can be used to recreate a quaternion that causes the same rotation.
* llSetPrimitiveParams Prim type params precision errorsMicheil Merlin2011-09-091-25/+33
|
* llSetPrimitiveParams correct prim hollow for cases where limit should be 70%.Micheil Merlin2011-08-251-11/+64
| | | | Signed-off-by: BlueWall <jamesh@bluewallgroup.com>
* llGetPrimitiveParams fix prim hollow/hole shape valueMicheil Merlin2011-08-131-0/+175
|
* rename test SceneSetupHelpers -> SceneHelpers for consistencyJustin Clark-Casey (justincc)2011-08-061-2/+2
|
* Get rid of OpenSim.Tests.Common.Setup subpackage in favour of just ↵Justin Clark-Casey (justincc)2011-05-211-1/+0
| | | | OpenSim.Tests.Common instead
* llVecNorm nant testMicheil Merlin2010-11-271-0/+24
|
* llRot2Euler TestsMicheil Merlin2010-09-031-0/+30
|
* * ShortVersion, another attempt at fixing the test thread death that ↵Teravus Ovares (Dan Olivares)2009-08-161-1/+2
| | | | | | randomly occurs. * LongVersion nIni may be causing the test thread death. Pausing OpenSimulator during startup causes a nIni error that makes debugging startup operations difficult for users. It might be because when it's in pause mode, something else reads from the nini config passed? If it is, it might not be fixable.. however, if it's concurrency that causes nini death it would make sense to give each section of the tests a new IConfigSource so that they don't read from the same configsource at the same time.
* Give m_test* methods more reasonable namesMike Mazur2009-06-121-13/+13
| | | | | | | Changing the names of these methods because they were being picked up by nunit as tests even though they were marked private. Naming them Check* after the original Test*.
* Rename private TestllAngleBetween methodMike Mazur2009-06-071-13/+13
| | | | | | | | It seems overloading the method TestllAngleBetween confused nunit a bit and caused it to try running the private TestllAngleBetween method. The method's access modified prevented that from happening, and nunit complained.
* Minor: Change OpenSim to OpenSimulator in older copyright headers and ↵Jeff Ames2009-06-011-1/+1
| | | | LICENSE.txt.
* Convert both script engines to new region module format. Add proper unloadMelanie Thielker2009-04-151-1/+2
| | | | | | handling to XEngine. Add needed stubs to DotNetEngine.
* * Tagged long running tests with LongRunningAttribute.lbsa712009-04-091-5/+5
| | | | | | * Now, the 144 unit tests takes roughly as long time to run (16s on my laptop) that the 10 long running takes. The database tests takes forever. * Feel free to run the unit tests as you code, and the rest before commit.
* Correct unit test for llAngleBetween()Dahlia Trimble2009-04-081-5/+1
| | | | | Reinstate patch for Mantis #3007
* remove defective test criteria from unit test for llAngleBetweenDahlia Trimble2009-04-071-4/+4
|
* a last set of files that seem to have embedded ^M in themSean Dague2009-02-091-140/+140
|
* fixing warnings.Dr Scofield2009-02-091-12/+12
|
* Thank you kindly, TLaukkan (Tommil) for a patch that:Charles Krinke2009-02-071-0/+140
Created nunit test for LSL API and example test for llAngleBetween which was marked untested in wiki. Run new test succesfully with NUnitGUI and nant build.