#!/bin/sh

runtest() {
  if $1 >out && diff -q $2 out >/dev/null
  then echo "passed: " $1
  else echo "FAILED: ($2) " $1
  fi
}

runtest "../cpphs --nomacro testfile" expect1
runtest "../cpphs --nomacro -Dnoelif testfile" expect2
runtest "../cpphs --nomacro -Delif testfile" expect3
runtest "../cpphs --nomacro -Dinclude testfile" expect4
runtest "../cpphs --noline -Dinclude testfile" expect5
runtest "../cpphs cpp" expect6
runtest "../cpphs -D__GLASGOW_HASKELL__ --layout Storable.hs " expect7
runtest "../cpphs -DCALLCONV=ccall --hashes --layout HsOpenGLExt.h" expect8
runtest "../cpphs --layout multiline" expect9
runtest "../cpphs --nomacro multiline" expect10
runtest "../cpphs --hashes stringise" expect11
runtest "../cpphs recursive" expect12
runtest "../cpphs --strip ross" expect13
runtest "../cpphs precedence" expect14
runtest "../cpphs indirect" expect15
runtest "../cpphs numbers" expect16
runtest "../cpphs pragma" expect17
runtest "../cpphs --noline pragma" expect18
runtest "../cpphs -D__NHC__=117 parens" expect19
runtest "../cpphs -Dc -Dd -De -Df -Dg -Dh chains" expect20
runtest "../cpphs --hashes specials" expect21
runtest "../cpphs --hashes specialinclude" expect22
runtest "../cpphs incomplete" expect23
