All testsuites have been copied over from SynthOS updater and syntax has been corrected for the most part in the various testsuites. Signed-off-by: zontreck <tarapiccari@gmail.com>
104 lines
No EOL
3.3 KiB
Text
104 lines
No EOL
3.3 KiB
Text
#include "Variables.lsl"
|
|
#include "Functions.lsl"
|
|
#include "Version.lsl"
|
|
#include "../external/AriasCreations/Common.lsl"
|
|
#include "../external/AriasCreations/Helpers.lsl"
|
|
|
|
|
|
// When used in combination with the Test manifest
|
|
/*
|
|
|
|
[21:10:16] Object: Send_back received
|
|
[21:10:16] Object: Item 'Test0100' is in the inventory
|
|
|
|
*/
|
|
//
|
|
// Test status: PASS
|
|
|
|
|
|
integer g_iChecks=0;
|
|
default
|
|
{
|
|
state_entry()
|
|
{
|
|
VERSION = "0.0.1.0";
|
|
|
|
g_iServerListener = llListen(PACKAGE_SERVER_CHANNEL, "", "", "");
|
|
|
|
llRegionSay(PACKAGE_SERVER_CHANNEL, BuildPacket("check_package_servers",[]));
|
|
}
|
|
|
|
listen(integer c,string n,key i,string m)
|
|
{
|
|
if(llJsonGetValue(m,["op"]) == "package_server_reply")
|
|
{
|
|
if(llJsonGetValue(m,["server"]) == "Test Server")
|
|
{
|
|
llRegionSayTo(i,c,BuildPacket("connect", []));
|
|
}else {
|
|
llSay(0, "FATAL ERROR IN PACKAGE SERVER REPLY");
|
|
}
|
|
}else if(llJsonGetValue(m,["op"]) == "package_list")
|
|
{
|
|
string sPkgs = llJsonGetValue(m,["packages"]);
|
|
if(sPkgs == "[\"Test\"]")
|
|
{
|
|
llRegionSayTo(i,c,BuildPacket("check_package", ["pkg", "Test"]));
|
|
}else {
|
|
llSay(0, "FATAL ERROR IN PACKAGE SERVER LISTING");
|
|
}
|
|
} else if(llJsonGetValue(m,["op"]) == "package_versions")
|
|
{
|
|
g_iChecks=0;
|
|
llRegionSayTo(i,c,BuildPacket("check_version", ["pkg","Test","ver", "0.1.0.0", "cur", VERSION]));
|
|
} else if(llJsonGetValue(m,["op"]) == "version_back")
|
|
{
|
|
// Test 1 we check 0.1.0.0
|
|
// Test 2 we check 0.1.0.1
|
|
|
|
// Testsuite A will only check with version number 0.0.0.1-EXTRA
|
|
// Testsuite B will test with its version number being 1.0.0.0
|
|
|
|
if(!(g_iChecks & 1))
|
|
{
|
|
g_iChecks++;
|
|
|
|
llRegionSayTo(i,c,BuildPacket("check_version", ["pkg","Test", "ver", "0.1.0.1", "cur", VERSION]));
|
|
} else if(!(g_iChecks & 2))
|
|
{
|
|
g_iChecks = g_iChecks << 1;
|
|
|
|
// We are updating!
|
|
VERSION = "0.1.0.0";
|
|
g_iChecks++;
|
|
llRegionSayTo(i,c,BuildPacket("check_version", ["pkg", "Test", "ver", "0.1.0.1", "cur", VERSION]));
|
|
}else if(!(g_iChecks & 4))
|
|
{
|
|
g_iChecks = g_iChecks << 1;
|
|
g_iChecks++;
|
|
|
|
// Check the same version to us
|
|
llRegionSayTo(i,c,BuildPacket("check_version", ["pkg", "Test", "ver", "0.1.0.0", "cur", VERSION]));
|
|
} else if(!(g_iChecks & 8))
|
|
{
|
|
g_iChecks = g_iChecks<<1;
|
|
g_iChecks++;
|
|
|
|
if(llGetOwnerKey(i)!=llGetOwner())llAllowInventoryDrop(TRUE);
|
|
|
|
llRegionSayTo(i,c,BuildPacket("send", ["pkg", "Test", "ver", "0.1.0.0", "dest", llGetKey()]));
|
|
}
|
|
} else if(llJsonGetValue(m,["op"]) == "send_back")
|
|
{
|
|
llAllowInventoryDrop(FALSE);
|
|
llSay(0, "Send_back received");
|
|
|
|
if(llGetInventoryType(llJsonGetValue(m,["item"])) != INVENTORY_NONE)
|
|
{
|
|
llSay(0, "Item '"+llJsonGetValue(m,["item"])+"' is in the inventory");
|
|
} else{
|
|
llSay(0, "Item from server not found");
|
|
}
|
|
}
|
|
}
|
|
} |