#!/bin/sh # # Copyright (C) 2020 Free Software Foundation, Inc. # # This file is part of groff. # # groff 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 3 of the License, or (at your # option) any later version. # # groff 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 . # # Ensure a predictable character encoding. export LC_ALL=C export LESSCHARSET= export GROFF_TYPESETTER= set -e export GROFF_TEST_GROFF=${abs_top_builddir:-.}/test-groff # The $PATH used by an installed nroff at runtime does not match what # we're trying to test, which should be using the groff and runtime # support from the build tree. Therefore the $PATH that nroff -V # reports will _always_ be wrong for test purposes. Skip over it. # # If the build environment has a directory in the $PATH matching # "test-groff " (with the trailing space), failure may result if sed # doesn't match greedily. POSIX says it should. sedexpr='s/^PATH=.*test-groff /test-groff /' PATH=${abs_top_builddir:-.}:$PATH nroff_ver=$(nroff -v | awk 'NR == 1 {print $NF}') groff_ver=$(nroff -v | awk 'NR == 2 {print $NF}') echo nroff: $nroff_ver >&2 echo groff: $groff_ver >&2 test "$nroff_ver" = "$groff_ver" echo "testing 'nroff -V'" >&2 nroff -V | sed "$sedexpr" | grep -x "test-groff -Tascii -mtty-char" echo "testing 'nroff -V 1'" >&2 nroff -V 1 | sed "$sedexpr" | grep -x "test-groff -Tascii -mtty-char 1" echo "testing 'nroff -V \"1a 1b\"'" >&2 nroff -V \"1a 1b\" | sed "$sedexpr" \ | grep -x "test-groff -Tascii -mtty-char \"1a 1b\"" echo "testing 'nroff -V \"1a 1b\" 2'" >&2 nroff -V \"1a 1b\" 2 | sed "$sedexpr" \ | grep -x "test-groff -Tascii -mtty-char \"1a 1b\" 2" echo "testing 'nroff -V 1a\\\"1b 2'" >&2 nroff -V 1a\"1b 2 | sed "$sedexpr" \ | grep -x "test-groff -Tascii -mtty-char 1a\"1b 2" echo "testing 'nroff -V -d FOO=BAR 1'" >&2 nroff -V -d FOO=BAR 1 | sed "$sedexpr" \ | grep -x "test-groff -Tascii -mtty-char -d FOO=BAR 1"