Sometimes I get output where the relevant difference between two strings is not shown because one or both get truncated with `elided lines`. Example:
```
- SystemErr: Inverse(simplify, string(
- """
- > Enter [BeforeEach] e2e - cleanup_test.go:54
- INFO: before
- < Exit [BeforeEach] e2e - cleanup_test.go:54
- > Enter [BeforeEach] e2e - set up framework | framework.go:xxx
- STEP: Creating a kubernetes client - framework.go:xxx
- INFO: >>> kubeConfig: yyy/kube.config
- STEP: Building a namespace api object, basename test-namespace - framework.go:xxx
- INFO: Skipping waiting for service account
- < Exit [BeforeEach] e2e - set up framework | framework.go:xxx
- > Enter [BeforeEach] e2e - cleanup_test.go:98
- INFO: extension before
- < Exit [BeforeEach] e2e - cleanup_test.go:98
- > Enter [BeforeEach] e2e - cleanup_test.go:62
- INFO: before #1
- < Exit [BeforeEach] e2e - cleanup_test.go:62
- > Enter [BeforeEach] e2e - cleanup_test.go:66
- INFO: before #2
- < Exit [BeforeEach] e2e - cleanup_test.go:66
- > Enter [It] works - cleanup_test.go:81
- [FAILED] failure
- In [It] at: cleanup_test.go:90
- < Exit [It] works - cleanup_test.go:81
- > Enter [AfterEach] e2e - cleanup_test.go:99
- INFO: extension after
- < Exit [AfterEach] e2e - cleanup_test.go:99
- > Enter [AfterEach] e2e - cleanup_test.go:70
- INFO: after #1
- < Exit [AfterEach] e2e - cleanup_test.go:70
- > Enter [AfterEach] e2e - cleanup_test.go:77
- INFO: after #2
- < Exit [AfterEach] e2e - cleanup_test.go:77
- """
- )),
+ SystemErr: Inverse(simplify, string(
+ """
+ > Enter [BeforeEach] e2e - cleanup_test.go:54
+ INFO: before
+ < Exit [BeforeEach] e2e - cleanup_test.go:54
+ > Enter [BeforeEach] e2e - set up framework | framework.go:xxx
+ STEP: Creating a kubernetes client - framework.go:xxx
+ INFO: >>> kubeConfig: yyy/kube.config
+ STEP: Building a namespace api object, basename test-namespace - framework.go:xxx
+ INFO: Skipping waiting for service account
+ < Exit [BeforeEach] e2e - set up framework | framework.go:xxx
+ > Enter [BeforeEach] e2e - cleanup_test.go:98
+ INFO: extension before
+ < Exit [BeforeEach] e2e - cleanup_test.go:98
+ > Enter [BeforeEach] e2e - cleanup_test.go:62
+ INFO: before #1
+ < Exit [BeforeEach] e2e - cleanup_test.go:62
+ > Enter [BeforeEach] e2e - cleanup_test.go:66
+ INFO: before #2
+ < Exit [BeforeEach] e2e - cleanup_test.go:66
+ > Enter [It] works - cleanup_test.go:81
+ [FAILED] failure
+ In [It] at: cleanup_test.go:90
+ < Exit [It] works - cleanup_test.go:81
+ > Enter [AfterEach] e2e - cleanup_test.go:99
+ INFO: extension after
+ < Exit [AfterEach] e2e - cleanup_test.go:99
+ > Enter [AfterEach] e2e - cleanup_test.go:70
+ INFO: after #1
+ < Exit [AfterEach] e2e - cleanup_test.go:70
+ > Enter [AfterEach] e2e - cleanup_test.go:77
+ INFO: after #2
+ < Exit [AfterEach] e2e - cleanup_test.go:77
+ ... // 27 elided lines
+ """
+ )),
```
In this example, I started with the expected string set to empty, copied as much of the actual string as possible, and then repeated. But because not all of it was shown, I am missing some lines. I was hoping to get a diff with the missing lines, but the heuristics apparently decided to just show both strings.
The simplify function does some string->string replacement to get rid of some line numbers and time stamps.
It's not entirely clear to me why this happens. I tried to reproduce it with exactly these strings and without a transformer, but then it worked as expected (showed a diff). I also tried with a transformer, with the same result.
This issue has not been assessed yet.