No-Copy Regression Test

From Second Life Wiki
Jump to navigation Jump to search

Scope

  • Quick regression test plan to verify expected no-copy object behavior

Set-up

Environment

TBD

Other

  • User A has in his inventory all Object types at least one (no-copy) version
  • You can get no-copy object if the it was shared by a previous owner that didn't want the next owner to have copy permissions.
  1. Object Types:
    1. Body Part:
      1. Shape
      2. Skin
      3. Hair
      4. Eyes
    2. Clothes:
      1. Shirt
      2. Pants
      3. Shoes
      4. Socks
      5. Jacket
      6. Skirt
      7. Gloves
      8. Undershirt
      9. Alpha
      10. Tattoo
      11. Physics
    3. Gesture
    4. Notecard
    5. Script
    6. Image
    7. Sound
    8. Animation
    9. Model

Test Steps

Functional Tests

Adding objects in Group Notices

  1. Only objects with transfer permissions can be added to notices (copy)
  2. Only objects with transfer permissions can be added to notices (no-copy)

Adding objects in IMs

  1. Only objects with transfer permissions can be added to IMs (copy)
  2. Only objects with transfer permissions can be added to IMs (no-copy)

Adding objects in Notecards

  1. Only objects with transfer permissions can be added to Notecards (copy)
  2. Only objects with transfer permissions can be added to Notecards (no-copy)

LSL Inventory Tests

  1. llAllowInventoryDrop
  2. llGiveInventory
default 
{ 
state_entry() 
{ 
llAllowInventoryDrop(TRUE); 
} 
}
//llGiveInventory 
default 
{ 
state_entry() 
{ 
llSay(0, "Hello, Avatar!"); 
integer allowdrop = TRUE; 
llAllowInventoryDrop(allowdrop); 
llSay(0, "llAllowInventoryDrop is "+(string)allowdrop); 
} 
touch_start(integer total_number) 
{ 
key destination = "c7a62f0f-b2f9-dc5e-6f6d-682df139c0f4"; 
llGiveInventory(destination, "Object"); 
} 
changed(integer change) 
{ 
if (change == CHANGED_INVENTORY) 
{ 
llSay(0, "CHANGED_INVENTORY"); 
} 
else if (change == CHANGED_ALLOWED_DROP) 
{ 
llSay(0, "CHANGED_ALLOWED_DROP"); 
} 
} 
}

Adhoc No-Copy Tests

Derived from Adhoc Inventory Perm Test

  1. User A drags no-copy object on User B
  2. User A detach no-copy object while flying off the region
  3. User A tries to rez no-copy object on a busy region multiple times
  4. User A puts no-copy object in a folder and tries to rez the folder
  5. User A puts no-copy object in a folder and tries to share the folder
  6. User A puts no-copy into an attachment
  7. User A puts no-copy for sale
  8. User A links no-copy object to a full perm object and tries to copy it
  9. User A tries to copy a new no-copy object that hasn't been rezzed yet
  10. User A wears no-copy object in multiple outfits

Regression Tests

For each (no-copy) Object Type verify that:

  1. Using (wearing, playing, display) it in-world behaves/displays as expected
  2. Upon restart of the Viewer it still persists in the inventory
  3. Upon restart of the Viewer after clear cache it still persists in the inventory
  4. Is searchable on the Viewer
  5. When rezzing inworld (if applicable) it gets removed from the inventory and doesn't copy
    1. You are not able to run operations that can copy the no-copy object
  6. When sharing the (no-copy) it gets removed from the inventory and transferred to the new owner
  7. Move between inventory folders and back again, verify that there is no duplication of disappearance
  8. Add no-copy objects as inventory in objects



Pass/Fail Criteria

  1. Passes if
    1. e.g. No unexpected behaviors are observed
  2. Fails if
    1. e.g. Expected behaviors are broken
    2. e.g. A bug is detected that was not accounted for by this test plan

Tear Down

TBD