Commit graph

59 commits

Author SHA1 Message Date
Sönke Ludwig 5cb6ff7dd3 Fix recursive directory watcher test.
Was storing stack allocated strings, as well as not skipping all directory change events (which now is important on Linux/inotify).
2020-10-24 17:03:01 +02:00
Geod24 e564bba215 Trivial: Unify some spacing / style issues 2020-09-02 10:28:02 +02:00
Sönke Ludwig 6e5fb79c62 Work around platform differences in the directory watcher test.
- Drops all events that happen before any changes are made (FSEventStream reports events from the past to a certain degree)
- Tests the same file twice in a row, since FSEventStream might coalesce events and report bogus changes
- Allows "modified" instead of "added" events, because FSEventStream does not allow to distinguish in some cases
2020-05-23 17:40:57 +02:00
Sönke Ludwig 85dc8d54e6 Make file and pipe closing asynchronous.
CloseHandle can block for extended periods of time in certain cases, causing the whole thread to be blocked otherwise.
2020-05-12 09:47:06 +02:00
Sönke Ludwig 86ee5c9477 Remove FileChange.isDirectory.
isDir can be a huge performance issue when watching a network based directory and can effectively block the thread almost completely in case of frequent file changes. This does mean than high-level code now needs to perform the check manually, if required, and the free information provided by inotify goes unused.
2020-05-11 19:30:40 +02:00
Sönke Ludwig 5c4e8be20a Add tests for TCP shutdown procedure and connection state handling. 2020-03-17 14:26:48 +01:00
Sönke Ludwig e8f35c0e0f Avoid a possible concurrent write to the same socket. 2020-03-15 21:07:43 +01:00
Sönke Ludwig e66b29d8df Loosen test timing to pass on Windows on the CI infrastructure. 2020-03-15 21:07:43 +01:00
Sönke Ludwig f301e479a4 Run high level tests on Windows. 2020-03-15 20:33:52 +01:00
Sönke Ludwig b32b329d15 Fix the approach to determine connect failures.
On macOS it could happen that both, onConnect and onConnectError, were triggered, resulting in seemingly overlapping connection attempts when they really were sequential. This in turn triggered a connection error leak test in vibe-core.

Now using only the write-ready flag plus the reported socket error status to determine failed connections, guaranteeing a single call back.
2020-03-15 18:49:54 +01:00
Sönke Ludwig 1ef320c329 Use a more robust way to self-execute the test binary. 2019-08-23 09:35:12 +02:00
Sönke Ludwig de199d3410 Add test for SIGCHLD coalescing. 2019-08-23 09:35:12 +02:00
Sönke Ludwig 2a6488a101 Fix test to allow the directory watcher to start up. 2019-06-01 21:44:20 +02:00
Hiroki Noda 9015f065c5 Tests should use monotonic clock too for timeout 2018-12-23 22:15:54 +09:00
Sönke Ludwig dbb8267540 Introduce TimerCallback2.
This allows getting notified also if the timer has been stopped, so that it is guaranteed to be called, except if cancelWait is called.

