41
41
# need: rm, tr, cmp (or diff, see above), cat, wc, and sh.
42
42
# You should also have a UNIX-compatible date program.
44
# 3. You will need a \tmp directory on the same drive as the test directory
45
# for the poundba (called poundbang in the UNIX makefile) test.
47
44
# The makefile has only been tested with dmake 3.8 and DJGPP Make 3.74 or
48
45
# later. After making all of these changes, typing "dmake bigtest extra"
49
46
# or "make bigtest extra" (with DJGPP Make) should run successfully.
51
# So far, most of the testing has been with Stewartson's sh 2.3 under
52
# MS-DOS & OS/2. That version of sh will sometimes send long
53
# command-line arguments to programs using the @ notation. You may need
54
# to disable this feature of sh for programs that you have which don't support
55
# that feature. The DJGPP response file facility is incompatible with the
56
# one used by Stewartson's sh, so you will certainly need to disable it if you
57
# use DJGPP tools to run the tests. For more information about the @ notation
58
# please refer to the sh documentation.
60
# A beta of the Bash shell (compiled with djgpp) was tested for gawk-3.0.1,
61
# and worked very well with the djgpp-compiled gawk. See README.pc for
48
# The Bash shell (compiled with djgpp) works very well with the
49
# MSC & djgpp-compiled gawks. It is currently the recommended shell to use
50
# for testing, along with DJGPP make. See README.pc for
62
51
# more information on OS/2 and DOS shells.
64
53
# You will almost certainly need to change some of the values (MACROS)
65
54
# defined on the next few lines.
67
# .USESHELL is used by dmake.
70
# Using EMXSHELL=/bin/sh with emx versions can exhaust lower mem.
71
# Lower mem can also be exhausted on some of the tests even with MSC gawk.
72
# The .SWAP setting forces (DOS-only) dmake to swap itself out.
73
.SWAP: childin fflush getlnhd tweakfld pipeio1 pipeio2 getlnbuf
75
56
# This won't work unless you have "sh" and set SHELL equal to it (Make 3.74
76
57
# or later which comes with DJGPP will work with SHELL=/bin/sh if you have
77
58
# sh.exe anywhere on your PATH).
124
bigtest: basic unix-tests gawk.extensions
126
basic: msg swaplns messages argarray longwrds \
127
getline fstabplus compare arrayref rs fsrs rand \
128
fsbs negexp asgext anchgsub splitargv awkpath nfset reparse \
129
convfmt arrayparm paramdup nonl defref nofmtch litoct resplit \
130
rswhite prmarscl sclforin sclifin intprec childin noeffect \
131
numsubstr pcntplus prmreuse math fldchg fldchgnf reindops \
132
sprintfc backgsub tweakfld clsflnam mmap8k fnarray \
133
dynlj substr eofsplit prt1eval gsubasgn prtoeval gsubtest splitwht \
134
back89 tradanch nlfldsep splitvar intest nfldstr nors fnarydel \
135
noparms funstack clobber delarprm prdupval nasty zeroflag \
136
getnr2tm getnr2tb printf1 funsmnam fnamedat numindex subslash \
137
opasnslf opasnidx arynocls getlnbuf arysubnm fnparydl
139
unix-tests: poundba fflush getlnhd pipeio1 pipeio2 strftlng pid
141
gawk.extensions: fieldwdth ignrcase posix manyfiles igncfs argtest \
142
badargs strftime gensub gnureops reint igncdym
143
# add this back for 3.1
146
extra: regtes inftest
149
# The need for "basename" has been removed for MS-DOS & OS/2 systems which
151
# @cp $(AWK) /tmp/gawk && $(srcdir)/poundbang $(srcdir)/poundbang >_`basename $@`
152
$(CP) $(AWK) /tmp/gawk.exe && $(srcdir)/poundbang $(srcdir)/poundbang >_$@
155
# $(CMP) $(srcdir)/poundbang.ok _`basename $@` && rm -f _`basename $@`
156
$(CMP) $(srcdir)/poundbang.ok _$@ && rm -f _$@
108
bigtest: basic unix-tests gawk-extensions
110
# message stuff is to make it a little easier to follow
112
basic-msg-start basic basic-msg-end \
113
unix-msg-start unix-tests unix-msg-end \
114
extend-msg-start gawk-extensions extend-msg-end
116
# try to keep these sorted
117
basic: addcomma anchgsub argarray arrayparm arrayref arynasty arynocls \
118
arysubnm asgext awkpath back89 backgsub childin clobber clsflnam \
119
compare convfmt datanonl defref delarprm dynlj eofsplit fldchg \
120
fldchgnf fnamedat fnarray fnarydel fnaryscl fnasgnm fnparydl \
121
fsbs fsrs fstabplus funsmnam funstack getline getlnbuf getnr2tb \
122
getnr2tm gsubasgn gsubtest hsprint intest intprec leaddig litoct \
123
longwrds math messages mmap8k nasty nasty2 negexp nfldstr nfset \
124
nlfldsep nlinstr nlstrina noeffect nofmtch nonl noparms nors \
125
numindex numsubstr octsub ofmt ofmtbig ofmts opasnidx opasnslf \
126
paramdup paramtyp parseme pcntplus prdupval printf1 prmarscl \
127
prmreuse prt1eval prtoeval psx96sub rand rebt8b1 rebt8b2 redfilnm \
128
regeq reindops reparse resplit rs rsnul1nl rswhite sclforin \
129
sclifin splitargv splitdef splitvar splitwht sprintfc strtod \
130
subslash substr swaplns tradanch tweakfld zeroflag
132
unix-tests: fflush getlnhd pid pipeio1 pipeio2 poundba strftlng
134
gawk-extensions: argtest badargs clos1way fieldwdth fsfwfs gensub \
135
gnuops2 gnureops igncdym igncfs ignrcase lint manyfiles nondec \
136
posix procinfs regx8bit reint shadow sort1 strftime
138
extra: regtes inftest inet
140
inet: inetmesg inetechu inetecht inetdayu inetdayt
159
143
@echo 'Any output from "cmp" is bad news, although some differences'
161
145
@echo 'some systems may omit a leading zero and the floating point'
162
146
@echo 'precision may lead to slightly different output in a few cases.'
149
@echo "======== Starting basic tests ========"
152
@echo "======== Done with basic tests ========"
155
@echo "======== Starting Unix tests ========"
158
@echo "======== Done with Unix tests ========"
161
@echo "======== Starting gawk extension tests ========"
164
@echo "======== Done with gawk extension tests ========"
166
# This test is a PITA because increasingly, /tmp is getting
167
# mounted noexec. So, we'll test it. Sigh.
169
# @cp $(AWK) /tmp/gawk
170
@$(CP) $(AWK2) '\tmp\gawk.exe'
171
# @if /tmp/gawk 'BEGIN { print "OK" }' | grep OK > /dev/null ; \
173
# $(srcdir)/poundbang.awk $(srcdir)/poundbang.awk >_`basename $@` ; \
174
# $(CMP) $(srcdir)/poundbang.ok _`basename $@` && rm -f _`basename $@` && echo poundbang is ok ; \
176
# echo "*** /tmp is apparently mounted noexec, skipping poundbang test." ; \
178
@if /tmp/gawk 'BEGIN { print "OK" }' | grep OK > NUL ; \
180
$(srcdir)/poundbang.awk $(srcdir)/poundbang.awk >_`basename $@` ; \
181
$(CMP) $(srcdir)/poundbang.ok _`basename $@` && rm -f _`basename $@` && echo poundbang is ok ; \
183
echo "*** /tmp is apparently mounted noexec, skipping poundbang test." ; \
165
189
@echo 'If swaplns fails make sure that all of the .ok files have CR/LFs.'
190
@echo 'Or, set CMP to use diff.'
166
191
@$(AWK) -f $(srcdir)/swaplns.awk $(srcdir)/swaplns.in >_$@
167
$(CMP) $(srcdir)/swaplns.ok _$@ && rm -f _$@
192
-$(CMP) $(srcdir)/swaplns.ok _$@ && rm -f _$@
170
@echo 'If messages fails, set sh to swap to disk only (in sh.rc).'
171
195
@$(AWK) -f $(srcdir)/messages.awk >out2 2>out3
172
# { $(CMP) $(srcdir)/out1.ok out1 && $(CMP) $(srcdir)/out2.ok out2 && \
173
# $(CMP) $(srcdir)/out3.ok out3 && rm -f out1 out2 out3; } || \
174
# { { test -d /dev/fd || test -d /proc/self/fd; } && \
175
# echo IT IS OK THAT THIS TEST FAILED; }
176
{ $(CMP) $(srcdir)/out1.ok out1 && $(CMP) $(srcdir)/out2.ok out2 && \
177
$(CMP) $(srcdir)/out3.ok out3; } || test -d /dev/fd
196
-$(CMP) $(srcdir)/out1.ok out1 && $(CMP) $(srcdir)/out2.ok out2 && $(CMP) $(srcdir)/out3.ok out3 && rm -f out1 out2 out3
181
199
@case $(srcdir) in \
183
201
*) cp $(srcdir)/argarray.in . ;; \
185
203
@TEST=test echo just a test | $(AWK) -f $(srcdir)/argarray.awk ./argarray.in - >_$@
186
@echo 'If argarray fails, set try setting LFN=n in your environment'
187
@echo "before running make. If that still doesn't work, read the"
188
@echo 'the comment in this makefile about setting CMP for information'
189
@echo 'about what may be happenning.'
190
$(CMP) $(srcdir)/argarray.ok _$@ && rm -f _$@
204
-$(CMP) $(srcdir)/argarray.ok _$@ && rm -f _$@
193
207
@echo '1 2' | $(AWK) -f $(srcdir)/fstabplus.awk >_$@
194
$(CMP) $(srcdir)/fstabplus.ok _$@ && rm -f _$@
208
-$(CMP) $(srcdir)/fstabplus.ok _$@ && rm -f _$@
197
211
@$(AWK) -f $(srcdir)/fsrs.awk $(srcdir)/fsrs.in >_$@
198
$(CMP) $(srcdir)/fsrs.ok _$@ && rm -f _$@
212
-$(CMP) $(srcdir)/fsrs.ok _$@ && rm -f _$@
201
215
@$(AWK) -f $(srcdir)/igncfs.awk $(srcdir)/igncfs.in >_$@
202
$(CMP) $(srcdir)/igncfs.ok _$@ && rm -f _$@
216
-$(CMP) $(srcdir)/igncfs.ok _$@ && rm -f _$@
205
219
@$(AWK) -f $(srcdir)/longwrds.awk $(srcdir)/manpage | (LC_ALL=C sort) >_$@
206
$(CMP) $(srcdir)/longwrds.ok _$@ && rm -f _$@
220
-$(CMP) $(srcdir)/longwrds.ok _$@ && rm -f _$@
209
223
@echo '123456789' | $(AWK) -v FIELDWIDTHS="2 3 4" '{ print $$2}' >_$@
210
$(CMP) $(srcdir)/fieldwdth.ok _$@ && rm -f _$@
224
-$(CMP) $(srcdir)/fieldwdth.ok _$@ && rm -f _$@
213
227
@echo xYz | $(AWK) -v IGNORECASE=1 '{ sub(/y/, ""); print}' >_$@
214
$(CMP) $(srcdir)/ignrcase.ok _$@ && rm -f _$@
228
-$(CMP) $(srcdir)/ignrcase.ok _$@ && rm -f _$@
217
231
@echo 'Some of the output from regtest is very system specific, do not'
218
232
@echo 'be distressed if your output differs from that distributed.'
219
233
@echo 'Manual inspection is called for.'
234
# AWK=`pwd`/$(AWK) $(srcdir)/regtest.awk
220
235
AWK=`pwd`/$(AWK) CMP="$(CMP)" $(srcdir)/regtest
223
238
@echo 'posix test may fail due to 1.500000e+000 not being equal to'
224
239
@echo '1.500000e+00 for MSC gawk.'
225
240
@echo '1:2,3 4' | $(AWK) -f $(srcdir)/posix.awk >_$@
226
# $(CMP) $(srcdir)/posix.ok _$@ && rm -f _$@
227
241
-$(CMP) $(srcdir)/posix.ok _$@ && rm -f _$@
237
251
@echo 'without quoting the "junk/*" argument.'
238
252
# @echo "This number better be 1 ->" | tr -d '\012'
239
253
@echo "This number better be 1 ->" | tr -d '\012\015'
240
# @wc -l junk/* | $(AWK) '$$1 != 2' | wc -l
241
@wc -l "junk/*" | $(AWK) '$$1 != 2' | wc -l
242
# The quotes above are for people with a "wc" that doesn't support sh's "@"
254
@wc -l junk/* | $(AWK) '$$1 != 2' | wc -l
255
# @wc -l "junk/*" | $(AWK) '$$1 != 2' | wc -l
256
# The quotes above are for people with a "wc" that doesn't too long a command
247
261
@$(AWK) -f $(srcdir)/compare.awk 0 1 $(srcdir)/compare.in >_$@
248
$(CMP) $(srcdir)/compare.ok _$@ && rm -f _$@
262
-$(CMP) $(srcdir)/compare.ok _$@ && rm -f _$@
251
265
@$(AWK) -f $(srcdir)/arrayref.awk >_$@
252
$(CMP) $(srcdir)/arrayref.ok _$@ && rm -f _$@
266
-$(CMP) $(srcdir)/arrayref.ok _$@ && rm -f _$@
255
269
@$(AWK) -v RS="" '{ print $$1, $$2}' $(srcdir)/rs.in >_$@
256
$(CMP) $(srcdir)/rs.ok _$@ && rm -f _$@
270
-$(CMP) $(srcdir)/rs.ok _$@ && rm -f _$@
259
273
@$(AWK) -v FS='\' '{ print $$1, $$2 }' $(srcdir)/fsbs.in >_$@
260
$(CMP) $(srcdir)/fsbs.ok _$@ && rm -f _$@
274
-$(CMP) $(srcdir)/fsbs.ok _$@ && rm -f _$@
263
277
@echo This test is very machine specific...
264
@echo 'MSC 7.0 gawk generates a floating point exception.'
278
@echo 'Both MSC 7.0 and 8.0 gawk generate a floating point exception.'
265
279
@echo 'EMX gawk uses #INF rather than Inf.'
266
280
# @$(AWK) -f $(srcdir)/inftest.awk >_$@
267
281
@-$(AWK) -f $(srcdir)/inftest.awk >_$@
268
# $(CMP) $(srcdir)/inftest.ok _$@ && rm -f _$@
269
282
-$(CMP) $(srcdir)/inftest.ok _$@ && rm -f _$@
272
285
@$(AWK) -f $(srcdir)/getline.awk $(srcdir)/getline.awk $(srcdir)/getline.awk >_$@
273
$(CMP) $(srcdir)/getline.ok _$@ && rm -f _$@
286
-$(CMP) $(srcdir)/getline.ok _$@ && rm -f _$@
276
289
@$(AWK) -f $(srcdir)/rand.awk >_$@
277
$(CMP) $(srcdir)/rand.ok _$@ && rm -f _$@
290
-$(CMP) $(srcdir)/rand.ok _$@ && rm -f _$@
280
293
@$(AWK) 'BEGIN { a = -2; print 10^a }' >_$@
281
$(CMP) $(srcdir)/negexp.ok _$@ && rm -f _$@
294
-$(CMP) $(srcdir)/negexp.ok _$@ && rm -f _$@
284
297
@$(AWK) -f $(srcdir)/asgext.awk $(srcdir)/asgext.in >_$@
285
$(CMP) $(srcdir)/asgext.ok _$@ && rm -f _$@
298
-$(CMP) $(srcdir)/asgext.ok _$@ && rm -f _$@
288
301
@$(AWK) -f $(srcdir)/anchgsub.awk $(srcdir)/anchgsub.in >_$@
289
$(CMP) $(srcdir)/anchgsub.ok _$@ && rm -f _$@
302
-$(CMP) $(srcdir)/anchgsub.ok _$@ && rm -f _$@
292
305
@$(AWK) -f $(srcdir)/splitargv.awk $(srcdir)/splitargv.in >_$@
293
$(CMP) $(srcdir)/splitargv.ok _$@ && rm -f _$@
306
-$(CMP) $(srcdir)/splitargv.ok _$@ && rm -f _$@
296
309
# MS-DOS and OS/2 use ; as a PATH delimiter
297
310
# @AWKPATH="$(srcdir):$(srcdir)/lib" $(AWK) -f awkpath.awk >_$@
298
311
@AWKPATH="$(srcdir);$(srcdir)/lib" $(AWK) -f awkpath.awk >_$@
299
$(CMP) $(srcdir)/awkpath.ok _$@ && rm -f _$@
312
-$(CMP) $(srcdir)/awkpath.ok _$@ && rm -f _$@
302
315
@$(AWK) -f $(srcdir)/nfset.awk $(srcdir)/nfset.in >_$@
303
$(CMP) $(srcdir)/nfset.ok _$@ && rm -f _$@
316
-$(CMP) $(srcdir)/nfset.ok _$@ && rm -f _$@
306
319
@$(AWK) -f $(srcdir)/reparse.awk $(srcdir)/reparse.in >_$@
307
$(CMP) $(srcdir)/reparse.ok _$@ && rm -f _$@
320
-$(CMP) $(srcdir)/reparse.ok _$@ && rm -f _$@
310
323
@$(AWK) -f $(srcdir)/argtest.awk -x -y abc >_$@
311
$(CMP) $(srcdir)/argtest.ok _$@ && rm -f _$@
324
-$(CMP) $(srcdir)/argtest.ok _$@ && rm -f _$@
314
327
# For MS-DOS & OS/2, we use " rather than ' in the usage statement.
315
328
@-$(AWK) -f 2>&1 | grep -v patchlevel >_$@
316
329
# Next line converts " to ' for $(CMP) to work with UNIX badargs.ok
317
330
@cat _$@ | tr '\042' '\047' > _$@.2
318
# $(CMP) $(srcdir)/badargs.ok _$@ && rm -f _$@
319
$(CMP) $(srcdir)/badargs.ok _$@.2 && rm -f _$@ _$@.2
331
# -$(CMP) $(srcdir)/badargs.ok _$@ && rm -f _$@
332
-$(CMP) $(srcdir)/badargs.ok _$@.2 && rm -f _$@ _$@.2
322
335
@$(AWK) -f $(srcdir)/convfmt.awk >_$@
323
$(CMP) $(srcdir)/convfmt.ok _$@ && rm -f _$@
336
-$(CMP) $(srcdir)/convfmt.ok _$@ && rm -f _$@
326
339
@-AWKPATH=$(srcdir) $(AWK) -f arrayparm.awk >_$@ 2>&1 || exit 0
327
$(CMP) $(srcdir)/arrayparm.ok _$@ && rm -f _$@
340
-$(CMP) $(srcdir)/arrayparm.ok _$@ && rm -f _$@
330
343
@-AWKPATH=$(srcdir) $(AWK) -f paramdup.awk >_$@ 2>&1 || exit 0
331
$(CMP) $(srcdir)/paramdup.ok _$@ && rm -f _$@
344
-$(CMP) $(srcdir)/paramdup.ok _$@ && rm -f _$@
334
347
# @-AWKPATH=$(srcdir) $(AWK) --lint -f nonl.awk /dev/null >_$@ 2>&1
335
348
@-AWKPATH=$(srcdir) $(AWK) --lint -f nonl.awk NUL >_$@ 2>&1
336
$(CMP) $(srcdir)/nonl.ok _$@ && rm -f _$@
349
-$(CMP) $(srcdir)/nonl.ok _$@ && rm -f _$@
339
352
@-AWKPATH=$(srcdir) $(AWK) --lint -f defref.awk >_$@ 2>&1 || exit 0
340
$(CMP) $(srcdir)/defref.ok _$@ && rm -f _$@
353
-$(CMP) $(srcdir)/defref.ok _$@ && rm -f _$@
343
356
@-AWKPATH=$(srcdir) $(AWK) --lint -f nofmtch.awk >_$@ 2>&1
344
$(CMP) $(srcdir)/nofmtch.ok _$@ && rm -f _$@
357
-$(CMP) $(srcdir)/nofmtch.ok _$@ && rm -f _$@
347
360
: this test could fail on slow machines or on a second boundary,
348
361
: so if it does, double check the actual results
362
@echo 'It will also fail using DJGPP because DJGPP does not'
363
@echo 'have a default timezone.'
349
364
# @LC_ALL=C; export LC_ALL; LANG=C; export LANG; \
350
365
# date | $(AWK) -v OUTPUT=_$@ -f $(srcdir)/strftime.awk
351
366
@LC_ALL=C; export LC_ALL; LANG=C; export LANG; \
352
367
$(DATE) | $(AWK) -v OUTPUT=_$@ -f $(srcdir)/strftime.awk
353
$(CMP) strftime.ok _$@ && rm -f _$@ strftime.ok || exit 0
368
-$(CMP) strftime.ok _$@ && rm -f _$@ strftime.ok || exit 0
356
371
@echo ab | $(AWK) --traditional -f $(srcdir)/litoct.awk >_$@
357
$(CMP) $(srcdir)/litoct.ok _$@ && rm -f _$@
372
-$(CMP) $(srcdir)/litoct.ok _$@ && rm -f _$@
360
375
@$(AWK) -f $(srcdir)/gensub.awk $(srcdir)/gensub.in >_$@
361
$(CMP) $(srcdir)/gensub.ok _$@ && rm -f _$@
376
-$(CMP) $(srcdir)/gensub.ok _$@ && rm -f _$@
364
@echo 'If resplit fails, check extend.lst and remove "unix" by the "gawk=" line'
365
379
@echo a:b:c d:e:f | $(AWK) '{ FS = ":"; $$0 = $$0; print $$2 }' > _$@
366
$(CMP) $(srcdir)/resplit.ok _$@ && rm -f _$@
380
-$(CMP) $(srcdir)/resplit.ok _$@ && rm -f _$@
369
383
@$(AWK) -f $(srcdir)/rswhite.awk $(srcdir)/rswhite.in > _$@
370
$(CMP) $(srcdir)/rswhite.ok _$@ && rm -f _$@
384
-$(CMP) $(srcdir)/rswhite.ok _$@ && rm -f _$@
373
387
@-AWKPATH=$(srcdir) $(AWK) -f prmarscl.awk > _$@ 2>&1 || exit 0
374
$(CMP) $(srcdir)/prmarscl.ok _$@ && rm -f _$@
388
-$(CMP) $(srcdir)/prmarscl.ok _$@ && rm -f _$@
377
391
@-AWKPATH=$(srcdir) $(AWK) -f sclforin.awk > _$@ 2>&1 || exit 0
378
$(CMP) $(srcdir)/sclforin.ok _$@ && rm -f _$@
392
-$(CMP) $(srcdir)/sclforin.ok _$@ && rm -f _$@
381
395
@-AWKPATH=$(srcdir) $(AWK) -f sclifin.awk > _$@ 2>&1 || exit 0
382
$(CMP) $(srcdir)/sclifin.ok _$@ && rm -f _$@
396
-$(CMP) $(srcdir)/sclifin.ok _$@ && rm -f _$@
385
399
@-$(AWK) -f $(srcdir)/intprec.awk > _$@ 2>&1
386
$(CMP) $(srcdir)/intprec.ok _$@ && rm -f _$@
400
-$(CMP) $(srcdir)/intprec.ok _$@ && rm -f _$@
389
403
@echo hi | $(AWK) 'BEGIN { "cat" | getline; print; close("cat") }' > _$@
390
$(CMP) $(srcdir)/childin.ok _$@ && rm -f _$@
404
-$(CMP) $(srcdir)/childin.ok _$@ && rm -f _$@
393
407
@-AWKPATH=$(srcdir) $(AWK) --lint -f noeffect.awk > _$@ 2>&1
394
$(CMP) $(srcdir)/noeffect.ok _$@ && rm -f _$@
408
-$(CMP) $(srcdir)/noeffect.ok _$@ && rm -f _$@
397
411
@-AWKPATH=$(srcdir) $(AWK) -f numsubstr.awk $(srcdir)/numsubstr.in >_$@
398
$(CMP) $(srcdir)/numsubstr.ok _$@ && rm -f _$@
412
-$(CMP) $(srcdir)/numsubstr.ok _$@ && rm -f _$@
401
415
@$(AWK) -f $(srcdir)/gnureops.awk >_$@
402
$(CMP) $(srcdir)/gnureops.ok _$@ && rm -f _$@
416
-$(CMP) $(srcdir)/gnureops.ok _$@ && rm -f _$@
405
419
@$(AWK) -f $(srcdir)/pcntplus.awk >_$@
406
$(CMP) $(srcdir)/pcntplus.ok _$@ && rm -f _$@
420
-$(CMP) $(srcdir)/pcntplus.ok _$@ && rm -f _$@
409
423
@$(AWK) -f $(srcdir)/prmreuse.awk >_$@
410
$(CMP) $(srcdir)/prmreuse.ok _$@ && rm -f _$@
424
-$(CMP) $(srcdir)/prmreuse.ok _$@ && rm -f _$@
413
427
@$(AWK) -f $(srcdir)/math.awk >_$@
414
$(CMP) $(srcdir)/math.ok _$@ && rm -f _$@
428
-$(CMP) $(srcdir)/math.ok _$@ && rm -f _$@
417
431
@$(srcdir)/fflush.sh >_$@
418
$(CMP) $(srcdir)/fflush.ok _$@ && rm -f _$@
432
-$(CMP) $(srcdir)/fflush.ok _$@ && rm -f _$@
421
435
@$(AWK) -f $(srcdir)/fldchg.awk $(srcdir)/fldchg.in >_$@
422
$(CMP) $(srcdir)/fldchg.ok _$@ && rm -f _$@
436
-$(CMP) $(srcdir)/fldchg.ok _$@ && rm -f _$@
425
439
@$(AWK) -f $(srcdir)/fldchgnf.awk $(srcdir)/fldchgnf.in >_$@
426
$(CMP) $(srcdir)/fldchgnf.ok _$@ && rm -f _$@
440
-$(CMP) $(srcdir)/fldchgnf.ok _$@ && rm -f _$@
429
443
@$(AWK) -f $(srcdir)/reindops.awk $(srcdir)/reindops.in >_$@
430
$(CMP) $(srcdir)/reindops.ok _$@ && rm -f _$@
444
-$(CMP) $(srcdir)/reindops.ok _$@ && rm -f _$@
433
447
@$(AWK) -f $(srcdir)/sprintfc.awk $(srcdir)/sprintfc.in >_$@
434
$(CMP) $(srcdir)/sprintfc.ok _$@ && rm -f _$@
448
-$(CMP) $(srcdir)/sprintfc.ok _$@ && rm -f _$@
437
@echo 'Getlnhd is set to ignore errors. However, there should not be any.'
438
@echo 'If getlnhd fails, set sh to swap to disk only (in sh.rc).'
439
@echo 'If it still hangs with EMX gawk type ^C, then try the test when'
440
@echo 'not using DPMI and RSX (in particular, run outside MS-Windows).'
441
@echo 'If it fails with MSC, run make from the test directory.'
442
451
# In 3.0.3, COMSPEC=$(SHELL) was used for MSC and MINGW32 which do
443
452
# not honor SHELL.
444
453
# COMSPEC=$(SHELL) $(AWK) -f $(srcdir)/getlnhd.awk >_$@
449
458
@$(AWK) -f $(srcdir)/backgsub.awk $(srcdir)/backgsub.in >_$@
450
$(CMP) $(srcdir)/backgsub.ok _$@ && rm -f _$@
459
-$(CMP) $(srcdir)/backgsub.ok _$@ && rm -f _$@
453
462
@$(AWK) -f $(srcdir)/tweakfld.awk $(srcdir)/tweakfld.in >_$@
454
463
@rm -f errors.cleanup
455
$(CMP) $(srcdir)/tweakfld.ok _$@ && rm -f _$@
464
-$(CMP) $(srcdir)/tweakfld.ok _$@ && rm -f _$@
458
@$(AWK) -f $(srcdir)/clsflnam.awk $(srcdir)/clsflnam.in >_$@
459
$(CMP) $(srcdir)/clsflnam.ok _$@ && rm -f _$@
467
@$(AWK) -f $(srcdir)/clsflnam.awk $(srcdir)/clsflnam.in >_$@ 2>&1
468
-$(CMP) $(srcdir)/clsflnam.ok _$@ && rm -f _$@
462
471
@echo 'If mmap8k fails make sure that mmap8k.in has CR/LFs.'
463
472
@$(AWK) '{ print }' $(srcdir)/mmap8k.in >_$@
464
$(CMP) $(srcdir)/mmap8k.in _$@ && rm -f _$@
473
-$(CMP) $(srcdir)/mmap8k.in _$@ && rm -f _$@
467
476
@-AWKPATH=$(srcdir) $(AWK) -f fnarray.awk >_$@ 2>&1 || exit 0
468
$(CMP) $(srcdir)/fnarray.ok _$@ && rm -f _$@
477
-$(CMP) $(srcdir)/fnarray.ok _$@ && rm -f _$@
471
480
@$(AWK) -f $(srcdir)/dynlj.awk >_$@
472
$(CMP) $(srcdir)/dynlj.ok _$@ && rm -f _$@
481
-$(CMP) $(srcdir)/dynlj.ok _$@ && rm -f _$@
475
484
@$(AWK) -f $(srcdir)/substr.awk >_$@
476
$(CMP) $(srcdir)/substr.ok _$@ && rm -f _$@
485
-$(CMP) $(srcdir)/substr.ok _$@ && rm -f _$@
479
488
@$(AWK) -f $(srcdir)/eofsplit.awk >_$@
480
$(CMP) $(srcdir)/eofsplit.ok _$@ && rm -f _$@
489
-$(CMP) $(srcdir)/eofsplit.ok _$@ && rm -f _$@
483
492
@$(AWK) -f $(srcdir)/prt1eval.awk >_$@
484
$(CMP) $(srcdir)/prt1eval.ok _$@ && rm -f _$@
493
-$(CMP) $(srcdir)/prt1eval.ok _$@ && rm -f _$@
487
496
@-AWKPATH=$(srcdir) $(AWK) -f gsubasgn.awk >_$@ 2>&1 || exit 0
488
$(CMP) $(srcdir)/gsubasgn.ok _$@ && rm -f _$@
497
-$(CMP) $(srcdir)/gsubasgn.ok _$@ && rm -f _$@
491
500
@$(AWK) -f $(srcdir)/prtoeval.awk >_$@
492
$(CMP) $(srcdir)/prtoeval.ok _$@ && rm -f _$@
501
-$(CMP) $(srcdir)/prtoeval.ok _$@ && rm -f _$@
495
504
@$(AWK) -f $(srcdir)/gsubtest.awk >_$@
496
$(CMP) $(srcdir)/gsubtest.ok _$@ && rm -f _$@
505
-$(CMP) $(srcdir)/gsubtest.ok _$@ && rm -f _$@
499
508
@$(AWK) -f $(srcdir)/splitwht.awk >_$@
500
$(CMP) $(srcdir)/splitwht.ok _$@ && rm -f _$@
509
-$(CMP) $(srcdir)/splitwht.ok _$@ && rm -f _$@
503
512
@$(AWK) '/a\8b/' $(srcdir)/back89.in >_$@
504
$(CMP) $(srcdir)/back89.ok _$@ && rm -f _$@
513
-$(CMP) $(srcdir)/back89.ok _$@ && rm -f _$@
507
516
@$(AWK) --traditional -f $(srcdir)/tradanch.awk $(srcdir)/tradanch.in >_$@
508
$(CMP) $(srcdir)/tradanch.ok _$@ && rm -f _$@
517
-$(CMP) $(srcdir)/tradanch.ok _$@ && rm -f _$@
511
520
@$(AWK) -f $(srcdir)/nlfldsep.awk $(srcdir)/nlfldsep.in > _$@
512
$(CMP) $(srcdir)/nlfldsep.ok _$@ && rm -f _$@
521
-$(CMP) $(srcdir)/nlfldsep.ok _$@ && rm -f _$@
515
524
@$(AWK) -f $(srcdir)/splitvar.awk $(srcdir)/splitvar.in >_$@
516
$(CMP) $(srcdir)/splitvar.ok _$@ && rm -f _$@
525
-$(CMP) $(srcdir)/splitvar.ok _$@ && rm -f _$@
519
528
@$(AWK) -f $(srcdir)/intest.awk >_$@
520
$(CMP) $(srcdir)/intest.ok _$@ && rm -f _$@
529
-$(CMP) $(srcdir)/intest.ok _$@ && rm -f _$@
522
531
# AIX /bin/sh exec's the last command in a list, therefore issue a ":"
523
532
# command so that pid.sh is fork'ed as a child before being exec'ed.
571
576
# This would fail were it not for the "cat" line due to DOS's ECHO command.
572
577
@echo 'pipeio may fail due to the way that your tr & echo work in DOS'
573
@echo 'You may also need to set tr=noexpand switch if you use'
574
@echo "Stewartson's sh."
575
578
@$(AWK) -v SRCDIR=$(srcdir) -f $(srcdir)/pipeio2.awk >_$@
576
579
@cat _$@ | $(AWK) '{ sub("ECHO is.*","",$$0); print $$0 } ' > _$@.2
577
# $(CMP) $(srcdir)/pipeio2.ok _$@ && rm -f _$@
580
# -$(CMP) $(srcdir)/pipeio2.ok _$@ && rm -f _$@
578
581
-diff -w $(srcdir)/pipeio2.ok _$@.2 && rm -f _$@ _$@.2
581
584
@echo 'Expect funstack to fail with MSC DOS versions.'
582
585
# @$(AWK) -f $(srcdir)/funstack.awk $(srcdir)/funstack.in >_$@
583
586
@-$(AWK) -f $(srcdir)/funstack.awk $(srcdir)/funstack.in >_$@
584
# $(CMP) $(srcdir)/funstack.ok _$@ && rm -f _$@
585
587
-$(CMP) $(srcdir)/funstack.ok _$@ && rm -f _$@
588
590
@$(AWK) -f $(srcdir)/clobber.awk >_$@
589
$(CMP) $(srcdir)/clobber.ok seq && $(CMP) $(srcdir)/clobber.ok _$@ && rm -f _$@
591
-$(CMP) $(srcdir)/clobber.ok seq && $(CMP) $(srcdir)/clobber.ok _$@ && rm -f _$@
593
595
@$(AWK) -f $(srcdir)/delarprm.awk >_$@
594
$(CMP) $(srcdir)/delarprm.ok _$@ && rm -f _$@
596
-$(CMP) $(srcdir)/delarprm.ok _$@ && rm -f _$@
597
599
@$(AWK) -f $(srcdir)/prdupval.awk $(srcdir)/prdupval.in >_$@
598
$(CMP) $(srcdir)/prdupval.ok _$@ && rm -f _$@
600
-$(CMP) $(srcdir)/prdupval.ok _$@ && rm -f _$@
603
# @if grep BITOP ../config.h | grep define > /dev/null; \
605
# $(AWK) -f $(srcdir)/nondec.awk >_$@; \
607
# cp $(srcdir)/nondec.ok _$@; \
601
609
@if grep BITOP ../config.h | grep define > /dev/null; \
603
611
$(AWK) -f $(srcdir)/nondec.awk >_$@; \
605
cp $(srcdir)/nondec.ok _$@; \
613
$(CP) $(srcdir)\\nondec.ok _$@; \
607
$(CMP) $(srcdir)/nondec.ok _$@ && rm -f _$@
615
-$(CMP) $(srcdir)/nondec.ok _$@ && rm -f _$@
610
618
@$(AWK) -f $(srcdir)/nasty.awk >_$@
611
$(CMP) $(srcdir)/nasty.ok _$@ && rm -f _$@
619
-$(CMP) $(srcdir)/nasty.ok _$@ && rm -f _$@
622
@$(AWK) -f $(srcdir)/nasty2.awk >_$@
623
-$(CMP) $(srcdir)/nasty2.ok _$@ && rm -f _$@
614
626
@$(AWK) -f $(srcdir)/zeroflag.awk >_$@
615
$(CMP) $(srcdir)/zeroflag.ok _$@ && rm -f _$@
627
-$(CMP) $(srcdir)/zeroflag.ok _$@ && rm -f _$@
618
630
@$(AWK) -f $(srcdir)/getnr2tm.awk $(srcdir)/getnr2tm.in >_$@
619
$(CMP) $(srcdir)/getnr2tm.ok _$@ && rm -f _$@
631
-$(CMP) $(srcdir)/getnr2tm.ok _$@ && rm -f _$@
622
634
@$(AWK) -f $(srcdir)/getnr2tb.awk $(srcdir)/getnr2tb.in >_$@
623
$(CMP) $(srcdir)/getnr2tb.ok _$@ && rm -f _$@
635
-$(CMP) $(srcdir)/getnr2tb.ok _$@ && rm -f _$@
626
638
@$(AWK) -f $(srcdir)/printf1.awk >_$@
627
$(CMP) $(srcdir)/printf1.ok _$@ && rm -f _$@
639
-$(CMP) $(srcdir)/printf1.ok _$@ && rm -f _$@
630
642
@-AWKPATH=$(srcdir) $(AWK) -f funsmnam.awk >_$@ 2>&1 || exit 0
631
$(CMP) $(srcdir)/funsmnam.ok _$@ && rm -f _$@
643
-$(CMP) $(srcdir)/funsmnam.ok _$@ && rm -f _$@
634
646
@-AWKPATH=$(srcdir) $(AWK) -f fnamedat.awk < $(srcdir)/fnamedat.in >_$@ 2>&1 || exit 0
635
$(CMP) $(srcdir)/fnamedat.ok _$@ && rm -f _$@
647
-$(CMP) $(srcdir)/fnamedat.ok _$@ && rm -f _$@
638
650
@-AWKPATH=$(srcdir) $(AWK) -f numindex.awk < $(srcdir)/numindex.in >_$@ 2>&1 || exit 0
639
$(CMP) $(srcdir)/numindex.ok _$@ && rm -f _$@
651
-$(CMP) $(srcdir)/numindex.ok _$@ && rm -f _$@
642
654
@-AWKPATH=$(srcdir) $(AWK) -f subslash.awk >_$@ 2>&1 || exit 0
643
$(CMP) $(srcdir)/subslash.ok _$@ && rm -f _$@
655
-$(CMP) $(srcdir)/subslash.ok _$@ && rm -f _$@
646
658
@-AWKPATH=$(srcdir) $(AWK) -f opasnslf.awk >_$@ 2>&1 || exit 0
647
$(CMP) $(srcdir)/opasnslf.ok _$@ && rm -f _$@
659
-$(CMP) $(srcdir)/opasnslf.ok _$@ && rm -f _$@
650
662
@-AWKPATH=$(srcdir) $(AWK) -f opasnidx.awk >_$@ 2>&1 || exit 0
651
$(CMP) $(srcdir)/opasnidx.ok _$@ && rm -f _$@
663
-$(CMP) $(srcdir)/opasnidx.ok _$@ && rm -f _$@
654
666
@-AWKPATH=$(srcdir) $(AWK) -v INPUT=$(srcdir)/arynocls.in -f arynocls.awk >_$@
655
$(CMP) $(srcdir)/arynocls.ok _$@ && rm -f _$@
667
-$(CMP) $(srcdir)/arynocls.ok _$@ && rm -f _$@
658
670
@-AWKPATH=$(srcdir) $(AWK) -f igncdym.awk $(srcdir)/igncdym.in >_$@
659
$(CMP) $(srcdir)/igncdym.ok _$@ && rm -f _$@
671
-$(CMP) $(srcdir)/igncdym.ok _$@ && rm -f _$@
674
@echo getlnbuf runs out of memory with MSC gawk.
662
675
@-AWKPATH=$(srcdir) $(AWK) -f getlnbuf.awk $(srcdir)/getlnbuf.in > _$@
663
676
@-AWKPATH=$(srcdir) $(AWK) -f gtlnbufv.awk $(srcdir)/getlnbuf.in > _2$@
664
$(CMP) $(srcdir)/getlnbuf.ok _$@ && $(CMP) $(srcdir)/getlnbuf.ok _2$@ && rm -f _$@ _2$@
677
-$(CMP) $(srcdir)/getlnbuf.ok _$@ && $(CMP) $(srcdir)/getlnbuf.ok _2$@ && rm -f _$@ _2$@
667
680
@-AWKPATH=$(srcdir) $(AWK) -f arysubnm.awk >_$@
668
$(CMP) $(srcdir)/arysubnm.ok _$@ && rm -f _$@
681
-$(CMP) $(srcdir)/arysubnm.ok _$@ && rm -f _$@
671
684
@-AWKPATH=$(srcdir) $(AWK) -f fnparydl.awk >_$@
672
$(CMP) $(srcdir)/fnparydl.ok _$@ && rm -f _$@
685
-$(CMP) $(srcdir)/fnparydl.ok _$@ && rm -f _$@
688
@-AWKPATH=$(srcdir) $(AWK) -f nlstrina.awk >_$@
689
-$(CMP) $(srcdir)/nlstrina.ok _$@ && rm -f _$@
692
@-AWKPATH=$(srcdir) $(AWK) -f octsub.awk >_$@
693
-$(CMP) $(srcdir)/octsub.ok _$@ && rm -f _$@
696
@$(AWK) -f $(srcdir)/nlinstr.awk $(srcdir)/nlinstr.in >_$@
697
-$(CMP) $(srcdir)/nlinstr.ok _$@ && rm -f _$@
700
@$(AWK) -f $(srcdir)/ofmt.awk $(srcdir)/ofmt.in >_$@
701
-$(CMP) $(srcdir)/ofmt.ok _$@ && rm -f _$@
704
@echo 'hsprint test may fail due to 1.27e+01 not being equal to'
705
@echo '1.27e+001 (and similarly for other numbers) for MSC gawk.'
706
@$(AWK) -f $(srcdir)/hsprint.awk >_$@
707
-$(CMP) $(srcdir)/hsprint.ok _$@ && rm -f _$@
710
@$(AWK) -f $(srcdir)/fsfwfs.awk $(srcdir)/fsfwfs.in >_$@
711
-$(CMP) $(srcdir)/fsfwfs.ok _$@ && rm -f _$@
714
@$(AWK) -f $(srcdir)/ofmts.awk $(srcdir)/ofmts.in >_$@
715
-$(CMP) $(srcdir)/ofmts.ok _$@ && rm -f _$@
718
@-AWKPATH=$(srcdir) $(AWK) -f parseme.awk >_$@ 2>&1 || exit 0
719
-$(CMP) $(srcdir)/parseme.ok _$@ && rm -f _$@
722
@$(AWK) -f $(srcdir)/splitdef.awk >_$@
723
-$(CMP) $(srcdir)/splitdef.ok _$@ && rm -f _$@
726
@-AWKPATH=$(srcdir) $(AWK) -f fnaryscl.awk >_$@ 2>&1 || exit 0
727
-$(CMP) $(srcdir)/fnaryscl.ok _$@ && rm -f _$@
730
@-AWKPATH=$(srcdir) $(AWK) -f fnasgnm.awk < $(srcdir)/fnasgnm.in >_$@ 2>&1 || exit 0
731
-$(CMP) $(srcdir)/fnasgnm.ok _$@ && rm -f _$@
734
@-AWKPATH=$(srcdir) $(AWK) -f lint.awk > _$@ 2>&1
735
-$(CMP) $(srcdir)/lint.ok _$@ && rm -f _$@
738
@-$(AWK) -f $(srcdir)/procinfs.awk > _$@
739
-$(CMP) $(srcdir)/procinfs.ok _$@ && rm -f _$@
742
@-$(AWK) -f $(srcdir)/sort1.awk > _$@
743
-$(CMP) $(srcdir)/sort1.ok _$@ && rm -f _$@
746
@$(AWK) -f $(srcdir)/ofmtbig.awk $(srcdir)/ofmtbig.in >_$@ 2>&1 || exit 0
747
-$(CMP) $(srcdir)/ofmtbig.ok _$@ && rm -f _$@
750
@echo These tests only work if your system supports the services
751
@echo "'discard'" at port 9 and "'daytimed" at port 13. Check your
752
@echo file /etc/services and do "'netstat -a'".
755
@echo inetechu fails with MSC and DJGPP because "|&" is not supported.
756
@echo This test is for establishing UDP connections
757
# @$(AWK) 'BEGIN {print "" |& "/inet/udp/0/127.0.0.1/9"}'
758
@-$(AWK) 'BEGIN {print "" |& "/inet/udp/0/127.0.0.1/9"}'
761
@echo inetecht fails with MSC and DJGPP because "|&" is not supported.
762
@echo This test is for establishing TCP connections
763
# @$(AWK) 'BEGIN {print "" |& "/inet/tcp/0/127.0.0.1/9"}'
764
@-$(AWK) 'BEGIN {print "" |& "/inet/tcp/0/127.0.0.1/9"}'
767
@echo inetdayu fails with MSC and DJGPP because "|&" is not supported.
768
@echo This test is for bidirectional UDP transmission
769
# @$(AWK) 'BEGIN { print "" |& "/inet/udp/0/127.0.0.1/13"; \
770
# "/inet/udp/0/127.0.0.1/13" |& getline; print $0}'
771
@-$(AWK) 'BEGIN { print "" |& "/inet/udp/0/127.0.0.1/13"; \
772
"/inet/udp/0/127.0.0.1/13" |& getline; print $0}'
775
@echo inetdayt fails with MSC and DJGPP because "|&" is not supported.
776
@echo This test is for bidirectional TCP transmission
777
# @$(AWK) 'BEGIN { print "" |& "/inet/tcp/0/127.0.0.1/13"; \
778
# "/inet/tcp/0/127.0.0.1/13" |& getline; print $0}'
779
@-$(AWK) 'BEGIN { print "" |& "/inet/tcp/0/127.0.0.1/13"; \
780
"/inet/tcp/0/127.0.0.1/13" |& getline; print $0}'
783
@$(AWK) -f $(srcdir)/paramtyp.awk >_$@
784
-$(CMP) $(srcdir)/paramtyp.ok _$@ && rm -f _$@
787
@$(AWK) -f $(srcdir)/rsnul1nl.awk $(srcdir)/rsnul1nl.in >_$@
788
-$(CMP) $(srcdir)/rsnul1nl.ok _$@ && rm -f _$@
791
@$(AWK) -f $(srcdir)/datanonl.awk $(srcdir)/datanonl.in >_$@
792
-$(CMP) $(srcdir)/datanonl.ok _$@ && rm -f _$@
795
@$(AWK) -f $(srcdir)/regeq.awk $(srcdir)/regeq.in >_$@
796
-$(CMP) $(srcdir)/regeq.ok _$@ && rm -f _$@
799
@$(AWK) -f $(srcdir)/redfilnm.awk srcdir=$(srcdir) $(srcdir)/redfilnm.in >_$@
800
-$(CMP) $(srcdir)/redfilnm.ok _$@ && rm -f _$@
803
@$(AWK) -f $(srcdir)/strtod.awk $(srcdir)/strtod.in >_$@
804
-$(CMP) $(srcdir)/strtod.ok _$@ && rm -f _$@
807
@$(AWK) -v x=2E -f $(srcdir)/leaddig.awk >_$@
808
-$(CMP) $(srcdir)/leaddig.ok _$@ && rm -f _$@
811
@echo clos1way fails with MSC and DJGPP because "|&" is not supported.
812
# @$(AWK) -f $(srcdir)/clos1way.awk >_$@
813
@-$(AWK) -f $(srcdir)/clos1way.awk >_$@
814
-$(CMP) $(srcdir)/clos1way.ok _$@ && rm -f _$@
817
@$(AWK) -f $(srcdir)/arynasty.awk >_$@
818
-$(CMP) $(srcdir)/arynasty.ok _$@ && rm -f _$@
821
@-AWKPATH=$(srcdir) $(AWK) --lint -f shadow.awk >_$@ 2>&1 || exit 0
822
-$(CMP) $(srcdir)/shadow.ok _$@ && rm -f _$@
825
@$(AWK) -f $(srcdir)/regx8bit.awk >_$@
826
-$(CMP) $(srcdir)/regx8bit.ok _$@ && rm -f _$@
829
@$(AWK) -f $(srcdir)/psx96sub.awk >_$@
830
-$(CMP) $(srcdir)/psx96sub.ok _$@ && rm -f _$@
833
@echo 'If addcomma fails, set try setting LFN=n in your environment'
834
@echo "before running make. If that still doesn't work, read the"
835
@echo 'the comment in this makefile about setting CMP for information'
836
@echo 'about what may be happenning.'
837
@$(AWK) -f $(srcdir)/addcomma.awk $(srcdir)/addcomma.in >_$@
838
-$(CMP) $(srcdir)/addcomma.ok _$@ && rm -f _$@
841
@$(AWK) -f $(srcdir)/gnuops2.awk >_$@
842
-$(CMP) $(srcdir)/gnuops2.ok _$@ && rm -f _$@
845
@$(AWK) -f $(srcdir)/rebt8b1.awk >_$@
846
-$(CMP) $(srcdir)/rebt8b1.ok _$@ && rm -f _$@
849
@$(AWK) -f $(srcdir)/rebt8b2.awk >_$@
850
-$(CMP) $(srcdir)/rebt8b2.ok _$@ && rm -f _$@
675
853
rm -fr _* core junk out1 out2 out3 strftime.ok test1 test2 seq *~
855
# This target for my convenience to look at all the results
859
echo ============== $$i ============= ; \
860
diff -c $${i#_}.ok $$i ; \
680
maintainer-clean: distclean
863
# Tell versions [3.59,3.63) of GNU make to not export all variables.
864
# Otherwise a system limit (for SysV at least) may be exceeded.