Commit graph

944 commits

Author SHA1 Message Date
Szymon Kłos
7043365475 masterpage: get & set optional mode parameter for tiles (server side)
Signed-off-by: Szymon Kłos <szymon.klos@collabora.com>
Change-Id: I756e3d515c86a635cfa9db81106848ee3dcf684a
2022-09-19 15:18:23 +02:00
Aron Budea
6910653a8c Temporarily disable unit-tiletest
Due to this error:
[ coolwsd ] TST  testTileProcessed  [testTileProcessed] (+12566ms):
ERROR: Assertion failure: Expected exactly the requested number of
tiles Expected arrivedTile == [25] but got [28]
| TileCacheTests.cpp:1580

Probably since 2cc955f9109c0fc8443c9f93c1bf6bd317043cb5 (core)

Signed-off-by: Aron Budea <aron.budea@collabora.com>
Change-Id: Ie854a57e4241f2c8fbf8e3d769aba8a19981feb1
2022-09-05 22:00:18 +02:00
Aron Budea
c4975d01e5 Split config.h into separate headers to avoid extensive rebuild
Eg. if only the version was changed, config.h was updated, and
everything was recompiled.

New structure, maintain these manually:
config.h.in - for configured variables that are stable if
              configuration parameters are unchanged
config_version.h.in - for version/hash related variables

----
config_unused.h.in - still generated by autoheader with all
                     variables, don't use it

Signed-off-by: Aron Budea <aron.budea@collabora.com>
Change-Id: Id9a50a9f1e798a3b3814778d8683b7d7cb57bb29
2022-09-05 12:32:49 +01:00
Ashod Nakashian
648ab10c66 wsd: test: move UnitWOPIStuckSave
For some as-yet unknown reason, UnitWOPIStuckSave
is timing out with -j8 for me. It seems that
the issue has to do with the socket not having
the data in a timely fashion. The only thing
that reproduces the issue is the order, and
that isn't always the case. So, it seems
that at some point, on my particular system,
having this test any earlier than where I put
is causing the failure. The fix was to move it.

While I don't yet know the reason, this isn't
happening all the time. It would seem that
after restarting it goes away. So it might
be some system state that is interfering.
Still, I can't explain why this test should
suffer reliably and none of the others.

Worth investigating further, but for now
changing the order.

Change-Id: Ibbb912941f8872c4825468e940e82814b2d14168
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-08-25 15:12:10 +01:00
Ashod Nakashian
f0837f45cf wsd: test: enable IsModifiedByUser assertion
Now that IsModifedByUser is reliably set, we
can finally enable this assertion to catch
regressions and verify its reliability.

Change-Id: I1254be2319ed76f0b92dc045cad7e9c45bfafb7a
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-08-25 15:12:10 +01:00
Ashod Nakashian
dcde162206 wsd: test: modernize UnitWOPIAsyncUpload_ModifyClose
And assert the User-Modified attribute.

Change-Id: I44a4aaf9e978da8ff22992565ed0cbfd7e41dd30
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-08-25 15:12:10 +01:00
Andras Timar
cf6e22c22c Fix typos in comments
Signed-off-by: Andras Timar <andras.timar@collabora.com>
Change-Id: I813f652b516c79f350b46317e589b91e0ef39a1a
2022-08-23 18:37:44 +02:00
Ashod Nakashian
7ae1c9152a wsd: test: print failed assertion code
Change-Id: Iceeafd3e399da7a20f06d8ad6d4e5adffd989d93
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-08-17 08:55:12 -04:00
Ashod Nakashian
ca60752515 wsd: test: print correct binary name on failure
Change-Id: I93ebe0c0e39928717e1b53becc010a334ce7bf09
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-08-17 08:55:12 -04:00
Ashod Nakashian
81399bff64 fuzzers: fixup HttpEcho
This improves the performance of fuzzing
and removes the checks that can't be guaranteed.

And fixes a test failure.

Change-Id: I987fe15b098c00d9a3d60077f0581d2ef35e306c
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-08-17 08:55:12 -04:00
Ashod Nakashian
ad19bb3055 wsd: test: better PutFile assertion
This enabled previously-disabled PutFile
assertions, now that these cases are fixed,
which makes a number of tests more strict.

