xref: /aosp_15_r20/external/bazelbuild-rules_license/tools/diff_test.sh (revision f578df4fd057ffe2023728444759535685631548)
1*f578df4fSJingwen Chen#!/bin/bash
2*f578df4fSJingwen Chen# Copyright 2020 Google LLC
3*f578df4fSJingwen Chen#
4*f578df4fSJingwen Chen# Licensed under the Apache License, Version 2.0 (the "License");
5*f578df4fSJingwen Chen# you may not use this file except in compliance with the License.
6*f578df4fSJingwen Chen# You may obtain a copy of the License at
7*f578df4fSJingwen Chen#
8*f578df4fSJingwen Chen# https://www.apache.org/licenses/LICENSE-2.0
9*f578df4fSJingwen Chen#
10*f578df4fSJingwen Chen# Unless required by applicable law or agreed to in writing, software
11*f578df4fSJingwen Chen# distributed under the License is distributed on an "AS IS" BASIS,
12*f578df4fSJingwen Chen# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13*f578df4fSJingwen Chen# See the License for the specific language governing permissions and
14*f578df4fSJingwen Chen# limitations under the License.
15*f578df4fSJingwen Chen
16*f578df4fSJingwen Chen# Diff two files and PASS if they are equal, FAIL otherwise.
17*f578df4fSJingwen Chen# Usage:
18*f578df4fSJingwen Chen#   diff_test.sh path_to_expected path_to_got
19*f578df4fSJingwen Chen
20*f578df4fSJingwen Chen# Find input files
21*f578df4fSJingwen Chendeclare -r EXPECTED="$1"
22*f578df4fSJingwen Chendeclare -r GOT="$2"
23*f578df4fSJingwen Chen
24*f578df4fSJingwen Chendiff_out=$(mktemp /tmp/diff_test.XXXXXXXXX)
25*f578df4fSJingwen Chendiff -cB "$EXPECTED" "$GOT" >"$diff_out"
26*f578df4fSJingwen Chenerr=0
27*f578df4fSJingwen Chenif [[ -s "$diff_out" ]] ; then
28*f578df4fSJingwen Chen  cat "$diff_out"
29*f578df4fSJingwen Chen  err=1
30*f578df4fSJingwen Chen  echo 'To update:'
31*f578df4fSJingwen Chen  echo '  cp bazel-bin/'"$GOT" "$EXPECTED"
32*f578df4fSJingwen Chen  echo FAIL
33*f578df4fSJingwen Chenelse
34*f578df4fSJingwen Chen  echo PASS
35*f578df4fSJingwen Chenfi
36*f578df4fSJingwen Chenexit $err
37