|There's more than one way to do things|
I am really baffled. Some 15 minutes, and already three answers! Thank you so much!
I chose the write-to-file route because it seemed the most accessible and transparent:
Then I compared got.dump and expected.dump on the command line, where it also became obvious that they even had different sizes. If you open the files in an editor, you see that.
The reason was indeed the copy&paste: I had somehow forgotten I had colorised some of the output, and copy&paste dropped the control codes: [1;34mBad thing[0m.
So, that was indeed very stupid of me. I had noticed there was something irregular with the colorising, but dismissed it because I reasoned that was not part of what I needed to test because it would be plainly obvious anyway ... what a fuzzy and human way of reasoning.
is fails no longer! Thanks so much again!