about summary refs log tree commit diff
path: root/test/legacy-names.test
blob: 46bc9ee486fb78ab361415422992767caa613ff6 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
#! /bin/bash
# Tests whether the executable files listed below are in place.

# We test with the methods used in all-in-place.test.
# The sole exception is hpcdtoppm.  We just confirm that it exists.

# Failure message
## If all-in-place.test succeeds and this test fails, a likely cause is a
## problem with symbolic links.
##
## Important: This test checks obsoleted names.
## Programs here do not appear in other tests.
##
## Programs here are wrapper scripts provided for backward compatibility.
## The newer replacement program may be the cause of any failure reported.
##
## If you run the "make test-install" on an older version, some executables
## may be reported as missing because of missing features.


# Skip this test if CHECK_TYPE = tree

if [ ${CHECK_TYPE} = tree ]
  then echo "Skipping." 1>&2
  exit 80;
fi


function testExitStatus () {

# This function takes 3 positional parameters:
#   $1: filename
#   $2: expected exit status   (In some cases we expect error.)
#   $3: actual exit status

    case $3 in
      126) if [ ! -x $1 ]
             then echo $1": NOT EXECUTABLE";
             else echo $1": ERROR: "$3;    echo $1": error: "$3 1>&2 ;
           fi ;;
      127) type -p $1 > /dev/null
           if [ $? -ne 0 ]
             then echo $1": NO SUCH FILE";
             else echo $1": ERROR: "$3;    echo $1": error: "$3 1>&2 ;
           fi ;;
      88)  echo $1": NO SUCH FILE" ;;
      $2)  echo $1": ok" ;;
      *)   echo $1": ERROR: "$3;    echo $1": error: "$3 1>&2 ;;
    esac

}


# Test programs which have the --version flag.
# See showVersion() in lib/libpm.c for the standard version announcement.

ordinary_testprogs="\
  bmptoppm \
  gemtopbm \
  icontopbm \
  pamfixtrunc \
  pamrgbatopng \
  pbmtoicon \
  pbmtox10bm \
  pgmcrater \
  pgmedge \
  pgmnorm \
  pgmoil \
  pgmslice \
  pngtopnm \
  pnmarith \
  pnmcomp \
  pnmcut \
  pnmdepth \
  pnmenlarge \
  pnmfile \
  pnmflip \
  pnminterp \
  pnmnoraw \
  pnmscale \
  pnmsplit \
  pnmtofits \
  pnmtoplainpnm \
  pnmtopnm \
  pnmtotiff \
  ppmnorm \
  ppmquant \
  ppmquantall \
  ppmtogif \
  ppmtojpeg \
  ppmtomap \
  ppmtompeg \
  ppmtotga \
  ppmtouil \
"


for i in $ordinary_testprogs
  do
    # Stub out programs that aren't built.
    Available-Testprog "$i"
      if [ $? = 1 ]; then
      echo "$i: program was not built" 1>&2
      echo "$i: ok"
      continue
      fi

    $i --version  2>&1 | \
    egrep -v \
    "(Using libnetpbm|Compiled|(BSD|SYSV|MSDOS|AMIGA) defined|RGB_?ENV=)" \
      1>&2;
    testExitStatus $i 0 ${PIPESTATUS[0]}
  done



# Test hpcdtoppm and pcdovtoppm.  Simply confirm their existence.

type -p hpcdtoppm > /dev/null
testExitStatus hpcdtoppm 0 $?

type -p pcdovtoppm > /dev/null
testExitStatus pcdovtoppm 0 $?