#!/usr/local/bin/zsh -f setopt kshglob extendedglob failed=0 while read res str pat; do [[ $res = '#' ]] && continue [[ $str = ${~pat} ]] ts=$? [[ $1 = -q ]] || print "$ts: [[ $str = $pat ]]" if [[ ( $ts -gt 0 && $res = t) || ($ts -eq 0 && $res = f) ]]; then print "Test failed: [[ $str = $pat ]]" (( failed++ )) fi done <