[clang] f1cdb44 - Reapply "[APINotes] Prefer diff -u over diff -b" (#157894)

via cfe-commits cfe-commits at lists.llvm.org
Wed Sep 10 10:04:06 PDT 2025


Author: Aiden Grossman
Date: 2025-09-10T10:04:02-07:00
New Revision: f1cdb447a8031027222c06646e2da292abd512f9

URL: https://github.com/llvm/llvm-project/commit/f1cdb447a8031027222c06646e2da292abd512f9
DIFF: https://github.com/llvm/llvm-project/commit/f1cdb447a8031027222c06646e2da292abd512f9.diff

LOG: Reapply "[APINotes] Prefer diff -u over diff -b" (#157894)

This reverts commit 8d35bcc52117b79517f518de952b4b50463de160.

This was causing failures on MacOS due to the head command there not
supporting negative offsets. This patch fixes that by removing the call
to HEAD and relaxing the requirements around removing the last line of
the file.

Added: 
    

Modified: 
    clang/test/APINotes/yaml-roundtrip-2.test
    clang/test/APINotes/yaml-roundtrip.test

Removed: 
    


################################################################################
diff  --git a/clang/test/APINotes/yaml-roundtrip-2.test b/clang/test/APINotes/yaml-roundtrip-2.test
index 63717bda7c099..26c5a73ad1083 100644
--- a/clang/test/APINotes/yaml-roundtrip-2.test
+++ b/clang/test/APINotes/yaml-roundtrip-2.test
@@ -1,11 +1,9 @@
 RUN: apinotes-test %S/Inputs/Frameworks/SimpleKit.framework/Headers/SimpleKit.apinotes > %t.result
-RUN: not 
diff  -b -e %t.result %S/Inputs/Frameworks/SimpleKit.framework/Headers/SimpleKit.apinotes | FileCheck %s
-
-The `-e` option of `
diff ` is not implemented in the builtin 
diff , assume
-that we have a POSIX compatible 
diff  when we have a shell.
-REQUIRES: shell
+RUN: not 
diff  -u %S/Inputs/Frameworks/SimpleKit.framework/Headers/SimpleKit.apinotes %t.result | \
+RUN:   tail -n +4 | \
+RUN:   FileCheck %s --implicit-check-not="{{^\+}}" --implicit-check-not="{{^\-}}"
 
 We expect only the document markers to be emitted
 
-CHECK: 52d
-CHECK: 1d
+CHECK: +---
+CHECK: +...

diff  --git a/clang/test/APINotes/yaml-roundtrip.test b/clang/test/APINotes/yaml-roundtrip.test
index f69038ca828b1..355596ef8e93b 100644
--- a/clang/test/APINotes/yaml-roundtrip.test
+++ b/clang/test/APINotes/yaml-roundtrip.test
@@ -1,30 +1,23 @@
 RUN: apinotes-test %S/Inputs/Frameworks/Simple.framework/Headers/Simple.apinotes > %t.result
-RUN: not 
diff  -b %S/Inputs/Frameworks/Simple.framework/Headers/Simple.apinotes %t.result | FileCheck %s
-
-Avoid Windows as the 
diff  output 
diff ers due to line-endings and 
diff erent 
diff 
-implementations.
-UNSUPPORTED: system-windows
+RUN: not 
diff  -u %S/Inputs/Frameworks/Simple.framework/Headers/Simple.apinotes %t.result | \
+RUN:   tail -n +5 | \
+RUN:   FileCheck %s --implicit-check-not="{{^\+}}" --implicit-check-not="{{^\-}}"
 
 We expect only the nullability to be 
diff erent as it is canonicalized during the
 roudtrip.
 
-CHECK:      7c8
-CHECK-NEXT: <         Nullability:     N
-CHECK-NEXT: ---
-CHECK-NEXT: >         Nullability:     Nonnull
-CHECK-NEXT: 13c14
-CHECK-NEXT: <         Nullability:     O
-CHECK-NEXT: ---
-CHECK-NEXT: >         Nullability:     Optional
-CHECK-NEXT: 19c20
-CHECK-NEXT: <         Nullability:     U
-CHECK-NEXT: ---
-CHECK-NEXT: >         Nullability:     Unspecified
-CHECK-NEXT: 25c26
-CHECK-NEXT: <         Nullability:     S
-CHECK-NEXT: ---
-CHECK-NEXT: >         Nullability:     Unspecified
-CHECK-NEXT: 28c29
-CHECK-NEXT: <         Nullability:     Scalar
-CHECK-NEXT: ---
-CHECK-NEXT: >         Nullability:     Unspecified
+CHECK:      -        Nullability:     N
+CHECK-NEXT: +        Nullability:     Nonnull
+CHECK:      -        Nullability:     O
+CHECK-NEXT: +        Nullability:     Optional
+CHECK:      -        Nullability:     U
+CHECK-NEXT: +        Nullability:     Unspecified
+CHECK:      -        Nullability:     S
+CHECK-NEXT: +        Nullability:     Unspecified
+CHECK:      -        Nullability:     Scalar
+CHECK-NEXT: +        Nullability:     Unspecified
+
+# The roundtrip will add document markers. It is hard to remove the last line of the
+# file in a cross-platform manner, so just assert it here to avoid a test failure due
+# to the implicit check not.
+# CHECK: +


        


More information about the cfe-commits mailing list