Fox
Fox copied to clipboard
Given a FSM, generate parallel tests.
Each API call is assumed atomic.
- [x] Add Parallel Testing to CLI & CI (to fix CI failures)
- [x] Automate providing the FoxlingCompiler Plugin for Releases.
- [x] Documentation how parallel testing works in Fox
- [x] Lock implementations overridden
- [x] Libraries that are safe to use (aka - no direct kernel threads code)
- [x] Testing with and without the cooperative scheduler
- [x] Testing with Foxling Compiler
- [x] Current limitations in implementation for automatic thread yielding (e.g. - no Swift support, expressions replaced, number of concurrent commands, etc.)
- [x] Document how to develop / compile Foxling
- [ ] Verify: parallel testing does not work on iOS devices?
- [ ] Document if parallel test does not work on iOS devices.
- [x] Remove hardcoded paths in Foxling
- [ ] Finish overriding mach semaphores.
- [ ] Alcatraz Support for Foxling
Bonus:
- [ ] Good ways of testing the compiler besides End-to-End?
- [ ] Configuring the plugin to automatically refer to its internal copy of the Foxling compiler.
Finalize:
- [ ] Audit APIs that are alpha
- [ ] Audit documentation that marks alpha APIs
- [ ] Grammer / editing check of documentation.
- [ ] Create and link issues mentioned in the documentation.
Things to consider in other PR/issues:
- Dead-lock detection / timeout runs
- More rewriting rules for Foxling
- Non-brute-force linearizable verifier.