1*13de33a5SJulio Merino 2*13de33a5SJulio Merinofailures=0 3*13de33a5SJulio Merino 4*13de33a5SJulio Merinocheck() { 5*13de33a5SJulio Merino if ! eval "[ $* ]"; then 6*13de33a5SJulio Merino echo "Failed: $*" 7*13de33a5SJulio Merino : $((failures += 1)) 8*13de33a5SJulio Merino fi 9*13de33a5SJulio Merino} 10*13de33a5SJulio Merino 11*13de33a5SJulio Merinos='ast*que?non' sq=\' dq=\" 12*13de33a5SJulio Merino 13*13de33a5SJulio Merinocheck '"$(cat <<EOF 14*13de33a5SJulio Merino${s} 15*13de33a5SJulio MerinoEOF 16*13de33a5SJulio Merino)" = "ast*que?non"' 17*13de33a5SJulio Merino 18*13de33a5SJulio Merinocheck '"$(cat <<EOF 19*13de33a5SJulio Merino${s+'$sq'x'$sq'} 20*13de33a5SJulio MerinoEOF 21*13de33a5SJulio Merino)" = ${sq}x${sq}' 22*13de33a5SJulio Merino 23*13de33a5SJulio Merinocheck '"$(cat <<EOF 24*13de33a5SJulio Merino${s#ast} 25*13de33a5SJulio MerinoEOF 26*13de33a5SJulio Merino)" = "*que?non"' 27*13de33a5SJulio Merino 28*13de33a5SJulio Merinocheck '"$(cat <<EOF 29*13de33a5SJulio Merino${s##"ast"} 30*13de33a5SJulio MerinoEOF 31*13de33a5SJulio Merino)" = "*que?non"' 32*13de33a5SJulio Merino 33*13de33a5SJulio Merinocheck '"$(cat <<EOF 34*13de33a5SJulio Merino${s##'$sq'ast'$sq'} 35*13de33a5SJulio MerinoEOF 36*13de33a5SJulio Merino)" = "*que?non"' 37*13de33a5SJulio Merino 38*13de33a5SJulio Merinoexit $((failures != 0)) 39