[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