libreoffice-online/test
Miklos Vajna 547f9ea731 Rework StringVector to have a single underlying string
This is meant to reduce lots of small allocations and instead have
pointers into the single string for the various tokens instead.

This has a few requirements, though:

1) It's no longer OK to modify the tokens, changing their length would
invalidate the start/length of other tokens. Rework
DocumentBroker::load() to avoid such mutation.

2) The iterators no longer expose zero-terminated strings, so
Poco::cat() doesn't work anymore: add an own cat() instead and use that
in e.g. ChildSession. The own cat() has the benefit that it won't read
past the end of the array if the begin index is out of bounds to add
more safety.

(This nicely works towards killing Poco usage in general.)

3) If zero-terminated strings for all individual tokens is needed, a
copy has to be made, as done in spawnProcess().

(For all of these requirements, the build fails if there are problems.)

Change-Id: Iea40e4400e630b2d669f5c72aea85cb40edf9a2c
Reviewed-on: https://gerrit.libreoffice.org/c/online/+/89711
Reviewed-by: Michael Meeks <michael.meeks@collabora.com>
Tested-by: Jenkins CollaboraOffice <jenkinscollaboraoffice@gmail.com>
2020-02-28 18:31:37 +01:00
..
data UnitRenderShape: update Writer reference SVG 2020-02-27 11:57:07 +01:00
.gitignore
countloolkits.hpp killpoco: removed StringTokenizer from test directory 2019-11-13 09:20:25 +01:00
DeltaTests.cpp test: switch to using ClientPortNumber to allow parallelism. 2020-01-21 15:07:54 +00:00
fakesockettest.cpp
helpers.hpp Rework LOOLProtocol::tokenize() to return a StringVector object 2020-02-28 16:07:56 +01:00
httpcrashtest.cpp test: switch to using ClientPortNumber to allow parallelism. 2020-01-21 15:07:54 +00:00
httpwstest.cpp Restore "tests: Disable unstable unit test." 2020-02-14 09:59:23 +01:00
integration-http-server.cpp test: dung out redundant LOOL_TEST_CLIENT_PORT. 2020-01-21 15:07:54 +00:00
Makefile.am Rework LOOLProtocol::tokenize() to return a StringVector object 2020-02-28 16:07:56 +01:00
run_unit.sh.in test: remove documentation about no longer working CPPUNIT_TEST_NAME variant 2020-01-24 00:09:34 +01:00
test.cpp wsd: improve test logging 2020-02-23 22:04:04 +01:00
test.hpp test: dung out redundant LOOL_TEST_CLIENT_PORT. 2020-01-21 15:07:54 +00:00
TileCacheTests.cpp Rework LOOLProtocol::tokenize() to return a StringVector object 2020-02-28 16:07:56 +01:00
TileQueueTests.cpp Fix issues with size_t and ssize_t on 32bits machines 2019-11-22 11:20:57 +01:00
UnitAdmin.cpp Rework LOOLProtocol::tokenize() to return a StringVector object 2020-02-28 16:07:56 +01:00
UnitBadDocLoad.cpp Rework LOOLProtocol::tokenize() to return a StringVector object 2020-02-28 16:07:56 +01:00
UnitCalc.cpp Convert some Calc tests to a new-style one 2019-12-06 08:51:51 +01:00
UnitClient.cpp test: simplify and remove obsolete /proc grokking code. 2020-01-21 15:07:54 +00:00
UnitClose.cpp Rework LOOLProtocol::tokenize() to return a StringVector object 2020-02-28 16:07:56 +01:00
UnitConvert.cpp killpoco: removed StringTokenizer from test directory 2019-11-13 09:20:25 +01:00
UnitCopyPaste.cpp killpoco: removed StringTokenizer from test directory 2019-11-13 09:20:25 +01:00
UnitCursor.cpp Rework LOOLProtocol::tokenize() to return a StringVector object 2020-02-28 16:07:56 +01:00
UnitEachView.cpp test, UnitEachView: increase the timeout 2020-02-18 11:32:31 +01:00
UnitFuzz.cpp killpoco: removed StringTokenizer from test directory 2019-11-13 09:20:25 +01:00
UnitHosting.cpp Convert some of the integration-http-server tests to new-style ones 2020-01-17 09:16:41 +01:00
UnitHTTP.cpp test: fix random failure of unit-http test. 2020-02-24 15:52:27 +01:00
UnitInsertDelete.cpp Rework LOOLProtocol::tokenize() to return a StringVector object 2020-02-28 16:07:56 +01:00
UnitLargePaste.cpp
UnitLoad.cpp Rework LOOLProtocol::tokenize() to return a StringVector object 2020-02-28 16:07:56 +01:00
UnitLoadTorture.cpp test: increase timeout of UnitLoadTorture 2020-01-30 09:49:52 +01:00
UnitOAuth.cpp
UnitOOB.cpp killpoco: removed StringTokenizer from test directory 2019-11-13 09:20:25 +01:00
UnitPasswordProtected.cpp Rework LOOLProtocol::tokenize() to return a StringVector object 2020-02-28 16:07:56 +01:00
UnitPaste.cpp
UnitPrefork.cpp
UnitRenderingOptions.cpp Rework LOOLProtocol::tokenize() to return a StringVector object 2020-02-28 16:07:56 +01:00
UnitRenderShape.cpp test: remove redundant shape related C++ test. 2020-02-26 21:38:09 +01:00
UnitSession.cpp Rework LOOLProtocol::tokenize() to return a StringVector object 2020-02-28 16:07:56 +01:00
UnitStorage.cpp
UnitTiffLoad.cpp
UnitTileCache.cpp
UnitTimeout.cpp killpoco: Don't use POCO for app exit values. 2019-11-07 12:23:47 +01:00
UnitTyping.cpp tdf#130382 - unit test for core fix for text input ordering issue. 2020-02-10 23:23:04 +01:00
UnitUNOCommand.cpp Convert "uno command" tests to a new-style one 2019-11-18 08:56:41 +01:00
UnitWOPI.cpp test: validate ExtendedData sent to WOPI 2019-11-22 01:51:34 +01:00
UnitWOPIDocumentConflict.cpp
UnitWOPILoadEncoded.cpp
UnitWopiOwnertermination.cpp
UnitWOPIRenameFile.cpp
UnitWOPISaveAs.cpp
UnitWOPITemplate.cpp test: switch to using ClientPortNumber to allow parallelism. 2020-01-21 15:07:54 +00:00
UnitWOPIVersionRestore.cpp
UnitWOPIWatermark.cpp Rework LOOLProtocol::tokenize() to return a StringVector object 2020-02-28 16:07:56 +01:00
WhiteBoxTests.cpp Rework StringVector to have a single underlying string 2020-02-28 18:31:37 +01:00
WopiTestServer.hpp