Our CI server recorded a failure in the TextDiff unit test. Looking over the test, it seems that it uses a random seed, it uses the Random constructor with no arguments. As you can imagine, we have no way of reproducing the test case since we don't know the seed. But there was definitely a failure.
So just a heads up, there exists a combination of inputs for which the TextDiff unit test fails. Any JUCE unit test that uses a Random seed should log the seed used in its output so the test can be reproduced later. Unit tests which use random seeds are practically useless since an intermittent failure cannot be reproduced easily.
In my opinion we should do the following:
1) Change "setSeedRandomly" to "generateRandomSeed" as a static member function so the caller can intercept the generated seed
2) Modify all the unit tests to call generateRandomSeed manually, log the seed, and then construct the Random object with the seed
3) Change the no-argument constructor of Random to use generateRandomSeed instead of setSeedRandomly.
At a minimum, these classes should log the seeds used in the corresponding unit tests:
AbstractFifo
JSON
Random
Uuid
MemoryInputStream
String
TextDiff