1# $OpenBSD: subr.sh,v 1.9 2021/07/10 07:10:31 anton Exp $ 2# 3# Copyright (c) 2016 Ingo Schwarze <schwarze@openbsd.org> 4# Copyright (c) 2017 Anton Lindqvist <anton@openbsd.org> 5# 6# Permission to use, copy, modify, and distribute this software for any 7# purpose with or without fee is hereby granted, provided that the above 8# copyright notice and this permission notice appear in all copies. 9# 10# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES 11# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF 12# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR 13# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 14# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN 15# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF 16# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 17 18testseq() { 19 stdin=$1 20 exp=$(echo "$2") 21 act=$(echo -n "$stdin" | ./edit -p "$PS1" -- ${KSH:-/bin/ksh} -r 2>&1) 22 [ $? = 0 ] && [ "$exp" = "$act" ] && return 0 23 24 dump input "$stdin" 25 dump expected "$exp" 26 dump actual "$act" 27 28 exit 1 29} 30 31dump() { 32 printf '%s:\n>>>%s<<<\n' "$1" "$(echo -n "$2" | vis -ol)" 33 echo -n "$2" | hexdump -Cv 34} 35