summaryrefslogtreecommitdiff
path: root/indra/newview/skins/default
diff options
context:
space:
mode:
authorNat Goodspeed <nat@lindenlab.com>2022-12-02 15:17:56 -0500
committerNat Goodspeed <nat@lindenlab.com>2022-12-02 15:17:56 -0500
commit2f557cd7faceec36acace1eee4ee38904ff06130 (patch)
tree826951a26dc6a55233e3c3d30b7af56fa126af6e /indra/newview/skins/default
parentb180e4de23cb54ec385e2d999fc5fdd4ea804ba4 (diff)
SL-18330: Fix new C++ <-> Python LLSD compatibility tests.
When sending multiple LEAP packets in the same file (for testing convenience), use a length prefix instead of delimiting with '\n'. Now that we allow a serialization format that includes an LLSD format header (e.g. "<?llsd/binary?>"), '\n' is part of the packet content. But in fact, testing binary LLSD means we can't pick any delimiter guaranteed not to appear in the packet content. Using a length prefix also lets us pass a specific max_bytes to the subject C++ LLSD parser. Make llleap_test.cpp use new freestanding Python llsd package when available. Update Python-side LEAP protocol code to work directly with encoded bytes stream, avoiding bytes<->str encoding and decoding, which breaks binary LLSD. Make LLSDSerialize::deserialize() recognize LLSD format header case- insensitively. Python emits and checks for "llsd/binary", while LLSDSerialize emits and checks for "LLSD/Binary". Once any of the headers is recognized, pass corrected max_bytes to the specific parser. Make deserialize() more careful about the no-header case: preserve '\n' in content. Introduce debugging code (disabled) because it's a little tricky to recreate. Revert LLLeap child process stdout parser from LLSDSerialize::deserialize() to the specific LLSDNotationParser(), as at present: the generic parser fails one of LLLeap's integration tests for reasons that remain mysterious.
Diffstat (limited to 'indra/newview/skins/default')
0 files changed, 0 insertions, 0 deletions