Evgeniy Moiseenko
Evgeniy Moiseenko
Some blocking data structures (for instance, channels, queues, etc.) may have capacity constraints. For example, trying to send a new element channel into a filled channel with the capacity 1...
* When calling a `suspend` function, optionally indicate that this is a `suspend` function and hide the `Continuation` parameter. * When a coroutine (`Continuation`) is resumed, hide the machinery to...
As the Lincheck codebase grows in size and complexity, debugging becomes more and more challenging process. To improve the development process and speed-up debugging process, we need to add a...
Currently, there are several places in the `ManagedStrategy` class, where there is special handling of `TestThread` objects created by Lincheck, comparing with custom user created threads: https://github.com/JetBrains/lincheck/blob/f2011d4d0c6915cfe6a3a5baf9455e4469e1c012/src/jvm/main/org/jetbrains/kotlinx/lincheck/strategy/managed/ManagedStrategy.kt#L495 Let's unify the...
Hide from the trace (by default) implementation details of various synchronization primitives from Java stdlib: - `ReentrantLock` - `ReadWriteLock` - `Future` - `CountDownLatch` - `CyclicBarrier` - `Phaser` To support that,...
This PR attempts to refactor the interaction of the `Strategy` class and the `Runner` class to make the `Strategy` runner-agnostic. The goal is to encapsulate the execution scenario specific logic...
Currently the Lincheck strategies classes use the following `ThreadState` state machine to manage the threads: https://github.com/JetBrains/lincheck/blob/a758c54e13058899488cb369207d6d24237cb19c/src/jvm/main/org/jetbrains/kotlinx/lincheck/strategy/ThreadScheduler.kt#L35 However, currently there are several technical problems in the code base: - [ ]...
Currently Lincheck does not track events from externally created threads (i.e. threads outside of the scenario, created even before the Lincheck test started). Because of this Lincheck cannot test code...
Show `inline` function calls as regular function calls. Specifically, * show correct line numbers * show inline function calls
Same as #515 but for Kotlin stdlib collections