* feat: set doctype on test classes
* refactor: Transform `make_test_records` into a generator
* feat: lazy create doctype records on first use
* perf: improve file walker
* fix: submission queue test
* refactor: improve logging a bit
* fix: global records install for app (semifix)
* feat: Improve logging in test runner
* feat: Categorize tests as unit or integration
* feat: Add support for selecting test categories
* feat: Split unit and integration tests execution
* test: better output on cli runner
* feat: Create TestRunner class
* feat: Implement run method in TestRunner class
* refactor: Refactor test discovery and execution in TestRunner class
* feat: Integrate _run_doctype_tests functionality into TestRunner class
* feat: Integrate _run_unittest functionality into TestRunner class
* refactor: Handle distinction between loading specific test case and entire module
* feat: Add handling of test dependencies in _add_module_tests method
* refactor: Merge _add_tests into discover_tests
* feat: Improve test results printing with click
* refactor: wrap in proper error handling
* fix: some signatures
* feat: Add debug logs to frappe/test_runner.py
* refactor: Move before_tests hooks after test discovery
* refactor: Use TestConfig instead of frappe.flags.skip_before_tests
* refactor: Add skip_test_records to TestConfig and update calling sites
* feat: Defer test record creation until after before_tests hooks
* feat: Add app parameter to _run_doctype_tests and _run_module_tests
* feat: Add --test-category option to run_tests command
* refactor: Add explanatory comments for skipping before_tests hooks and test record creation callbacks for unit tests
* feat: Add test category option to run_tests command
* feat: Unify explanatory comments in _prepare_integration_tests
* fix: wrap implicit db access in try-except block
* fix: mark current site
* fix: case counting
BREAKING: return values of bench execute are not quoted anymore
For example, `bech execute frappe.bold --arg 'hi'`
- now returns: `<strong>hi</strong>`
- instead of: `"<strong>hi</strong>"`
- add using-cache flag to node esbuild call
The flag is to be used by bench get-app if its is
using cache.
Flag causes building of assets to not run and
instead updates assets.json files from built assets.
Linking of assets in the sites folder also occurs.
Translation assets are also... assets, so grouping them with `bench build`.
We can do some special function but that will likely require updating
bench for everyone. Not so ideal.
Also renamed `compile` function as it is a builtin in python.
This has been done because the mysql command issues a deprecation warning now
mysql: Deprecated program name. It will be removed in a future release, use '/usr/bin/mariadb' instead
Signed-off-by: Akhil Narang <me@akhilnarang.dev>