HomePhabricator

[lit] Fix internal diff's --strip-trailing-cr and use it

Authored by jdenny on Oct 16 2019, 10:21 AM.

Description

[lit] Fix internal diff's --strip-trailing-cr and use it

Using GNU diff, --strip-trailing-cr removes a \r appearing before
a \n at the end of a line. Without this patch, lit's internal diff
only removes \r if it appears as the last character. That seems
useless. This patch fixes that.

This patch also adds --strip-trailing-cr to some tests that fail on
Windows bots when D68664 is applied. Based on what I see in the bot
logs, I think the following is happening. In each test there, lit
diff is comparing a file with \r\n line endings to a file with \n
line endings. Without D68664, lit diff reads those files in text
mode, which in Windows causes \r\n to be replaced with \n.
However, with D68664, lit diff reads the files in binary mode instead
and thus reports that every line is different, just as GNU diff does
(at least under Ubuntu). Adding --strip-trailing-cr to those tests
restores the previous behavior while permitting the behavior of lit
diff to be more like GNU diff.

Reviewed By: rnk

Differential Revision: https://reviews.llvm.org/D68839

llvm-svn: 375020

Details

Committed
jdennyOct 16 2019, 10:21 AM
Reviewer
rnk
Differential Revision
D68839: [lit] Fix internal diff's --strip-trailing-cr and use it
Parents
rGe2163f96abb5: CombinerHelper - silence dead assignment warnings. NFCI.
Branches
Unknown
Tags
Unknown