ankidroid / Anki-Android

AnkiDroid: Anki flashcards on Android. Your secret trick to achieve superhuman information retention.
GNU General Public License v3.0
7.93k stars 2.16k forks source link

test: fix serial execution [Windows Robolectric] #16289

Closed david-allison closed 1 week ago

david-allison commented 2 weeks ago

Purpose / Description

On Robolectric Windows: withContext(queue) is insufficient for serial execution

This initially caused timeouts, then exceptions due to concurrent collection init

Fixes

Approach

A reentrant lock

How Has This Been Tested?

https://github.com/david-allison/Anki-Android/actions/runs/8867926036 @ https://github.com/david-allison/Anki-Android/commit/3ba4f9a9f51290fa166f63070094b3b5b627bda7

Thanks to Mike for the anti-flake script

Checklist