Commit Graph

60 Commits

Author SHA1 Message Date
Justin Clark-Casey (justincc)
5557b523fd Add more sub-tests to TestJsonSetValue for paths containing []{} without {} delineation.
As expected, values are not set and the set call returns FALSE (0).
As a reminder, these tests are not currently running on jenkins continuous integration as the functionality is only available on .net 4 (mono 2.8 and later).
2013-02-13 01:38:33 +00:00
Justin Clark-Casey (justincc)
b1a165a39a Extend JsonTestSetValue() with tests for escaping brackets, periods and unbalanced braces from paths
The sub-tests that are commented out are currently those which fail unexpectedly based on my understanding of the path syntax
2013-02-13 01:25:30 +00:00
Justin Clark-Casey (justincc)
70e641c708 Add test for array as root element in TestJsonCreateStore() 2013-02-13 00:51:45 +00:00
Justin Clark-Casey (justincc)
4b797f2ead Extend TestJsonRemoveValue() with tests for non-penultimate nodes and arrays 2013-02-13 00:12:20 +00:00
Justin Clark-Casey (justincc)
992ef9e971 Extend TestJsonCreateStore() with a one key input and an input with raw number values 2013-02-12 23:00:24 +00:00
Justin Clark-Casey (justincc)
058d477ce7 Re-enable subtest for single quoted token in TestJsonSetValueJson()
This is in response to the resolution of http://opensimulator.org/mantis/view.php?id=6540
2013-02-12 20:51:36 +00:00
Mic Bowman
4b8c22ecfa Adds the parameter for OSD serialization to encode default values. This
makes the JsonStore get/set operations symmetric.
2013-02-12 11:10:17 -08:00
Mic Bowman
d3b2cdc2b4 Fix handling of string values in JsonSetValueJson(). There are
some oddities with empty strings: the Json serializer treats them
as default values and does not return them in serialized hashes.
2013-02-11 19:55:10 -08:00
Justin Clark-Casey (justincc)
586def0bcc Add regression TestJsonSetValueJson()
The part to test setting of single leaf-node string tokens is currently commented out.
See http://opensimulator.org/mantis/view.php?id=6540
2013-02-12 01:27:38 +00:00
Justin Clark-Casey (justincc)
d55974bcb7 Add regression TestJsonGetValueJson() 2013-02-11 23:47:49 +00:00
Justin Clark-Casey (justincc)
6924bd21f4 Add regression TestJsonTestPathJson() 2013-02-11 23:10:07 +00:00
Justin Clark-Casey (justincc)
9d001e40e7 Add section to TestJsonGetValue() to test call on a sub-tree 2013-02-11 22:56:43 +00:00
Justin Clark-Casey (justincc)
8fcfd82241 Extend TestJsonTestPath() for non-terminating section of path (i.e. one that does not point to a value/leaf) 2013-02-11 22:44:25 +00:00
Justin Clark-Casey (justincc)
cbb8d82c7d Add section to TestJsonSetValue() to test attempted set of value where the penultimate section of path does not exist 2013-02-11 22:28:50 +00:00
Justin Clark-Casey (justincc)
c72c189864 Add test to try reading notecard into an invalid path in TestJsonReadNotecard() regression test 2013-02-11 22:16:07 +00:00
Mic Bowman
0a297a0e52 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-02-08 22:43:56 -08:00
Mic Bowman
7bb82c8f2e Make JsonStore path parsing more robust. Should fix the
invalid path problem.
2013-02-08 22:43:15 -08:00
Justin Clark-Casey (justincc)
6935bec0ab Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-02-09 01:11:41 +00:00
Justin Clark-Casey (justincc)
a8bc08ebe6 Change TestDestroyStore() and TestJsonRemoveValue() to reflect the fact that the return values have changed. 2013-02-09 01:10:53 +00:00
Mic Bowman
6d825d7ea2 Broaden the internal OSD type checks to parse JSON that has
non string values.
2013-02-08 15:46:42 -08:00
Mic Bowman
e93defd0ca Adds size limits to JsonStore. Adds a separate configuration
variable to enable binding to dynamic attributes.
2013-02-08 15:07:43 -08:00
Mic Bowman
2b5eba9c74 Fix the return values for JsonDestroyStore, JsonRemoveValue, and JsonSetValue.
Fix the link message status when reading a notecard.
2013-02-08 12:00:16 -08:00
Justin Clark-Casey (justincc)
42f724f380 Refine TestJsonReadNotecard() and use / instead of . to separate paths.
An attack of the stupid meant that I was using / as a path separator.
Fixing this makes the tests behave better, though still with some questions.
Also, I imagine / shouldn't really put data in the root as that's not a valid identifier.
This commit also fix the / mistake in other tests those this does not affect their outcomes.
2013-02-08 01:59:27 +00:00
Justin Clark-Casey (justincc)
528f23beab Extend TestJsonReadNotecard() for reads to non-root locations and fake stores.
Assertions for loading to non-root paths are currently commented out because this doesn't seem to be working.  Will be raising mantis to resolve.
2013-02-08 01:02:25 +00:00
Justin Clark-Casey (justincc)
9c9b48b29a Stop wrongly create a receiving store already populated with "Hello":"World" in TestJsonReadNotecard() 2013-02-08 00:38:30 +00:00
Justin Clark-Casey (justincc)
24bfdbfb80 Extend TestJsonWriteNotecard() regression test for cases with fake paths and fake stores.
Also separates out TestJsonWriteReadNotecard() into separate write and read tests
2013-02-08 00:36:20 +00:00
Justin Clark-Casey (justincc)
bef8961578 Extend TestJsonSetValue() regressio ntes tto test against a fake store 2013-02-08 00:04:05 +00:00
Justin Clark-Casey (justincc)
be982666fb Extend TestJsonTestPath() regression test with checks against fake values and fake stores 2013-02-08 00:01:06 +00:00
Justin Clark-Casey (justincc)
75f1e04315 Add tests for removing fake values/from fake store in TestJsonRemoveValue()
Again, need to check if returning true for removing a value that doesn't exist is most appropriate.
2013-02-07 23:58:19 +00:00
Justin Clark-Casey (justincc)
715d6f2da1 Add testing for getting non-existing values and values from a non-existing datastore to TestJsonGetValue() 2013-02-07 23:52:28 +00:00
Justin Clark-Casey (justincc)
2e86978b60 Add TestJsonDestoreStoreNotExists()
This still returns true even if we ask to destroy a store that does not exist.
Need to check that this is more appropriate behaviour.
2013-02-07 23:30:03 +00:00
Justin Clark-Casey (justincc)
9e17dc3daa Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-02-07 23:09:47 +00:00
Justin Clark-Casey (justincc)
c135c3224f Fix a recent regression in e17392a where JsonSetValue() stopped working (probably other functions as well).
Fix is to call through to the no-arg constructor from the string constructor in JsonStore, which I suspect was just forgotten.
This was actually picked up by the TestJsonSetValue() regression test failing
But this isn't being run on jenkins due to the .net version issue.
This commit also puts the full stack trace in logged messages and makes these error level messages instead of info
2013-02-07 23:08:19 +00:00
Justin Clark-Casey (justincc)
2c5d24d394 Merge branch 'master' of ssh://opensimulator.org/var/git/opensim 2013-02-07 02:19:53 +00:00
Justin Clark-Casey (justincc)
3657a08844 Add TestJsonWriteReadNotecard() regression test 2013-02-07 02:19:26 +00:00
Mic Bowman
e17392acbb Enables script access to the per object dynamic attributes through the JsonStore
script functions. Adds JsonAttachObjectStore to associate a store identifier with
an object (scripts can only access the store in their host object, this could be
extended but isn't necessary for now).

Note this opens a method to the DAMap OSDMap. This will be removed later, but
greatly simplifies the code for now.

The JsonStore and these scripts are disabled by default.
2013-02-06 17:29:17 -08:00
Justin Clark-Casey (justincc)
4d1758985f Make json store tests operate on a single thread to ensure we don't run into any race related test failures in the future. 2013-02-07 00:54:09 +00:00
Justin Clark-Casey (justincc)
eddfed3812 Allow JsonReadNotecard() to accept the name of the notecard as well as the asset ID.
Agreed in discussion with cmickeyb.
This is to make this consistent with similar existing LSL/OSSL functions such as llTriggerSound() and osNpcLoadAppearance() that allow an item name or an asset id.
2013-02-06 01:37:22 +00:00
Mic Bowman
1e0420431f Move the JsonStore regular expressions to static variables to avoid
recompiling on every operation. Added JsonList2Path script function
to simplify array iteration.
2013-01-31 14:53:16 -08:00
Mic Bowman
a0ef3df194 Add JsonTestStore to determine if a JsonStore is associated with
a particular UUID.
2013-01-30 14:45:03 -08:00
Justin Clark-Casey (justincc)
d42c7afe3f Add JsonDestroyStore() basic regression test 2013-01-30 05:56:30 +00:00
Justin Clark-Casey (justincc)
5a22efe69c refactor: Make invocations of json store functions from the regression test simpler 2013-01-30 05:49:28 +00:00
Justin Clark-Casey (justincc)
addf9ada49 Add regression test for script func JsonRemoveValue() 2013-01-30 05:39:34 +00:00
Justin Clark-Casey (justincc)
39700445f2 minor: change name of json script tests to JsonStoreScriptModuleTests instead of copy/pasted LSL_ApiInventoryTests 2013-01-29 04:36:41 +00:00
Justin Clark-Casey (justincc)
e0f4e91d22 Try ignoring json tests if they can't be run due to being on <=.net 3.5 2013-01-29 04:26:47 +00:00
Justin Clark-Casey (justincc)
d977bb77cb Disable json tests for now - I see this is failing on jenkins because mono 2.4.3 doesn't have Funcs >5 params, though mono 2.6 onwards does.
Standardize logging in JsonStoreScriptModule and some minor code formatting.
2013-01-25 03:19:56 +00:00
Justin Clark-Casey (justincc)
614d4eda3e See if getting the registering JsonReadNotecard with MethodInfo works around an apparent issue with registering methods with more than 5 parameters on mono 2.4.3 2013-01-25 03:02:08 +00:00
Justin Clark-Casey (justincc)
4f52acaa83 Increase logging by enabling during test setup rather than during individual tests of for JsonStore 2013-01-25 02:32:38 +00:00
Justin Clark-Casey (justincc)
8c68451856 Enable logging in new json store tests to find out why they fail on jenkins but not locally. 2013-01-25 02:22:24 +00:00
Justin Clark-Casey (justincc)
844e60da0f Add JsonTestPath() regression test 2013-01-25 02:12:28 +00:00