"morph print-architecture" tests ================================ This is short and simple. Morph can print the name for the current architecture, and we verify not that it is correct, but that exactly one line is printed to the standard output. The reason we're not checking it's correct is because that would require the test code to duplicate the architecture name list that is in the code already, and that wouldn't help with tests. However, verifying there's exactly one line in stdout (and nothing in stderr) means the plugin does at least something sensible. Oh, and the one line should contain no spaces, either. SCENARIO morph print-architecture prints out a single word WHEN morph print-architecture is run THEN stdout contains a single line AND stdout contains no spaces AND stderr is empty IMPLEMENTS WHEN morph print-architecture is run set +x run_morph print-architecture > "$DATADIR/stdout" 2> "$DATADIR/stderr" IMPLEMENTS THEN stdout contains a single line n=$(wc -l < "$DATADIR/stdout") if [ "$n" != 1 ] then die "stdout contains $n lines, not 1" fi IMPLEMENTS THEN stdout contains no spaces n=$(tr < "$DATADIR/stdout" -cd ' ' | wc -c) if [ "$n" != 0 ] then die "stdout contains spaces" fi IMPLEMENTS THEN stderr is empty if [ -s "$DATADIR/stderr" ] then die "stderr is not empty" fi