#! /bin/sh
# This script tests: pnmtofiasco fiascotopnm
# This script tests: pnmtojbig jbigtopnm
# This script tests: pnmtojpeg jpegtopnm
# This script tests: pnmtopalm palmtopnm
# This script tests: pnmtopng pngtopam
# This script tests: pnmtops pstopnm
# This script tests: pnmtorast rasttopnm
# This script tests: pnmtorle rletopnm
# This script tests: pnmtosgi sgitopnm
# This script tests: pnmtosir sirtopnm
# This script tests: pnmtoxwd xwdtopnm
# This script tests: pnmtotiffcmyk tifftopnm
# Also requires: pgmramp

tmpdir=${tmpdir:-/tmp}
test_pgm=${tmpdir}/test.pgm
out1=${tmpdir}/out1
out2=${tmpdir}/out2
out3=${tmpdir}/out3
out4=${tmpdir}/out4

pgmramp -diag 32 32 > ${test_pgm}

echo "Test.  Should print (command): 0 0 0"
echo "The following are exceptions: should print (command): 0 0 0 1"
echo "pnmtops, pstopnm, pnmtoxwd, pnmtotiffcmyk"
echo

export NO_ADD_RLE_HISTORY=1
# Suppress command-line sequence, execution time in pnmtorle header

for fmt in  \
        fiasco \
        jbig \
        jpeg \
        palm \
        png \
        ps \
        rast \
        rle \
        sgi \
        sir \
        xwd \
	tiffcmyk
  do

  if [ ${fmt} = "fiasco" ]
    then testprog1="pnmto"${fmt}" --progress-meter 0 ";
  else
      testprog1="pnmto"${fmt};
  fi

  if [ ${fmt} = "png" ]
    then testprog2="pngtopam";
  elif [ ${fmt} = "ps" ]
    then testprog2="pstopnm -stdout ";
  elif [ ${fmt} = "tiffcmyk" ]
    then testprog2="tifftopnm";
  else
    testprog2=${fmt}"topnm";
  fi

  ${testprog1} ${test_pgm} > ${out1};   status1=$?
  ${testprog1} < ${test_pgm} > ${out2}; status2=$?
  test -s ${out1};                      status3=$?
  cmp -s ${out1} ${out2}
  echo ${testprog1}": "${status1} ${status2} ${status3} $?
  rm ${out2}

  ${testprog2} ${out1} > ${out3};       status4=$?
  ${testprog2} < ${out1} > ${out4};     status5=$?
  test -s ${out3};                      status6=$?
  cmp -s ${out3} ${out4}
  echo ${testprog2}": "${status4} ${status5} ${status6} $?
  rm ${out1} ${out3} ${out4}

  done

rm ${test_pgm}


# pnmtofiasco  width, height must be even and at least 32
#              use --progressmeter option to suppress progress meter
#
# pnmtojbig    input must be bilevel black-white or gray
# pnmtops      input file name embedded in output
# pnmtotiffcmyk  input file name embedded in output
#                "Standard input" if from stdin
# pnmtoxwd     input file name embedded in output
#              "stdin" if from stdin
