#! /bin/sh # -*- Mode: Shell-script -*- # ---------------------------------------------------------------------- # stack.test --- test stack and join functionality # ## Time-stamp: "2007-07-04 11:51:55 bkorb" # Author: Bruce Korb ## ## This file is part of AutoGen. ## AutoGen copyright (c) 1992-2007 by Bruce Korb - all rights reserved ## ## AutoGen 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. ## ## AutoGen 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 . ## # $Id: stack.test,v 4.8 2007/07/04 20:51:14 bkorb Exp $ # ---------------------------------------------------------------------- . ./defs # # # # # # # # # # TEMPLATE FILE # # # # # # # # # echo creating ${testname}.tpl cat > ${testname}.tpl <<_EOF_ [= AutoGen5 template test =] [= (join ", " (stack "foo.bar.baz")) =] [= (join ",\n" "one" "two" "three" "four" ) =] [= (join ", " "foo" (stack "foo.bar.baz") "bar" "baz") =] [= (string-substitute (join "\n" (stack "foo.bar.baz")) '("umb" "le") '("_UMB_" "<=") ) =] _EOF_ # # # # # # # # # # DEFINITIONS FILE # # # # # # # # # echo creating ${testname}.def cat > ${testname}.def <<_EOF_ AutoGen definitions ${testname}; foo = { bar = { baz = fumble; }; }; foo = { bar = { baz = mumble; }; }; foo = { bar = { baz = grumble; }; }; _EOF_ # # # # # # # # # # EXPECTED OUTPUT FILE # # # # # # # set -x echo creating ${testname}.out # this is the output we should expect to see cat > ${testname}.out <<'_EOF_' fumble, mumble, grumble one, two, three, four foo, fumble, mumble, grumble, bar, baz f_UMB_<= m_UMB_<= gr_UMB_<= _EOF_ ${AGexe} ${testname}.def || failure ${AGexe} failed cmp -s ${testname}.test ${testname}.out || \ failure "`diff ${testname}.*t`" cleanup ## Local Variables: ## Mode: shell-script ## indent-tabs-mode: nil ## sh-indentation: 2 ## End: # end of stack.test