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

This reverts commit 8d35bcc521.

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.
This commit is contained in:
Aiden Grossman
2025-09-10 10:04:02 -07:00
committed by GitHub
parent c511e1a0f8
commit f1cdb447a8
2 changed files with 23 additions and 32 deletions

View File

@@ -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: +...

View File

@@ -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 differs due to line-endings and different 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 different 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: +