Skip to content

Testsuite diffs can be misleading when normalisers are in use

When output fails to match, GHC will output the diff based on the original outputs. However, this is misleading: some "differences" will actually have been normalised by the whitespace and more substantive normalisers we apply. So you really have to compare the normalised output to see what the /real/ difference is.

Unfortunately, the real normalised output is missing newlines, so it's not really suitable for diffing. So it's not really clear what an improved algorithm would be.

This seems to not actually be a problem in practice, since SOP for messages which need heavy normalizing is that when the new message looks good, it's just 'make accept'ed. Can be a little confusing when you're developing normalisers.

Trac metadata
Trac field Value
Version 7.11
Type Task
TypeOfFailure OtherFailure
Priority low
Resolution Unresolved
Component Test Suite
Test case
Differential revisions
BlockedBy
Related
Blocking
CC
Operating system
Architecture
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information