Necessary for fixing vibe-d/vibe-core#86
2018-10-27 14:11:11 +02:00
Sönke Ludwig 38a4e4ca5f Test leaking handles through the GC. 2018-10-26 15:41:18 +02:00
Boris-Barboris ed9fdcd467 ease asserting, constants wrapped for future robustness 2018-06-06 11:45:36 +00:00
Sönke Ludwig 910451557b Add test for runInOwnerThread. 2018-03-16 16:11:47 +01:00
Sönke Ludwig d15e78a517 Test for proper connection state after a successful accept/connect.
Test for #54.
2018-03-07 10:59:31 +01:00
Sönke Ludwig 50fe0b28b5 Add watchdog timer and log output to flaky test. 2017-12-18 14:06:58 +01:00
Sönke Ludwig 7ea0e34a46 Further increase the timer test tolerance to account for the macOS builds. 2017-12-17 22:17:40 +01:00
Sönke Ludwig 2005c93f53 Display the timeout different in timer assertions. 2017-12-17 12:05:58 +01:00
Sönke Ludwig 2c6b69590d Relax timer test constraints and don't gag assertions.
Attempts to fix the flaky tests on macOS.
2017-12-16 18:53:58 +01:00
Sönke Ludwig 979640b074 Increase the tolerance for the second timer test, too. 2017-12-02 13:47:36 +01:00
Sönke Ludwig 929164e114 Increase timer tolerance in test to avoid macOS failures. 2017-12-02 13:16:30 +01:00
Sönke Ludwig 7795195ec1 Fix recursive directory watcher test to check for unexpected events. 2017-11-23 23:11:16 +01:00
Sönke Ludwig e154446a9d Enable directory watcher tests on macOS.
Also fixes some timings to work with the polling watcher implementation.
2017-11-23 23:11:16 +01:00
Sönke Ludwig a9ae496fb4 Avoid "." path in InotifyEventDriverWatchers.
The vibe-core tests broke because a "/./" path segment slipped into the resulting paths.
2017-11-22 17:07:49 +01:00
Sönke Ludwig 5bba45485c Add recursive directory watcher test. 2017-11-21 08:59:19 +01:00
Sönke Ludwig 784d4360d5 Add test for cancelConnectStream. 2017-11-12 14:35:17 +01:00
Sönke Ludwig ef7c19d373 Add test for issue #25 - periodic timers overlapping single-shot timers. 2017-09-26 15:49:09 +02:00
Sönke Ludwig b20dd9b398
Adjust all tests to rely on automatic event loop exiting. 2017-06-10 10:28:16 +02:00
Sönke Ludwig 13a0adb967
Add a minimal test for #8. 2017-06-10 10:21:47 +02:00
Sönke Ludwig 9465eae359 Let the USDS test clean up after itself. 2017-01-25 12:58:16 +01:00
Sönke Ludwig 2174b7d535 Fixup. 2017-01-23 22:56:20 +01:00
Sönke Ludwig 4f94cd107e Adjust USDS test for macOS behavior. 2017-01-23 22:18:46 +01:00
Sönke Ludwig e8a0968ded Adjust UDP test for macOS loopback behavior. 2017-01-23 19:34:42 +01:00
Sönke Ludwig 86ff9ea0d0 Fix macOS compile error in signal test. 2017-01-23 15:37:47 +01:00
Sönke Ludwig e72b071057 Add debug output for the getaddrinfo based DNS lookup driver. 2017-01-23 12:17:53 +01:00
Sönke Ludwig bdba2c3fca Fix DNS test issue on macOS. 2017-01-22 22:23:58 +01:00
Sönke Ludwig bd860d71d7 Fix syntax errors in tests. 2017-01-22 21:03:38 +01:00
Sönke Ludwig 8bf742d3cc Skip tests for missing features on macOS. 2017-01-22 20:54:56 +01:00
Sönke Ludwig 58c89a7369 Implement proper zero size wait semantics for Posix stream sockets. 2017-01-22 10:47:58 +01:00
Sönke Ludwig 9433a1ad65 Add basic file operation test. 2017-01-22 03:06:52 +01:00
Sönke Ludwig 17c4fe65a8 Fix the Windows events implementation in the Posix driver. 2017-01-22 03:05:01 +01:00
Sönke Ludwig 87cf29dcdd Adjust USDS test. 2017-01-15 22:05:07 +01:00
Sönke Ludwig 672e1c951d Adjust high level wrapper and test. 2017-01-15 21:59:15 +01:00
Sönke Ludwig 6ad917493d Improve timer test diagnostics. 2016-12-19 22:21:51 +01:00
Sönke Ludwig 9bf0875778 Add event test and fix the notify_all==false case. 2016-10-24 00:44:55 +02:00
Sönke Ludwig b4157e2ff6 Fix TCP test compilation. 2016-10-19 22:01:11 +02:00