LSL Test Harness

The LSL Test Harness is a platform for testing LSL scripts developed for Linden Lab by i3D Inc.(Domain expired). Second Life developers may want to use this to confirm that their scripts function consistently from update to update. The test harness is freely available (under Creative Commons license: Attribution-ShareAlike 2.5) to download and use.

The LSL Test Harness consists of three or more inworld objects. You can create any object, even use the default plywood cube prim, just ensure that you place the appropriate scripts and notecards in the proper objects.

The Controller

The controller provides the interface for you to issue instructions to the test harness. It will listen to your commands on a chat channel and execute them. Alternatively you can make a touch-based controller.

The Coordinator

The coordinator handles the communication between the controller and the actual test units themselves.

The Test Unit(s)

The Test Units actually conduct the LSL tests. Therefore they consist of a generic script for running tests, plus the specific script (which you write) which holds the testing code. You may create as many test units as you need. To facilitate development of test scripts, several examples are included in the code repository (here) and these may be used as templates.

Commands

Once you have the Controller, Coordinator, and all your Test Units rezzed, ensure that they are within chat distance of each other, and then you can issue the following commands in the control channel (default is 1234)

Repository for the LSL test harness

This is the repository for the LSL test harness - update this wiki as you update the harness!

Test Harness Control Buttons

Test Harness Controller

Test Harness Test Units

Test Harness PHP

Tests

All known tests should be in Category:Conformance Test.