coreutils
coreutils copied to clipboard
checksum: rework for improving checkum checking GNU behavior match
This PR makes a significant refactor of the checksum checking code.
The current architecture prevents us to fix #6572, #6614 and #6653.
For #6614, we will need to implement a "retry" step in case we matched the hexa regex and we wish to try again considering the checksum as base64.
The refactor mainly consists in decomposing and extracting functionalities, and improving error management.
It adds several tests, for #6653 and #6572.
Its merge is gated by #6603, as it depends on its commits.