diff --git a/llvm/test/MC/AsmParser/preserve-comments.s b/llvm/test/MC/AsmParser/preserve-comments.s --- a/llvm/test/MC/AsmParser/preserve-comments.s +++ b/llvm/test/MC/AsmParser/preserve-comments.s @@ -1,5 +1,5 @@ #RUN: llvm-mc -preserve-comments -n -triple i386-linux-gnu < %s > %t - #RUN: diff %s %t + #RUN: diff --strip-trailing-cr %s %t .text foo: #Comment here diff --git a/llvm/test/tools/llvm-cxxmap/remap.test b/llvm/test/tools/llvm-cxxmap/remap.test --- a/llvm/test/tools/llvm-cxxmap/remap.test +++ b/llvm/test/tools/llvm-cxxmap/remap.test @@ -1,5 +1,5 @@ RUN: llvm-cxxmap %S/Inputs/before.sym %S/Inputs/after.sym -r %S/Inputs/remap.map -o %t.output -Wambiguous -Wincomplete 2>&1 | FileCheck %s --allow-empty -RUN: diff %S/Inputs/expected %t.output +RUN: diff --strip-trailing-cr %S/Inputs/expected %t.output CHECK-NOT: warning CHECK-NOT: error diff --git a/llvm/test/tools/llvm-profdata/profile-symbol-list.test b/llvm/test/tools/llvm-profdata/profile-symbol-list.test --- a/llvm/test/tools/llvm-profdata/profile-symbol-list.test +++ b/llvm/test/tools/llvm-profdata/profile-symbol-list.test @@ -2,4 +2,4 @@ ; RUN: llvm-profdata merge -sample -extbinary -prof-sym-list=%S/Inputs/profile-symbol-list-2.text %S/Inputs/sample-profile.proftext -o %t.2.output ; RUN: llvm-profdata merge -sample -extbinary %t.1.output %t.2.output -o %t.3.output ; RUN: llvm-profdata show -sample -show-prof-sym-list %t.3.output > %t.4.output -; RUN: diff %S/Inputs/profile-symbol-list.expected %t.4.output +; RUN: diff --strip-trailing-cr %S/Inputs/profile-symbol-list.expected %t.4.output diff --git a/llvm/test/tools/llvm-profdata/roundtrip.test b/llvm/test/tools/llvm-profdata/roundtrip.test --- a/llvm/test/tools/llvm-profdata/roundtrip.test +++ b/llvm/test/tools/llvm-profdata/roundtrip.test @@ -1,18 +1,18 @@ RUN: llvm-profdata merge -o %t.0.profdata %S/Inputs/IR_profile.proftext RUN: llvm-profdata show -o %t.0.proftext -all-functions -text %t.0.profdata -RUN: diff %t.0.proftext %S/Inputs/IR_profile.proftext +RUN: diff --strip-trailing-cr %t.0.proftext %S/Inputs/IR_profile.proftext RUN: llvm-profdata merge -o %t.1.profdata %t.0.proftext RUN: llvm-profdata show -o %t.1.proftext -all-functions -text %t.1.profdata -RUN: diff %t.1.proftext %S/Inputs/IR_profile.proftext +RUN: diff --strip-trailing-cr %t.1.proftext %S/Inputs/IR_profile.proftext RUN: llvm-profdata merge --sample --binary -output=%t.2.profdata %S/Inputs/sample-profile.proftext RUN: llvm-profdata merge --sample --text -output=%t.2.proftext %t.2.profdata -RUN: diff %t.2.proftext %S/Inputs/sample-profile.proftext +RUN: diff --strip-trailing-cr %t.2.proftext %S/Inputs/sample-profile.proftext # Round trip from text --> extbinary --> text RUN: llvm-profdata merge --sample --extbinary -output=%t.3.profdata %S/Inputs/sample-profile.proftext RUN: llvm-profdata merge --sample --text -output=%t.3.proftext %t.3.profdata -RUN: diff %t.3.proftext %S/Inputs/sample-profile.proftext +RUN: diff --strip-trailing-cr %t.3.proftext %S/Inputs/sample-profile.proftext # Round trip from text --> binary --> extbinary --> text RUN: llvm-profdata merge --sample --binary -output=%t.4.profdata %S/Inputs/sample-profile.proftext RUN: llvm-profdata merge --sample --extbinary -output=%t.5.profdata %t.4.profdata RUN: llvm-profdata merge --sample --text -output=%t.4.proftext %t.5.profdata -RUN: diff %t.4.proftext %S/Inputs/sample-profile.proftext +RUN: diff --strip-trailing-cr %t.4.proftext %S/Inputs/sample-profile.proftext diff --git a/llvm/test/tools/llvm-profdata/sample-remap.test b/llvm/test/tools/llvm-profdata/sample-remap.test --- a/llvm/test/tools/llvm-profdata/sample-remap.test +++ b/llvm/test/tools/llvm-profdata/sample-remap.test @@ -1,2 +1,2 @@ ; RUN: llvm-profdata merge -sample -text %S/Inputs/sample-remap.proftext -r %S/Inputs/sample-remap.remap -o %t.output -; RUN: diff %S/Inputs/sample-remap.expected %t.output +; RUN: diff --strip-trailing-cr %S/Inputs/sample-remap.expected %t.output diff --git a/llvm/utils/lit/lit/builtin_commands/diff.py b/llvm/utils/lit/lit/builtin_commands/diff.py --- a/llvm/utils/lit/lit/builtin_commands/diff.py +++ b/llvm/utils/lit/lit/builtin_commands/diff.py @@ -83,7 +83,7 @@ f = lambda x: x if flags.strip_trailing_cr: - f = compose2(lambda line: line.rstrip('\r'), f) + f = compose2(lambda line: line.replace('\r\n', '\n'), f) if flags.ignore_all_space or flags.ignore_space_change: ignoreSpace = lambda line, separator: separator.join(line.split()) ignoreAllSpaceOrSpaceChange = functools.partial(ignoreSpace, separator='' if flags.ignore_all_space else ' ') diff --git a/llvm/utils/lit/tests/Inputs/shtest-shell/diff-in.dos b/llvm/utils/lit/tests/Inputs/shtest-shell/diff-in.dos new file mode 100644 --- /dev/null +++ b/llvm/utils/lit/tests/Inputs/shtest-shell/diff-in.dos @@ -0,0 +1,3 @@ +In this file, the +sequence "\r\n" +terminates lines. diff --git a/llvm/utils/lit/tests/Inputs/shtest-shell/diff-in.unix b/llvm/utils/lit/tests/Inputs/shtest-shell/diff-in.unix new file mode 100644 --- /dev/null +++ b/llvm/utils/lit/tests/Inputs/shtest-shell/diff-in.unix @@ -0,0 +1,3 @@ +In this file, the +sequence "\n" +terminates lines. diff --git a/llvm/utils/lit/tests/Inputs/shtest-shell/diff-strip-trailing-cr.txt b/llvm/utils/lit/tests/Inputs/shtest-shell/diff-strip-trailing-cr.txt new file mode 100644 --- /dev/null +++ b/llvm/utils/lit/tests/Inputs/shtest-shell/diff-strip-trailing-cr.txt @@ -0,0 +1,10 @@ +# Check behavior of --strip-trailing-cr. + +# RUN: diff -u diff-in.dos diff-in.unix && false || true +# RUN: diff -u diff-in.unix diff-in.dos && false || true + +# RUN: diff -u --strip-trailing-cr diff-in.dos diff-in.unix && false || true +# RUN: diff -u --strip-trailing-cr diff-in.unix diff-in.dos && false || true + +# Fail so lit will print output. +# RUN: false diff --git a/llvm/utils/lit/tests/max-failures.py b/llvm/utils/lit/tests/max-failures.py --- a/llvm/utils/lit/tests/max-failures.py +++ b/llvm/utils/lit/tests/max-failures.py @@ -8,7 +8,7 @@ # # END. -# CHECK: Failing Tests (31) +# CHECK: Failing Tests (32) # CHECK: Failing Tests (1) # CHECK: Failing Tests (2) # CHECK: error: argument --max-failures: requires positive integer, but found '0' diff --git a/llvm/utils/lit/tests/shtest-shell.py b/llvm/utils/lit/tests/shtest-shell.py --- a/llvm/utils/lit/tests/shtest-shell.py +++ b/llvm/utils/lit/tests/shtest-shell.py @@ -4,7 +4,7 @@ # FIXME: Temporarily dump test output so we can debug failing tests on # buildbots. # RUN: cat %t.out -# RUN: FileCheck --input-file %t.out %s +# RUN: FileCheck --dump-input=fail --color -vv --input-file %t.out %s # # END. @@ -332,6 +332,59 @@ # CHECK: PASS: shtest-shell :: diff-r.txt +# CHECK: FAIL: shtest-shell :: diff-strip-trailing-cr.txt + +# CHECK: *** TEST 'shtest-shell :: diff-strip-trailing-cr.txt' FAILED *** + +# CHECK: $ "diff" "-u" "diff-in.dos" "diff-in.unix" +# CHECK: # command output: +# CHECK: @@ +# CHECK-NEXT: -In this file, the +# CHECK-NEXT: -sequence "\r\n" +# CHECK-NEXT: -terminates lines. +# CHECK-NEXT: +In this file, the +# CHECK-NEXT: +sequence "\n" +# CHECK-NEXT: +terminates lines. +# CHECK: error: command failed with exit status: 1 +# CHECK: $ "true" + +# CHECK: $ "diff" "-u" "diff-in.unix" "diff-in.dos" +# CHECK: # command output: +# CHECK: @@ +# CHECK-NEXT: -In this file, the +# CHECK-NEXT: -sequence "\n" +# CHECK-NEXT: -terminates lines. +# CHECK-NEXT: +In this file, the +# CHECK-NEXT: +sequence "\r\n" +# CHECK-NEXT: +terminates lines. +# CHECK: error: command failed with exit status: 1 +# CHECK: $ "true" + +# CHECK: $ "diff" "-u" "--strip-trailing-cr" "diff-in.dos" "diff-in.unix" +# CHECK: # command output: +# CHECK: @@ +# CHECK-NEXT: In this file, the +# CHECK-NEXT: -sequence "\r\n" +# CHECK-NEXT: +sequence "\n" +# CHECK-NEXT: terminates lines. +# CHECK: error: command failed with exit status: 1 +# CHECK: $ "true" + +# CHECK: $ "diff" "-u" "--strip-trailing-cr" "diff-in.unix" "diff-in.dos" +# CHECK: # command output: +# CHECK: @@ +# CHECK-NEXT: In this file, the +# CHECK-NEXT: -sequence "\n" +# CHECK-NEXT: +sequence "\r\n" +# CHECK-NEXT: terminates lines. +# CHECK: error: command failed with exit status: 1 +# CHECK: $ "true" + +# CHECK: $ "false" + +# CHECK: *** + + # CHECK: FAIL: shtest-shell :: diff-unified.txt # CHECK: *** TEST 'shtest-shell :: diff-unified.txt' FAILED *** @@ -486,4 +539,4 @@ # CHECK: PASS: shtest-shell :: sequencing-0.txt # CHECK: XFAIL: shtest-shell :: sequencing-1.txt # CHECK: PASS: shtest-shell :: valid-shell.txt -# CHECK: Failing Tests (31) +# CHECK: Failing Tests (32)