- [x] Swift 5.9 seems to execute code (unit tests) noticeably faster. Test if the "CGI bug" listed in `known-issues.md` is still a problem. - it is still a problem - [x] Refactor all custom `Error`s to implement `errorDescription` instead of `localizedDescription` so you don't have to worry about downcasting them all. - [x] Figure out how to get code coverage reports without Xcode - swift test --enable-code-coverage --show-codecov-path - [x] Find ready-made tool that generates visual report from JSON file from above command - `llvm-cov` - [x] script the above command to generate report - [x] works: `llvm-cov report .build/aarch64-unknown-linux-gnu/debug/smolverPackageTests.xctest -instr-profile=.build/aarch64-unknown-linux-gnu/debug/codecov/default.profdata --ignore-filename-regex=.build` - [x] pair output lines with a custom line: "has test file? (Y/N)" to allow for easily finding tests that accidentally leak into testing other files - [x] Do this for SocketServer too - [x] Script new file creation - [x] Refactor unit tests to use more private helper methods, too much duplicated code - [x] Fix code coverage "leakage" by breaking ResponseTests.swift down into separate files like the prod code (suspected semi-false positive due to the way the coverage script determines leakage vs. how this file is structured) - [x] Remove all SwiftLint configurations, and references in any scripts - [x] Refactor EnvironmentVariables to not have a `dictionary` property, but to be subscriptable - [x] Backlog meta - [x] Restructure backlog/ contents, update documentation accordingly - [x] Add reminder within new `v2-x/` dir - [x] Refactor install.sh - [x] Recommend Swiftly - [x] Switch to `bash` - [x] Use Swift package manager to install smolver (simplifies script!) - [x] Simplify logic