* add tests.util.misc.assert_maximum_duration for benchmark assertions
* fix some imports
* more
* lint
* correct duration
* hint fixup
* rename to caller_file_and_line()
* set default timer to thread_time()
* extract gc manager and default to disabling
* self calibrate overhead
* wrap none-ness behind .results() method
* add messages
* from __future__ import annotations
* yield out self
* final from typing_extensions
* split it
* just use Future
* tweak
* tweak
* correction in loosely hint checked file
* all future indexing in hints
* union for the hints
* rename
* assert_runtime()
* another rename...
* message -> label
* label all results with test names
* oops
* rename test files that are missing test_ prefix
* update mypy and isort excludes
* skip test_get_host_addr6() in GitHub Actions under macOS
* rebuild workflows
* util|test: Add misc.py with format_minutes as first method
Format `minutes` into a string with the format:
`unit` and `sub-unit`
where `unit` and `sub-unit` can be:
- years (`unit` only)
- months
- weeks
- days
- hours
- minutes
* cmds: Use `format_minutes` in farm_funcs.summary