blob: 53db5607fba5263cefea5a0443be50d77cda5f6c [file] [log] [blame]
Patrick Williams5d074372022-12-04 15:33:08 -06001#!/bin/bash
Brandon Kimdab96f12021-02-18 11:21:37 -08002# Copyright 2021 Google LLC
3#
4# Licensed under the Apache License, Version 2.0 (the "License");
5# you may not use this file except in compliance with the License.
6# You may obtain a copy of the License at
7#
8# http://www.apache.org/licenses/LICENSE-2.0
9#
10# Unless required by applicable law or agreed to in writing, software
11# distributed under the License is distributed on an "AS IS" BASIS,
12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13# See the License for the specific language governing permissions and
14# limitations under the License.
15
William A. Kennington III7d6fa422021-02-08 17:04:02 -080016# Compares two strings and prints out an error message if they are not equal
17StrEq() {
18 if [ "$1" != "$2" ]; then
19 echo "${BASH_SOURCE[1]}:${BASH_LINENO[0]} Mismatched strings" >&2
20 echo " Expected: $2" >&2
21 echo " Got: $1" >&2
22 exit 1
23 fi
24}
25
26TESTS=()
27
28# Runs tests and emits output specified by the Test Anything Protocol
29# https://testanything.org/
30TestAnythingMain() {
31 set -o nounset
32 set -o errexit
33 set -o pipefail
34
35 echo "TAP version 13"
36 echo "1..${#TESTS[@]}"
37
38 local i
39 for ((i=0; i <${#TESTS[@]}; ++i)); do
40 local t="${TESTS[i]}"
41 local tap_i=$((i + 1))
42 if ! "$t"; then
43 printf "not "
44 fi
45 printf "ok %d - %s\n" "$tap_i" "$t"
46 done
47}