DesktopLOKTest::testRedlineWriter is failing

Tomáš Chvátal tomas.chvatal at gmail.com
Fri Nov 10 12:33:09 UTC 2017


2017-11-10 10:39 GMT+01:00 Stephan Bergmann <sbergman at redhat.com>:

> On 11/10/2017 10:17 AM, Tomáš Chvátal wrote:
>
>> 2017-11-06 9:58 GMT+01:00 Stephan Bergmann <sbergman at redhat.com <mailto:
>> sbergman at redhat.com>>:
>>
>>
>>     Looking at the surrounding code
>>
>>              // Get redline info.
>>              boost::property_tree::ptree aTree;
>>              char* pJSON =
>>         pDocument->m_pDocumentClass->getCommandValues(pDocument,
>>         ".uno:AcceptTrackedChanges");
>>              std::stringstream aStream(pJSON);
>>              free(pJSON);
>>              CPPUNIT_ASSERT(!aStream.str().empty());
>>              boost::property_tree::read_json(aStream, aTree);
>>              // Make sure that pressing a key creates exactly one redline.
>>              CPPUNIT_ASSERT_EQUAL(static_cast<size_t>(1),
>>         aTree.get_child("redlines").size());
>>
>>
>>     what's the binary content of that "char* pJSON" stream?  If that's
>>     still intact, then it's apparently boost::property_tree::read_json
>>     that's breaking things.  And if that's already garbled, then it's
>>     apparently the producer side of that
>>     pDocument->m_pDocumentClass->getCommandValues (whatever that is)
>>     that is breaking it and needs further investigation.
>>
>> I checked the read_json function and it was indeed rewritten in between
>> the boost versions on the distro (and there were some comments about
>> unicode support). So I had updated the boost function (basically to use
>> latest boost code) in my testing repo and it still fails:
>>
>> [ 6427s] /home/abuild/rpmbuild/BUILD/libreoffice-5.4.2.2/desktop/qa/
>> desktop_lib/test_desktop_lib.cxx:1660:DesktopLOKTest::testRedlineWriter
>> [ 6427s] equality assertion failed
>> [ 6427s] - Expected: Insert “t”
>> [ 6427s] - Actual  : Insert “tâ€
>>
>>
>>   FWIW I enabled it on the OBS so the full build log is tracked here:
>> https://build.opensuse.org/package/live_build_log/LibreOffic
>> e:Factory/libreoffice/openSUSE_Leap_42.3/x86_64
>>
>> Any idea how to check the getCommandValues behaviour if it is the proper
>> one?
>>
>
> so, again, "what's the binary content of that "char* pJSON" stream?" can't
> you just dump it in gdb?
>
>
$8 = 0x2076820 "{\n    \"redlines\":\n    [\n        {\n", ' ' <repeats 12
times>, "\"index\": \"1\",\n", ' ' <repeats 12 times>, "\"author\":
\"Unknown Author\",\n", ' ' <repeats 12 times>, "\"type\": \"Insert\",\n",
' ' <repeats 12 times>, "\"comment\": \"\",\n", ' ' <repeats 12 times>,
"\"description\": \"Insert
\\u00E2\\u0080\\u009Ct\\u00E2\\u0080\\u009D\",\n", ' ' <repeats 12 times>,
"\"dateTime\": \"2017-11-10T12:29:40\",\n", ' ' <repeats 12 times>,
"\"textRange\": \"1418, 1418, 67, 275\"\n        }\n    ]\n}\n"

Tom
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/libreoffice/attachments/20171110/c05a6a03/attachment.html>


More information about the LibreOffice mailing list