#!/bin/sh # A tiny deterministic protocol, not a test framework. while IFS= read -r line; do case "$line" in 'test '*) name=${line#test } ;; *) continue ;; esac if [ "$#" -gt 0 ]; then selected=0 for test in "$@"; do [ "$test" != "$name" ] || selected=1 done [ "$selected" -eq 1 ] || continue fi printf 'start %s\npass %s\n' "$name" "$name" done < example.tests