test: errors: rename tests like check command's checks

This commit is contained in:
Simon Michael 2022-03-18 07:13:18 -10:00
parent 2b2d643333
commit f7625343f6
11 changed files with 30 additions and 23 deletions

View File

@ -1,17 +1,37 @@
Here are journals for reproducing all of hledger's journal error messages.
Each has an easy command at the top for reproducing in the CLI.
Some have additional declarations to help with reproducing in Emacs with flycheck-hledger.
Here are journals/scripts for reproducing hledger's journal error messages.
They are named similarly to [hledger check][]'s checks.
hledger error messages are still pretty inconsistent.
Tools like https://github.com/DamienCassou/flycheck-hledger parse them and need updating whenever they change.
Related: https://github.com/simonmichael/hledger/issues/1436.
In the CLI, execute them to see the error messages (`./showall`).
In Emacs with [flycheck-hledger][],
customize flycheck-hledger-* to enable all appropriate checks,
and open the files to see how flycheck handles them.
Some files contain extra declarations to ease flycheck testing.
[hledger-check]: https://hledger.org/hledger.html#check
[flycheck-hledger]: https://github.com/DamienCassou/flycheck-hledger
[#1436]: https://github.com/simonmichael/hledger/issues/1436
hledger error messages are currently quite varied in format.
Tools like flycheck-hledger parse them and need updating
whenever they change ([#1436][]).
Getting consistent high-quality errors and accurate flycheck region
highlighting, not to mention LSP support, for all of our journal
errors is a big project.
But (once we converge on a standard format) it's quite crowd-sourceable,
tackling each error separately, and any progress means immediate practical benefits.
Below is the approximate status of hledger's error messages and related tool support.
errors is a big project, but it's crowd-sourceable and any progress
brings immediate practical benefits. Here is the approximate current status:
| | consistent | accurate line | accurate column | flycheck detects | flycheck region |
|-------------------|------------|---------------|-----------------|------------------|-----------------|
| parseable | | | | Y | |
| parseable-dates | | | | Y | |
| parseable-regexps | | | | Y | |
| balanced | | | | Y | |
| assertions | | | | Y | |
| accounts | | | | Y | |
| commodities | | | | Y | |
| payees | | | | Y | |
| ordereddates | | | | Y | |
| uniqueleafnames | | | | Y | |
Key:
- consistent: the error message follows a consistent format
@ -19,16 +39,3 @@ Key:
- accurate column - the optimal column(s) is(are) selected
- flycheck detects - flycheck recognises the error output, reports the error and doesn't give a "suspicious" warning
- flycheck shows region - flycheck highlights the text region containing the error
| | consistent | accurate line | accurate column | flycheck detects | flycheck region |
|---------------------------|------------|---------------|-----------------|------------------|-----------------|
| failing-balance-assertion | | | | Y | |
| invalid-date | | | | Y | |
| invalid-regex | | | | Y | |
| nonunique-leaf-names | | | | Y | |
| parse-error | | | | Y | |
| unbalanced-txn | | | | Y | |
| undeclared-acct | | | | Y | |
| undeclared-commodity | | | | Y | |
| undeclared-payee | | | | Y | |
| unordered-dates | | | | Y | |