about summary refs log tree commit diff
path: root/test/pbm-misc-converters.test
blob: ba350bc7d66e5b94b953464cc8f7c20ce96f77da (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
#! /bin/sh
# This script tests: pbmto10x pbmto4425 pbmtoascii pbmtobbnbg
# This script tests: pbmtodjvurle pbmtoepson pbmtogo pbmtoibm23xx
# This script tests: pbmtolj pbmtoln03 pbmtomatrixorbital pbmtonokia
# This script tests: pbmtoplot pbmtoppa pbmtoptx pbmtozinc
# Also requires: pbmpage

# Note: one-way test.
# These converters do not have counterparts that work in the opposite
# direction.  We check whether the output is unchanged from older
# versions.

echo "pbmto10x"
pbmto10x               maze.pbm | cksum
pbmto10x             < maze.pbm | cksum

echo "pbmto4425"
pbmto4425              maze.pbm | cksum
pbmto4425            < maze.pbm | cksum

# Asciitopgm works in the opposite direction, but the round-trip is not accurate

echo "pbmtoascii"
pbmtoascii             maze.pbm | cksum
pbmtoascii           < maze.pbm | cksum
pbmtoascii -2x4        maze.pbm | cksum

echo "pbmtodjvurle"
pbmtodjvurle           maze.pbm | cksum
pbmtodjvurle         < maze.pbm | cksum

echo "pbmtoepson"
pbmtoepson             maze.pbm | cksum
pbmtoepson           < maze.pbm | cksum
pbmtoepson -protocol=escp   maze.pbm | cksum
pbmtoepson -protocol=escp9  maze.pbm | cksum
pbmtoepson -nonadjacent     maze.pbm | cksum

echo "pbmtogo"
pbmtogo                maze.pbm | cksum
pbmtogo              < maze.pbm | cksum

echo "pbmtoibm23xx"
pbmtoibm23xx -xres=60 -yres=60    maze.pbm | cksum
pbmtoibm23xx -xres=60 -yres=60  < maze.pbm | cksum

echo "pbmtolj"
pbmtolj                maze.pbm | cksum
pbmtolj              < maze.pbm | cksum
pbmtolj  -packbits     maze.pbm | cksum
pbmtolj  -compress     maze.pbm | cksum

echo "pbmtoln03"
pbmtoln03              maze.pbm | cksum
pbmtoln03            < maze.pbm | cksum

echo "pbmtomatrixorbital"
pbmtomatrixorbital     maze.pbm | cksum
pbmtomatrixorbital   < maze.pbm | cksum

echo "pbmtonokia"
pbmtonokia -fmt HEX_NOL   maze.pbm | cksum
pbmtonokia -fmt HEX_NOL < maze.pbm | cksum
pbmtonokia -fmt HEX_NGG   maze.pbm | cksum
pbmtonokia -fmt HEX_NPM   maze.pbm | cksum
pbmtonokia -fmt NOL       maze.pbm | cksum
pbmtonokia -fmt NGG       maze.pbm | cksum
pbmtonokia -fmt NPM       maze.pbm | cksum

echo "pbmtoplot"
pbmtoplot              maze.pbm | cksum
pbmtoplot            < maze.pbm | cksum

echo "pbmtoptx"
pbmtoptx               maze.pbm | cksum
pbmtoptx             < maze.pbm | cksum

# pbmtozinc embeds input filename in the output

echo "pbmtozinc"
pbmtozinc   maze.pbm | cksum
pbmtozinc < maze.pbm | sed 's/noname/maze/' | cksum

# pbmtobbnbg input must be from stdin

echo "pbmtobbnbg"
pbmtobbnbg < maze.pbm | cksum

# pbmtoppa has constraints on what can be accepted as input; maze.pbm is not accepted
# pbmpage produces suitable input

tmpdir=${tmpdir:-/tmp}
testpage_pbm=${tmpdir}/testpage.pbm

echo "pbmtoppa"
(pbmpage 1; pbmpage 2; pbmpage 3) | tee ${testpage_pbm} | pbmtoppa | cksum
pbmtoppa ${testpage_pbm} | cksum
rm ${testpage_pbm}