#!/bin/sh # Copyright (C) 2012, James McCoy # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . set -u if test "${1:-}" = --installed; then COMMAND=annotate-output shift else COMMAND="../scripts/annotate-output.sh" fi WORKDIR="$(readlink -f "${0%/*}")" testExitCode() { $COMMAND +%% sh -c 'exit 42'>/dev/null 2>&1 assertEquals 'unexpected exit code' "42" "$?" } testStdErr() { expected='% E: stderr' actual="$($COMMAND +%% sh -c 'echo stderr >&2' | grep E:)" assertEquals 'captured stderr' "${expected}" "${actual}" } testSwallowedNewline() { expected="% O: foo% I: Finished with exitcode 0" actual="$($COMMAND +%% echo -n foo | grep O:)" assertEquals 'incomplete line found' "${expected}" "${actual}" } testBackslashes() { expected='% O: \f\o\o' actual="$($COMMAND +%% printf '%s\n' '\f\o\o' | grep O:)" assertEquals 'backslashes echoed' "${expected}" "${actual}" } testLeadingWhitespace() { expected='% O: foo' actual="$($COMMAND +%% printf '%s\n' ' foo' | grep O:)" assertEquals 'leading whitespace preserved' "${expected}" "${actual}" } . shunit2