1#!/bin/sh
2#
3#	aegis - project change supervisor
4#	Copyright (C) 1999, 2004, 2006-2008 Peter Miller
5#
6#	This program is free software; you can redistribute it and/or modify
7#	it under the terms of the GNU General Public License as published by
8#	the Free Software Foundation; either version 3 of the License, or
9#	(at your option) any later version.
10#
11#	This program is distributed in the hope that it will be useful,
12#	but WITHOUT ANY WARRANTY; without even the implied warranty of
13#	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14#	GNU General Public License for more details.
15#
16#	You should have received a copy of the GNU General Public License
17#	along with this program. If not, see
18#	<http://www.gnu.org/licenses/>.
19#
20
21unset AEGIS_PROJECT
22unset AEGIS_CHANGE
23unset AEGIS_PATH
24unset AEGIS
25umask 022
26
27LINES=24
28export LINES
29COLS=80
30export COLS
31
32USER=${USER:-${LOGNAME:-`whoami`}}
33
34work=${AEGIS_TMP:-/tmp}/$$
35PAGER=cat
36export PAGER
37AEGIS_FLAGS="delete_file_preference = no_keep; \
38	lock_wait_preference = always; \
39	diff_preference = automatic_merge; \
40	pager_preference = never; \
41	persevere_preference = all; \
42	log_file_preference = never;"
43export AEGIS_FLAGS
44AEGIS_THROTTLE=-1
45export AEGIS_THROTTLE
46
47here=`pwd`
48if test $? -ne 0 ; then exit 2; fi
49
50bin=$here/${1-.}/bin
51
52pass()
53{
54	set +x
55	echo PASSED 1>&2
56	cd $here
57	find $work -type d -user $USER -exec chmod u+w {} \;
58	rm -rf $work
59	exit 0
60}
61fail()
62{
63	set +x
64	echo 'FAILED test of the zlib decode functionality' 1>&2
65	cd $here
66	find $work -type d -user $USER -exec chmod u+w {} \;
67	rm -rf $work
68	exit 1
69}
70no_result()
71{
72	set +x
73	echo 'NO RESULT when testing the zlib decode functionality' 1>&2
74	cd $here
75	find $work -type d -user $USER -exec chmod u+w {} \;
76	rm -rf $work
77	exit 2
78}
79trap \"no_result\" 1 2 3 15
80
81mkdir $work $work/lib
82if test $? -ne 0 ; then no_result; fi
83chmod 777 $work/lib
84if test $? -ne 0 ; then no_result; fi
85cd $work
86if test $? -ne 0 ; then no_result; fi
87
88#
89# use the built-in error messages
90#
91AEGIS_MESSAGE_LIBRARY=$work/no-such-dir
92export AEGIS_MESSAGE_LIBRARY
93unset LANG
94unset LANGUAGE
95
96#
97# test the zlib decode functionality
98#
99cat > test.in.uue << 'fubar'
100
101begin 644 test.in
102M'XL("#:5TC8"`W@`39%1;L0@#$3_<XI<)4<AP=UXFX($;*7<OAZ/4?J1F0<V
103MC@U;:N>GKUMJM:S;GO:TVG=\0[\&M&2+A$N>I.4U\4?*6(([-KM0,PWQAR*#
104M=E(E+_38C>(]?`@UTV:]\=0;TA8WKG!NVWV475QN*L)['=2.G#I\U>17[?CR
105M8/ZWW1]F2W/A-_,LO.)M17*UUM;P3M"2+M#G&&'^#P#K!/7`BI$(<POU,8\=
106M-+A<-!7W[N\G+8L02AHG>I'6DE\8('XU$87%8X/(GN"-;O.BQIW*@3^?M5&;
107M)SIX<:<9XR6=;%RS4/'(9MSC$VE^>_OZ2HIQ])+BV9<.9:81'N\M?FTPZWOY
108)`V/MU^VW`@``
109`
110end
111fubar
112if test $? -ne 0 ; then no_result; fi
113
114cat > test.ok << 'fubar'
115Aarhus Aaron Ababa aback abaft abandon abandoned abandoning abandonment
116abandons abase abased abasement abasements abases abash abashed
117abashes abashing abasing abate abated abatement abatements abater
118abates abating Abba abbe abbey abbeys abbot abbots Abbott abbreviate
119abbreviated abbreviates abbreviating abbreviation abbreviations Abby
120abdomen abdomens abdominal abduct abducted abduction abductions abductor
121abductors abducts Abe abed Abel Abelian Abelson Aberdeen Abernathy
122aberrant aberration aberrations abet abets abetted abetter abetting
123abeyance abhor abhorred abhorrent abhorrer abhorring abhors abide abided
124abides abiding Abidjan Abigail Abilene abilities ability abject abjection
125fubar
126if test $? -ne 0 ; then no_result; fi
127
128$bin/test_base64 -uu -i test.in.uue test.in
129if test $? -ne 0 ; then no_result; fi
130
131$bin/test_zlib --input test.in test.out
132if test $? -ne 0 ; then fail; fi
133
134diff test.ok test.out
135if test $? -ne 0 ; then fail; fi
136
137#
138# Only definite negatives are possible.
139# The functionality exercised by this test appears to work,
140# no other guarantees are made.
141#
142pass
143