* chore: remove _decorate_all_methods_and_functions_with_type_checker
No one understands this runtime magic anymore.
* build: Bump coverage.py to latest
* test: Skip github in coverage reporting
* test: Print traceback from all threads when test is stuck
* ci: Enable coverage in server side tests
* ci: Always enable coverage
It's cheap in recent python versions, our reasons for selectively
disabling aren't valid anymore.
* ci: Disable stderr capturing
* ci: Use default buffer behaviour in unittest runner
* ci(coverage): Set concurrency to multiprocessing
We do use multiprocessing, perhaps the patches aren't concurrectly
handled?
* ci(coverage): Try parallel run
* fix: Apply subprocess patch
* ci: Don't start web server with coverage
Causes deadlock for some reason. We don't actually report it either.
* ci: only submit UI coverage if ran
* test: remove aggresive stuck test checking
* ci: disable UI coverage
(for now)
* feat: global `frappe.in_test` flag
* feat: helper utility to toggle `frappe.in_test`
* fix: use `toggle_test_mode` util
* fix: use `frappe.in_test`
* chore: add comment explaining global `in_test`
* chore: ignore commit replacing flag usage
* test: temporarily disable `frappe.in_test`
this worked earlier because flag was set in werkzeug.local which was separate for API test client
* test: add comment explaining change
* test: fix universal type checker based on downstream use and more testing
* fix: type validation error reporting
* fix: types; various
* chore: switch off test-time type checking
still too many errors