Skip to content
Snippets Groups Projects
  1. Dec 03, 2021
    • Florian Fischer's avatar
      reduce test load when logging · 905fb18b
      Florian Fischer authored
      I suspect some test which scale whith the number of CPUs to timeout
      mostly on jenkins2.
      This patch reduces the load when logging is active and increases the
      load when logging is off.
      Therefore our test build with debugoptimized will do less and hopefully
      only timeout when they actually hung and the release test will do
      more.
      905fb18b
  2. Feb 19, 2021
  3. Jan 26, 2021
  4. Dec 17, 2020
    • Florian Fischer's avatar
      handle UnboundedBlockingMpscQueue spurious wake-ups · 82cf159a
      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.
      82cf159a
  5. Dec 10, 2020
  6. Dec 09, 2020
  7. Nov 27, 2020
  8. Nov 19, 2020
    • Florian Fischer's avatar
      [test] add AlarmActorTest · cbe2a880
      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.
      cbe2a880
Loading