diff options
author | Hans Wennborg <hans@hanshq.net> | 2016-01-27 00:19:05 +0000 |
---|---|---|
committer | Hans Wennborg <hans@hanshq.net> | 2016-01-27 00:19:05 +0000 |
commit | 89b5a6785f6c23cc1b43a4827c46e0a4f08b923f (patch) | |
tree | 09f9affa746ff286fd0868781c17bd4f802a132e /utils/release | |
parent | 5b78a6e259bb1403ee0390e50d4beacd0edcfa8d (diff) |
test-release.sh: Ignore LC_CTYPE in sed invocation on Darwin
Here, sed is used to prepare object files for comparison via cmp. On my Darwin
15.4.0 machine, LC_CTYPE is set to UTF-8 (by default, I believe). Under these
circumstances, anything sed is made to read will be treated as UTF-8, prompting
it to signal an error if it is not, like so:
% sed s/a/b/ <(head -n1 /dev/random) >/dev/null; echo $?
sed: RE error: illegal byte sequence
1
%
To make sed work as expected, I need to set LC_CTYPE to C:
% env LC_CTYPE=C sed s/a/b/ <(head -n1 /dev/random) >/dev/null; echo $?
0
%
Without this change, sed will exit with an error for every single file that it
compares between phase 2 and phase 3, thereby making it look as if the
differences were far larger than they are.
Patch by Elias Pipping!
Differential Revision: http://reviews.llvm.org/D16548
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@258891 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/release')
-rwxr-xr-x | utils/release/test-release.sh | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/utils/release/test-release.sh b/utils/release/test-release.sh index 8d4348304da..81166d46ffd 100755 --- a/utils/release/test-release.sh +++ b/utils/release/test-release.sh @@ -541,8 +541,9 @@ for Flavor in $Flavors ; do # Substitute 'Phase2' for 'Phase3' in the Phase 2 object file in # case there are build paths in the debug info. On some systems, # sed adds a newline to the output, so pass $p3 through sed too. - if ! cmp -s <(sed -e 's,Phase2,Phase3,g' $p2) <(sed -e '' $p3) \ - 16 16 ; then + if ! cmp -s \ + <(env LC_CTYPE=C sed -e 's,Phase2,Phase3,g' $p2) \ + <(env LC_CTYPE=C sed -e '' $p3) 16 16; then echo "file `basename $p2` differs between phase 2 and phase 3" fi done |