Commit graph

57 commits

Author SHA1 Message Date
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
Sönke Ludwig
32f4170b8b Add basic timer test. 2016-10-19 22:00:32 +02:00
Sönke Ludwig
bf519fd058 Fix test compile errors. 2016-10-19 22:00:06 +02:00