Change-Id: I77a0d552b43c73534cd4fbd066e34025d924f793
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-08-05 15:24:27 -04:00
Ashod Nakashian
5c6516e4e4 wsd: support code-coverage report via --with-coverage
This adds support for code-coverage HTML reporting.
To achieve this, we must use file-linking in jails
so that we can update the coverage data (.gcda files)
from the jails. This means that creating jails is
slower than with bind-mounting and we need to
account for that in our timeouts.

We also can't kill child processes with SIGKILL,
which is un-catchable. Instead, we use SIGTERM
and dump the profile data before exiting.

Change-Id: I16fa534f6ed42f7133014d841bb024423315e0a4
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-08-02 14:45:12 -04:00
Ashod Nakashian
551454c9f5 wsd: test: reorder test execution order
Now that most tests are rid of poco sockets
and fixed a number of other issues, the
tests run much faster. The relative timings
have changed, so re-ordering can yield
better total time with -j.

The new order gives ~20% shorter execution
time with -j8 (on 8c/16t i9 @ 2.0 Ghz fixed).
Actual time went from ~2:11 down to 1:46.
A saving of more than 25 seconds.

Change-Id: I0f23b86e4218fff187cdbcc756eb77522732a64b
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-08-02 09:24:46 -04:00
Ashod Nakashian
f396786e28 wsd: test: break connectLOKit retries when terminating
Without this, we may end up retrying a dozen times
before giving up, all when the test is complete.

This happened rarely when the test in question didn't
care to wait for the connection to finish. Such a test
exists for wopi redirections; UnitWOPIHttpRedirect.

Change-Id: Ied43119c91343be812d7c1a2be86ba8d21b4f021
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-08-02 09:24:46 -04:00
Ashod Nakashian
a8cb6a660b wsd: test: track tests in URLs
This helps detect when tests cross-connect.

A rare, and very hard to find, issue went
like this:

A test (a random one) would recieve a request
that it didn't expect. This would cause it
to fail. It was clear that this was coming
from a different test--but which?

Meanwhile, another test (UnitWOPIHttpRedirect)
was in connectLOKit retry loop due to repeated
failure to connect.

With this patch, it was easy to see what was
happening, once the source was found. The
idea is to stamp the test sending the
request so the test-server can validate.
Upon failure, we can see the source test.

The source test (UnitWOPIHttpRedirect),
in the case in question, is a
server-side test. It flagged to exit once
it verified that the redirection worked
(in the GetFile serving the document).
Unfortunately, exiting didn't stop the
connection attempts in the same test. In
most cases the document would load before
DocBroker is stopped. But every so often
everything would shutdown and the test
would keep trying to connectLOKit.
Since we shutdown everything, we also
closed the listening port, which is now
available for other tests to re-use.
This is how UnitWOPIHttpRedirect requests
ended up at different tests, causing them
to fail sporadically.

The subsequent test fixes the retry logic.
The fix is left separate since this patch
is useful on its own, and independent of
the issue and the fix. This is just a tool.

Change-Id: I2848cc578a102fc0bd981e1ac71aaabc25f1a403
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-08-02 09:24:46 -04:00
Ashod Nakashian
fcb0f8557a wsd: test: killpoco for UnitCopyPaste
Change-Id: I655e29619b110fce23881dab29828ecb7966890e
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-08-02 09:24:46 -04:00
Ashod Nakashian
b1ddb1aa55 wsd: test: cleanup test helpers
Change-Id: I68d43ab78fe0a4a11b07f72c9cd7aab9500398c8
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-08-02 09:24:46 -04:00
Ashod Nakashian
50d4129ab8 wsd: test: killpoco for UnitBadDocLoad
We now use our http::Socket and SocketPoll
instead of Poco.

Change-Id: I9b89c017e4bbba81267f753cbe26419912d32be8
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-08-02 09:24:46 -04:00
Ashod Nakashian
5c874d1b9f wsd: test: correct shutdown UnitWebSocket
We cannot invoke the socket from outside the
SocketPoll and we must flag for async shutdown.

Change-Id: I223e24f5fe48a79a9d751c7cf5cdf9d720c22f7d
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-08-02 09:24:46 -04:00
Ashod Nakashian
4fdd7cac67 wsd: test: improve Upload-Conflict tests stability
This handles an edge-case that failed randomly.

