Twice running clang-format may give unstable result for some code samples, for example: https://bugs.llvm.org/show_bug.cgi?id=23728
This commit adds stability check to clang-format unit-tests.
After apply this patch 10 tests from the FormatTests will fail.
[==========] 647 tests from 19 test cases ran. (31449 ms total)
[ PASSED ] 637 tests.
[ FAILED ] 10 tests, listed below:
[ FAILED ] FormatTest.OnlyGeneratesNecessaryReplacements
[ FAILED ] FormatTest.BreaksStringLiterals
[ FAILED ] FormatTest.BreaksStringLiteralsWithTabs
[ FAILED ] FormatTest.BreaksWideAndNSStringLiterals
[ FAILED ] FormatTest.BreaksStringLiteralsWithin_TMacro
[ FAILED ] FormatTest.DoNotBreakStringLiteralsInEscapeSequence
[ FAILED ] FormatTest.OptimizeBreakPenaltyVsExcess
[ FAILED ] FormatTest.WorksFor8bitEncodings
[ FAILED ] FormatTest.SplitsUTF8Strings
[ FAILED ] FormatTest.SupportsCRLF