- Jan 11, 2021
-
-
Florian Schmaus authored
We see SimpleActorTest timing out a lot in our CI when LAWS is used, and from the logs it appears likely that this is a valid timeout (versus the test just being stuck). Let us increase the test timeout and see if it helps. Or if it is a "real" timeout.
-
- Dec 18, 2020
-
-
Florian Fischer authored
-
- Dec 17, 2020
-
-
Florian Fischer authored
A spurious wake-up can be produced by the new UnblockOnMainActorTest which triggers the assert(!mpscQueue.empty()) in UnboundedBlockingMpscQueue::get. Those spurious wake-ups are possible because the push and wake-up pair in UnboundedBlockingMpscQueue::put are not atomic. The following sequence diagram demonstrates a spurious wake-up: T1 T2 Q . . { } put(e) . { } push 54-57 . {e} . get() {e} . consume e { } . . { } . get() { } . block { } unblock . { } . . { } . wakeup { } . . { } X assert(!queue.Empty()) To deal with spurious wake-ups we recheck the wake-up condition (a non empty queue) and block again if we find it empty. We assume spurious wake-ups are rare because it was difficult to reproduce them even with a dedicated Test (the new UnblockOnMainActorTest) therefore we declare the empty queue branch as unlikely. Fixes #4.
-
- Dec 10, 2020
-
-
Florian Schmaus authored
We are unable to switch to C++20 until https://github.com/mesonbuild/meson/issues/8084 is fixed.
-
- Dec 09, 2020
-
-
Florian Fischer authored
-
Florian Schmaus authored
-
Florian Schmaus authored
In debug builds, the schedule() method is now guarded by an assert(), as due to this change, the schedule() method will no longer work from everywhere. This also improves the worker sleep method.
-
- Dec 07, 2020
-
-
Florian Schmaus authored
-
- Dec 01, 2020
-
-
Florian Schmaus authored
This reverts commit b33ac93c. Now that logging is done independently from NDEBUG, we can re-enable "undef NDEBUG for test executables". The rationale that we want to undefine NDEBUG for test executable is that we want, even in release builds, asserts in tests enabled. Note that this also applies to asserts in the emper core library, if those are in *headers*.
-
- Nov 30, 2020
-
-
Florian Fischer authored
Disable the userpace-rcu support by default. Our used userspace-rcu flavor memb is rather new and not available in liburcu version 0.10 available in debian buster. This change switches from using DCE and "if constexpr" to the C preprocessor so the library is only needed when the userspace-rcu support is actually enabled.
-
- Nov 27, 2020
-
-
Florian Schmaus authored
And fix the #include issues reported by the newer IWYU version.
-
Florian Fischer authored
-
- Nov 20, 2020
-
-
Florian Fischer authored
-
Florian Fischer authored
-
Florian Fischer authored
The explicit -UNDEBUG was introduced in the CMake to meson migration (62900cd1) but as far as I can tell it was not present in the CMake tests definition. It makes tests less reliable because it enables only some debug messages but not all. For example if emper is build with NDEBUG a test using a Semaphore will output debug messages from the Semaphore but not from the Runtime.
-
- Nov 19, 2020
-
-
Florian Fischer authored
Introduce a new Actor test using BinaryPrivateSemaphores and an Actor. Multiple fibers are created which create a BPS on the stack, submit it to the actor and wait on the semaphore. The Actor simply signals each semaphore it receives.
-
- Nov 17, 2020
-
-
Florian Fischer authored
The SimpleURCUTest creates a lock-less hash table and inserts values from separate fibers and verifies the correct insertion.
-
- Nov 16, 2020
-
-
Florian Schmaus authored
-
Florian Schmaus authored
This allows to run indiviual tests using the meson runner, e.g. meson --repeat 100 SimpleActorTest
-
Florian Schmaus authored
-
Florian Schmaus authored
This should not change much, but ensure that this method is also invoked in the test (even though it is not explicitly tested).
-
Florian Schmaus authored
Otherwise meson will use a random value.
-
- Nov 10, 2020
-
-
Florian Schmaus authored
This test fails for yet unknown reasons.
-
Florian Schmaus authored
-
- Nov 05, 2020
-
-
Florian Schmaus authored
-
Florian Schmaus authored
-
Florian Schmaus authored
-
- Oct 27, 2020
-
-
Florian Fischer authored
-
- Jul 31, 2020
-
-
Florian Schmaus authored
-
- Jul 12, 2018
-
-
Florian Schmaus authored
-
- Aug 03, 2017
-
-
Florian Schmaus authored
-
Florian Schmaus authored
-
Florian Schmaus authored
-
Florian Schmaus authored
The test reliable segfaulted when a debug build as used, because it constructed a counting semaphore within the C main function.
-
Florian Schmaus authored
-
- Jul 11, 2017
-
-
Florian Schmaus authored
-
Florian Schmaus authored
-
Florian Schmaus authored
-
- Jun 19, 2017
-
-
Florian Schmaus authored
-
- Jun 18, 2017
-
-
Florian Schmaus authored
The CPS already gets incremented by the SynchronizedFiber. Initializing the CPS with FIBER_COUNT means that the CPS will never become ready.
-