Change-Id: I0e13130477698f9a4fbdb2812a592a706ba408b4
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-08-02 09:24:46 -04:00
Ashod Nakashian
8fed0fed8a wsd: test: killpoco test helpers
Change-Id: Iaf2a8cf195e29b1215076733ae268422d7384f34
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-08-02 09:24:46 -04:00
Ashod Nakashian
712e40a3f9 wsd: test: replace hard-coded test timeouts
Compile-time constants are far superior
to hard-coded magic numbers and they
make changing them trivial. We need that
when we enable profiling.

Change-Id: I9ee42fabf3feb1feecb9b76ebca663007e263680
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-08-02 09:24:46 -04:00
Ashod Nakashian
7fb9a0588f wsd: test: killpoco for UnitClose
We now use our http::Socket and SocketPoll
instead of Poco.

Change-Id: I728f9c975b67da76dbbc78e94f1fb5f224c9bc57
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-08-02 09:24:46 -04:00
Ashod Nakashian
b972c7e0a1 wsd: test: clang-tidy some args
Change-Id: If9dcbfb2e3eab5617fee60b8f233e400e3d38916
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-08-02 09:24:46 -04:00
Ashod Nakashian
94978498ea wsd: test: modernize some tests
Change-Id: I8968a53f1a72ddebba276eae8211d8533964b591
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-08-02 09:24:46 -04:00
Ashod Nakashian
60e64ec8c9 wsd: test: remove COOLWebSocket from WopiTestServer
Change-Id: Ia56c2a7f34503907fb1257b966125e4d94a61645
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-08-02 09:24:46 -04:00
Ashod Nakashian
ba09a78721 wsd: test: modernize UnitTileCache
And disable it, since it's empty and has
no functional tests in it at all (it just
loads a document and exits the test, without
even waiting for the loading to finish).

We modernize, even though we also disable it,
because otherwise it wouldn't build.

Change-Id: I3735f28fa27af1d00e764f4e0070a25ff36b32d5
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-08-02 09:24:46 -04:00
Ashod Nakashian
3b04b606eb wsd: test: modernize UnitWOPISaveAS
Change-Id: I56fffb5908dbefea73a10ccded1aa46d321cfcf3
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-25 14:02:00 +01:00
Ashod Nakashian
176c37eaa6 wsd: test: killpoco for UnitSession
We now use our http::Socket and SocketPoll
instead of Poco.

Change-Id: Ib835b8efb7b65fee11e0a2aebf34cc4ee86dbab7
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-25 14:02:00 +01:00
Ashod Nakashian
cd9490a3ae wsd: test: killpoco for UnitRenderingOptions
We now use our http::Socket and SocketPoll
instead of Poco.

Change-Id: I4a21902d2ef1472ac8d7a73f6881b059c683de93
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-25 14:02:00 +01:00
Ashod Nakashian
9368b14c77 wsd: test: killpoco for UnitPasswordProtected
We now use our http::Socket and SocketPoll
instead of Poco.

Change-Id: I814eece097823959c70954cc53a755392135965e
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-25 14:02:00 +01:00
Ashod Nakashian
64ee298bab wsd: test: killpoco for TileCacheTests
We now use our http::Socket and SocketPoll
instead of Poco.

Change-Id: I422c31d85e3422541a0ab367007876c3a33fa124
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-25 14:02:00 +01:00
Ashod Nakashian
ed6565502c wsd: test: killpoco for UnitCalc
We now use our http::Socket and SocketPoll
instead of Poco.

Change-Id: I2ed85129b9a58d49f19bea0b2e4f8f09b7b36f5f
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-25 14:02:00 +01:00
Ashod Nakashian
9130f12d75 wsd: test: killpoco for UnitBadDocLoad
We now use our http::Socket and SocketPoll
instead of Poco.

Change-Id: Ia24ef764219f31b0610d85b63ee6000df62b8c8c
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-25 14:02:00 +01:00
Ashod Nakashian
4d76d7349a wsd: test: killpoco for UnitTyping
We now use our http::Socket and SocketPoll
instead of Poco.

Change-Id: Ib9142f7751ddf6a17a9a17e09898a96f5071e9a6
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-25 14:02:00 +01:00
Ashod Nakashian
6a0709b71b wsd: test: killpoco for UnitUNOCommand
We now use our http::Socket and SocketPoll
instead of Poco.

