diff --git a/local/scripts/check-pipe2-init-invariant.sh b/local/scripts/check-pipe2-init-invariant.sh new file mode 100755 index 0000000000..b18c7f4ac1 --- /dev/null +++ b/local/scripts/check-pipe2-init-invariant.sh @@ -0,0 +1,70 @@ +#!/usr/bin/env bash +set -euo pipefail + +script_dir="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" +project_root="$(git -C "$script_dir" rev-parse --show-toplevel)" +file_path="$project_root/local/sources/base/init/src/service.rs" + +if [[ -t 1 ]]; then + c_reset=$'\033[0m' + c_red=$'\033[31m' + c_green=$'\033[32m' + c_yellow=$'\033[33m' +else + c_reset='' + c_red='' + c_green='' + c_yellow='' +fi + +ok() { printf '%sOK%s: %s\n' "$c_green" "$c_reset" "$*"; } +warn() { printf '%sWARN%s: %s\n' "$c_yellow" "$c_reset" "$*"; } +fail() { printf '%sFAIL%s: %s\n' "$c_red" "$c_reset" "$*" >&2; } + +usage() { + cat < 0 || expect_count > 0 )); then + fail "strict mode failed: unwrap()/expect() found under init/" + exit 1 + fi +fi + +ok "no panic-on-pipe in init/service.rs"