Justin Clark-Casey (justincc)
dd5f9b0103
minor: Rename regression test method TestGetArrayLength() -> JsonTestGetArrayLength() to match others
2013-02-20 23:38:07 +00:00
Justin Clark-Casey (justincc)
7d5613bc16
Separate IAR tests into separate files for load/save/loadpath tests
2013-02-20 23:37:30 +00:00
Justin Clark-Casey (justincc)
f7de17c9d9
Make it so that "load iar / ..." does not save the 'root' "My Inventory" folder.
...
Really "My Inventory" is just the name of the root, it isn't a folder in its own right.
This also makes it more intuitive for users to save whole inventory iars for backup/later restoration, as they don't need to remember to use /*
/* will still work and this is a special case just for the root
If you want to save only the contents of other folders (rather than the folder itself), you still need to specify something like a/b/*
Added a regression test for this case.
2013-02-20 23:37:26 +00:00
Justin Clark-Casey (justincc)
f1b49aaa99
Add regression test TestSaveNonRootFolderToIar
2013-02-20 23:37:18 +00:00
Dan Lake
b779ab041b
Use SortedDictionary in StatsManager instead of regular Dictionary so stats will interate and print in a defined order
2013-02-20 23:37:11 +00:00
Justin Clark-Casey (justincc)
a402571a60
Enable one sub-test in TestJsonSetValue() which now works (using identifier with embedded .).
...
Need to look further at other still commented tests.
Still need to check coverage against some of Mic's scripts.
2013-02-20 23:37:07 +00:00
Justin Clark-Casey (justincc)
7e75fd7dcb
Rename JsonSetValueJson() -> JsonSetJson() and JsonGetValueJson() -> JsonGetJson()
...
This is because JsonGetJson() is getting json from anywhere in the structure, not just values.
Equally, JsonSetJson() is setting any type of json, not just json which represents a value.
Agreed with cmickeyb
2013-02-20 23:37:00 +00:00
Justin Clark-Casey (justincc)
282123cb00
Comment out regression TestJsonTestPath and TestJsonTestPathJson as these will go away soon
2013-02-20 23:36:54 +00:00
Justin Clark-Casey (justincc)
476ad0550f
Add regression TestJsonList2Path()
2013-02-20 23:36:48 +00:00
Justin Clark-Casey (justincc)
6e612937c7
Add regression TestGetArrayLength()
2013-02-20 23:36:41 +00:00
Justin Clark-Casey (justincc)
c992037d50
Add regression TestJsonGetPathType()
2013-02-20 23:36:36 +00:00
Justin Clark-Casey (justincc)
fe06b49dd6
Rename new JsonScript functions JsonPathType() -> JsonGetPathType() and JsonArrayLength() -> JsonGetArrayLength()
...
This is for consistentency with the verb:noun naming approach existing json script functions and other script functions.
Corresponding c# methods also changed since verb:noun is also the .net c# method naming guideline (as used by OpenSimulator) and for consistency with script functions.
As agreed with cmickeyb
2013-02-20 23:36:20 +00:00
Justin Clark-Casey (justincc)
1df97c2385
Make new JsonStore script constants separated with underscores, to be consistent with existing LSL/OSSL, etc script constants.
...
Agreed with cmickeyb
2013-02-20 23:36:15 +00:00
Justin Clark-Casey (justincc)
37ab587f27
Fix a very unlikely-to-occur NullReferenceException race condition in llPushObject() where the code assumed that the physics actor it null-checked would still be null when it invoked a method on it
2013-02-20 23:36:05 +00:00
Mic Bowman
12201bf7f4
Adds a couple requested functions to the JsonStore script
...
interface. JsonPathType returns the type of node pointed to by the
path and deprecates the functionality of both JsonTestPath
functions. JsonArrayLength returns the length of an array node.
2013-02-20 23:36:00 +00:00
Mic Bowman
c7179ff454
Make path parsing more robust in the JsonStore.
2013-02-20 23:35:53 +00:00
Justin Clark-Casey (justincc)
841ca0fe38
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-20 23:35:32 +00:00
Justin Clark-Casey (justincc)
1ee6822e39
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-20 23:35:27 +00:00
Justin Clark-Casey (justincc)
3fdeb559f0
Add test for array as root element in TestJsonCreateStore()
2013-02-20 23:35:20 +00:00
Justin Clark-Casey (justincc)
50811b02ab
Extend TestJsonRemoveValue() with tests for non-penultimate nodes and arrays
2013-02-20 23:35:15 +00:00
Justin Clark-Casey (justincc)
009178d7dd
Extend TestJsonCreateStore() with a one key input and an input with raw number values
2013-02-20 23:35:07 +00:00
Justin Clark-Casey (justincc)
7cacf5f8a0
Use an integer when specifying the XWorkItem wait rather than a TimeSpan to avoid a Windows casting issue in SmartThreadPool for large TimeSpans.
...
TimeSpan.Milliseconds is an int64. However, STP casts this to an int (32-bit).
If TimeSpan.MaxValue is given then the casting results in an invalid value for the SDK WaitHandle.WaitAll() call.
This was causing the co-op script termination regression tests to fail on Windows but not Mono 2.10.8 (which is perhaps not strict in the negative values that it accepts).
Solution here is to use the int millisecondsTimeout STP call rather than the TimeSpan one.
This also allows us to more clearly specify Timeout.Infinite rather than TimeSpan.MaxValue
Thanks to Teravus for this spot.
2013-02-20 23:34:59 +00:00
Justin Clark-Casey (justincc)
b1740e11de
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-20 23:34:52 +00:00
Mic Bowman
b6cbda61b3
Adds the parameter for OSD serialization to encode default values. This
...
makes the JsonStore get/set operations symmetric.
2013-02-20 23:34:21 +00:00
Mic Bowman
914ebd7476
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-20 23:30:24 +00:00
Justin Clark-Casey (justincc)
7d68559e15
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-20 23:30:19 +00:00
Justin Clark-Casey (justincc)
5c75e43a70
Add regression TestJsonGetValueJson()
2013-02-20 23:30:12 +00:00
Justin Clark-Casey (justincc)
79dd5f2692
Add regression TestJsonTestPathJson()
2013-02-20 23:30:07 +00:00
Justin Clark-Casey (justincc)
216ef7522a
Add section to TestJsonGetValue() to test call on a sub-tree
2013-02-20 23:30:03 +00:00
Justin Clark-Casey (justincc)
ccd1bac994
Extend TestJsonTestPath() for non-terminating section of path (i.e. one that does not point to a value/leaf)
2013-02-20 23:29:57 +00:00
Justin Clark-Casey (justincc)
182c66cea1
Add section to TestJsonSetValue() to test attempted set of value where the penultimate section of path does not exist
2013-02-20 23:29:52 +00:00
Justin Clark-Casey (justincc)
7fe768a98d
Add test to try reading notecard into an invalid path in TestJsonReadNotecard() regression test
2013-02-20 23:29:47 +00:00
Melanie
4fd176f479
Fix code to check for no spawn points. Possibly a merge artefact?
2013-02-20 23:29:42 +00:00
BlueWall
2be88cd46c
Fix teleport/telehub issue:
...
Fix bug that allowed only login access to regions with mis-configured telehubs. Administrators now have teleport access when there exists a mis-configured telehub in the region. Estate owners are now placed at region center in the absence of spawnpoints instead of being denied access. Grid Gods are unrestricted. All others are denied access to the region until spawnpoints are assigned to the telehub object.
2013-02-20 23:29:30 +00:00
Mic Bowman
5a2895977a
Make JsonStore path parsing more robust. Should fix the
...
invalid path problem.
2013-02-20 23:28:46 +00:00
Oren Hurvitz
7fc820b3fd
Fixed ReadSculptData(): the check whether there are enough bytes to read was incorrect
2013-02-20 23:22:29 +00:00
Oren Hurvitz
72838a04d6
Fixed check for 0 results in GetUserAccounts()
2013-02-20 23:22:22 +00:00
Mic Bowman
9ee6c06ec8
Broaden the internal OSD type checks to parse JSON that has
...
non string values.
2013-02-20 23:20:33 +00:00
Justin Clark-Casey (justincc)
5393ecfa75
Don't allow exceptions to propogate from FlotsamAssetCache which may occur when deleting expired files or stamping the region status file.
...
Changes various error level log lines to warn since these are not fatal to the operation of OpenSimulator
2013-02-20 23:10:49 +00:00
Mic Bowman
f6ddd20413
Fix the return values for JsonDestroyStore, JsonRemoveValue, and JsonSetValue.
...
Fix the link message status when reading a notecard.
2013-02-20 23:10:42 +00:00
Justin Clark-Casey (justincc)
b46a9cf57f
If a component of a coalesced object fails to deserialization, do not add a null where the object should be.
...
This prevents a later load IAR failure.
This code is currently only used by IAR loading.
2013-02-20 23:10:34 +00:00
Justin Clark-Casey (justincc)
aab719dc18
On IAR loading, if loading of a coaleseced item entirely fails, then continue with the IAR load rather than failing completely.
2013-02-20 23:10:28 +00:00
Justin Clark-Casey (justincc)
90d71d423c
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-20 23:10:22 +00:00
Justin Clark-Casey (justincc)
3f6feec914
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-20 23:10:15 +00:00
Justin Clark-Casey (justincc)
6874d56452
Stop wrongly create a receiving store already populated with "Hello":"World" in TestJsonReadNotecard()
2013-02-20 23:10:08 +00:00
Justin Clark-Casey (justincc)
23df5768c3
Extend TestJsonWriteNotecard() regression test for cases with fake paths and fake stores.
...
Also separates out TestJsonWriteReadNotecard() into separate write and read tests
2013-02-20 23:10:03 +00:00
Justin Clark-Casey (justincc)
f52cee9732
Extend TestJsonSetValue() regressio ntes tto test against a fake store
2013-02-20 23:09:58 +00:00
Justin Clark-Casey (justincc)
37e4186ad8
Extend TestJsonTestPath() regression test with checks against fake values and fake stores
2013-02-20 23:09:54 +00:00
Justin Clark-Casey (justincc)
5be2483e93
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-20 23:09:49 +00:00
Justin Clark-Casey (justincc)
6418b89fd6
Add testing for getting non-existing values and values from a non-existing datastore to TestJsonGetValue()
2013-02-20 23:09:44 +00:00