Change-Id: I70887502320cf1a86cd24525dcdb5af98ac6e67c
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-25 14:02:00 +01:00
Ashod Nakashian
c3b2fe9956 wsd: test: killpoco for UnitTiffLoad
We now use our http::Socket and SocketPoll
instead of Poco.

Change-Id: Ief648126bf45376737c281dd3b9637e33339b414
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-25 14:02:00 +01:00
Ashod Nakashian
acbf32aef5 wsd: test: killpoco for UnitRenderShape
We now use our http::Socket and SocketPoll
instead of Poco.

Change-Id: Ied70aff99ecd61571c13974d0cfb63e6ab5bda47
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-25 14:02:00 +01:00
Ashod Nakashian
93cf880337 wsd: test: killpoco for UnitRenderSearchResult
We now use our http::Socket and SocketPoll
instead of Poco.

Change-Id: If1a83eb4a78102c9090699934767a759c8923542
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-25 14:02:00 +01:00
Ashod Nakashian
74b49f41ca wsd: test: killpoco for UnitPaste
We now use our http::Socket and SocketPoll
instead of Poco.

Change-Id: I8e51c000cea0fd323c6babd9e12d81c8c8c9eeaa
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-25 14:02:00 +01:00
Ashod Nakashian
4e9acddc42 wsd: test: killpoco for UnitLoad
We now use our http::Socket and SocketPoll
instead of Poco.

Change-Id: I30a4dc1b762caba1ecfad8f5784871b2bba583f6
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-25 14:02:00 +01:00
Ashod Nakashian
c4c05aa20d wsd: test: killpoco for UnitLoad
We now use our http::Socket and SocketPoll
instead of Poco.

Change-Id: I3035ea1d335b05d6ced677a91f32f0233380a5a8
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-25 14:02:00 +01:00
Ashod Nakashian
fe629da48f wsd: test: killpoco for UnitLargePaste
We now use our http::Socket and SocketPoll
instead of Poco.

Change-Id: If6c33a53d7a01a83db718407d4f78464e07ed204
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-25 14:02:00 +01:00
Ashod Nakashian
d3cb191fd1 wsd: test: killpoco for UnitInsertDelete
We now use our http::Socket and SocketPoll
instead of Poco.

Change-Id: Id7b63d25e497377c37f487a704c015dd7babfc32
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-25 14:02:00 +01:00
Ashod Nakashian
7896351a28 wsd: test: killpoco for UnitInsertDelete
We now use our http::Socket and SocketPoll
instead of Poco.

Change-Id: Ie787fb518c9e1528155d96fbe549f16678111095
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-25 14:02:00 +01:00
Ashod Nakashian
569203284f wsd: test: killpoco for UnitCursor
We now use our http::Socket and SocketPoll
instead of Poco.

Change-Id: I76a7d4c7640abfcf54a181c5080ae2a027c73874
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-25 14:02:00 +01:00
Ashod Nakashian
f15c6cd8b5 wsd: test: killpoco for UnitEachView
We now use our http::Socket and SocketPoll
instead of Poco.

UnitEachView now finishes ~3x faster.
It's also much more consistent in its
runtime.

More importantly, the CPU utilization
went from ~20% to ~90%. Poco was spending
most of its time polling (and often timing
out). It has corner-cases that make it
miss events completely, for some reason.

Change-Id: Ibcc8fbd638e5ec950a34b418414521accdd443f8
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-25 14:02:00 +01:00
Ashod Nakashian
1d96fe827a wsd: test: remove default testname arg from helpers
Change-Id: Iecbc2c1fa2a7568aedeaa0b089c3ca0a584488f5
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-07-25 14:02:00 +01:00
Ashod Nakashian
697607d122 wsd: timeout on saving stuck with test
Change-Id: I66769e4e5131f60b41327ada9a6f0a45b2ee11ac
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-06-27 14:07:08 +01:00
Ashod Nakashian
0f173cfa8c wsd: test: cleanup and cosmetics
Change-Id: I5c72922b1090c920710d3208ab42044b859336c0
Signed-off-by: Ashod Nakashian <ashod.nakashian@collabora.co.uk>
2022-06-27 14:07:08 +01:00