Difference between revisions of "Parcel Prim Limit Overflow test"

From Second Life Wiki
Jump to navigation Jump to search
Line 1: Line 1:
[[Category:Test Plans]]
[[Category:Test Plans]]
[[Category:Mesh]]
[[Category:Mesh]]
==Purpose==
* Eliminate paths of accidental object return due to Mesh object editing.
* This means that when UserA is editing or creating objects on his parcel, there should be no way to accidentally return other people's objects on his land.
* When possible also avoid returning UserA's own objects, by failing to perform the operation that would have caused the overflow and providing a helpful error message.


== setup ==
== setup ==
Line 25: Line 30:
== resize a mesh ==
== resize a mesh ==
* UserA, rez a mesh that has a prim equivalent less than 10.
* UserA, rez a mesh that has a prim equivalent less than 10.
* UserA, resize the mesh smaller, so its cost increases past 10
* UserA, resize the mesh smaller (or larger?), so its cost increases past 10
* UserA, deselect the object
* UserA, deselect the object
* '''Verify''' UserA's mesh object is returned.
* '''Verify''' UserA's mesh object is returned.
Line 40: Line 45:
== change the physics shape type as a result of linking or unlinking. ==
== change the physics shape type as a result of linking or unlinking. ==
* UserA, on some parcel other than your own, rez a mesh that has a prim equivalent less than 10.
* UserA, on some parcel other than your own, rez a mesh that has a prim equivalent less than 10.
* Duplicate the mesh and link the 2 meshes together
* Duplicate the mesh and link the 2 meshes together.
* Set the Physics Shape Type to None
* Set the Physics Shape Type to None. (You'll see an error, but that's okay. The child mesh is now set to None)
* Take the linked meshes into inventory.
* Take the linked mesh into inventory.
* Rez the linked meshes onto your parcel
* Rez the linked mesh onto your parcel
* UserB, Fill up the parcel with objects
* UserB, Fill up the parcel with objects
* UserA, Unlink the linked meshes.
* UserA, Unlink the linked meshes.

Revision as of 17:17, 27 January 2011


Purpose

  • Eliminate paths of accidental object return due to Mesh object editing.
  • This means that when UserA is editing or creating objects on his parcel, there should be no way to accidentally return other people's objects on his land.
  • When possible also avoid returning UserA's own objects, by failing to perform the operation that would have caused the overflow and providing a helpful error message.

setup

  • UserA, own some land.
  • UserA, upload a mesh that has a prim equivalent less than 10 (Use duck.dae with the default LODs)
  • UserA, upload a mesh that has a prim equivalent greater than 10 (Use duck.dae with only the High LOD)
  • UserB, rez objects on UserA land until only 10 prims are available on the parcel.

rez a mesh

  • UserA, rez a mesh that has a prim equivalent greater than 10.
  • Verify UserA's mesh object is returned.
  • Verify UserA receives a descriptive message explaining why the object was returned.
  • Verify UserB's objects are not returned.

rez a mesh via script

  • UserA, create a prim on your parcel and add the following script
default{touch_start(integer total_number){llRezObject("Object", llGetPos()+<0,0,1>, ZERO_VECTOR, ZERO_ROTATION, 1);}}
  • UserA, put a mesh that has a prim equivalent greater than 10 inside the contents of the prim. Name that mesh "Object".
  • Touch the prim.
  • Verify UserA's mesh object is returned.
  • Verify UserA receives a descriptive message explaining why the object was returned.
  • Verify UserB's objects are not returned.

resize a mesh

  • UserA, rez a mesh that has a prim equivalent less than 10.
  • UserA, resize the mesh smaller (or larger?), so its cost increases past 10
  • UserA, deselect the object
  • Verify UserA's mesh object is returned.
  • Verify UserA receives a descriptive message explaining why the object was returned.
  • Verify UserB's objects are not returned.

change Physics shape type manually

  • UserA, rez a mesh that has a prim equivalent less than 10.
  • UserA, change the Physics Shape Type to Prim. (This should increase the cost past 10)
  • Verify UserA's mesh object is returned.
  • Verify UserA receives a descriptive message explaining why the object was returned.
  • Verify UserB's objects are not returned.

change the physics shape type as a result of linking or unlinking.

  • UserA, on some parcel other than your own, rez a mesh that has a prim equivalent less than 10.
  • Duplicate the mesh and link the 2 meshes together.
  • Set the Physics Shape Type to None. (You'll see an error, but that's okay. The child mesh is now set to None)
  • Take the linked mesh into inventory.
  • Rez the linked mesh onto your parcel
  • UserB, Fill up the parcel with objects
  • UserA, Unlink the linked meshes.
  • Verify one of UserA's mesh object is returned.
  • Verify UserA receives a descriptive message explaining why the object was returned.
  • Verify UserB's objects are not returned.

change the mesh shape by dragging a different asset onto a mesh object

  • UserA, rez a mesh that has a prim equivalent less than 10.
  • UserA, drag a mesh asset which has a prim equivalent greater than 10 onto the mesh.
  • Verify UserA's mesh object is returned.
  • Verify UserA receives a descriptive message explaining why the object was returned.
  • Verify UserB's objects are not returned.

stand up from a vehicle

  • UserA, Sit on a Mesh that has a prim equivalent greater than 10 then drag it onto your parcel
  • Verify no prims are returned.
  • UserA, stand up.
  • Verify UserA's mesh object is returned.
  • Verify UserA receives a descriptive message explaining why the object was returned.
  • Verify UserB's objects are not returned.

change a temporary prim into a temporary mesh

  • UserA, rez 2 prims on your parcel.
  • Set the prim Temporary by checking the Temporary box in the Objects tab of the Edit Tools.
  • (this step may not yet be possible with the UI) Change the prim to a mesh asset which has a prim equivalent greater than 10.
  • Verify UserA's mesh object is returned.
  • Verify UserA receives a descriptive message explaining why the object was returned.
  • Verify UserB's objects are not returned.