#! /bin/sh # Copyright (C) 2007, 2008, 2010 Free Software Foundation, Inc. # # 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, 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 . # Test Automake TESTS color output, using the expect(1) program. # Keep this in sync with the sister test `color.test'. . ./defs || Exit 1 set -e TERM=ansi export TERM red='' grn='' lgn='' blu='' std='' # Check that grep can parse nonprinting characters. # BSD 'grep' works from a pipe, but not a seekable file. # GNU or BSD 'grep -a' works on files, but is not portable. case `echo "$std" | grep .` in "$std") ;; *) echo "$me: grep can't parse nonprinting characters" >&2; Exit 77;; esac # Check that we have a working expect program. cat >expect-check <<'END' #! /usr/bin/expect -f spawn $env(THE_SYSTEM_SHELL) -c : expect eof END THE_SYSTEM_SHELL=/bin/sh expect -f expect-check || { echo "$me: failed to find a working expect program" >&2 Exit 77 } # Do the tests. cat >>configure.in <Makefile.am <<'END' AUTOMAKE_OPTIONS = color-tests TESTS = $(check_SCRIPTS) check_SCRIPTS = pass fail skip xpass xfail XFAIL_TESTS = xpass xfail END cat >pass <fail <skip <expect-make <<'END' #! /usr/bin/expect -f spawn $env(MAKE) -e check expect eof END MAKE=$MAKE expect -f expect-make >stdout \ || { cat stdout; Exit 1; } cat stdout test_color AM_COLOR_TESTS=no MAKE=$MAKE expect -f expect-make >stdout \ || { cat stdout; Exit 1; } cat stdout test_no_color