Mail Archives: djgpp-workers/1999/03/12/06:52:52
Eli Zaretskii wrote:
> On Thu, 11 Mar 1999, Peter Gerwinski wrote:
> > DJGPP does not like the complicated scripts in the Makefile of
> > the GPC test suite (subdirectory `test' in the GPC source), so
> > I ran some 100 of the tests manually, and they all passed.
>
> Can't this be fixed somehow? I find it disturbing that somebody who
> wants to run the test suite will have to invoke 100 tests manually.
In fact there are 797 test cases, and not all of them can
reasonably be invoked manually. But anyway ...
> If the problems which prevent the test suite from running are hard to
> figure out, please post the symptoms and the related script fragments,
> and we will try to help.
Sorry - my mistake. :-( It was a trivial problem (a missing
"export SHELL=g:/djgpp/bin/bash.exe"). The test is running now
but is somewhat slow (at least a factor of ten slower than under
Linux), probably due to a lot of pipes being involved. The
script is the GPC TestSuite Makefile appended below.
I will report test results as soon as they are available.
Peter
--
Peter Gerwinski, Essen, Germany, http://home.pages.de/~Peter.Gerwinski/
Maintainer GNU Pascal - http://home.pages.de/~GNU-Pascal/ - gpc-19990118
PGP key on request - 6C 94 45 BE 28 A4 96 - 0E CC E9 12 47 25 82 75
*** Vote against SPAM! ********* http://www.politik-digital.de/spam/ ***
srcdir = .
PC = gpc
PFLAGS = $(EXTRA_PFLAGS) -g -O3 -Wall --automake \
--unit-path=$(srcdir) --unit-path=$(srcdir)/../rts \
--object-path=$(srcdir) --object-path=$(srcdir)/../units \
--executable-path=.
GREPFLAGS = `grep FLAG $$x | sed 's/(\*\ FLAG\ //' | sed 's/\ \*)//'`
MASK = *.pas
all: test
test:
rm -f *.o *.gpm *.gpi a.out *.dat
echo "GPC-TEST-BEGIN"; \
echo "=========================="; \
for x in $(srcdir)/$(MASK) ; do \
xb=`basename $$x`; \
xr=`echo "$$x" | sed -e 's/\.pas/\.run/'` ; \
xi=`echo "$$x" | sed -e 's/\.pas/\.in/'` ; \
if [ `grep -c executable-file-name $$x` -gt 0 ]; then \
aout="" ; \
else \
aout="-o a.out" ; \
fi ; \
rm -f a.out 2>/dev/null ; \
if grep -i "Program.*;" >/dev/null $$x ; then \
if grep WRONG >/dev/null $$x ; then \
$(PC) $(PFLAGS) $(GREPFLAGS) $$aout $$x 2> /dev/null ; \
echo -n "TEST $$xb: " ; \
if [ -f "a.out" ] ; then \
echo -n "failed: " ; \
./a.out ; \
else \
echo "OK" ; \
fi ; \
else \
$(PC) $(PFLAGS) $(GREPFLAGS) $$aout $$x; \
echo -n "TEST $$xb: " ; \
if [ -f $$xr ]; then \
if [ -f $$xi ] ; then \
$$xr < $$xi ; \
else \
$$xr ; \
fi ; \
else \
if [ -f "a.out" ] ; then \
if [ -f $$xi ] ; then \
./a.out $$x < $$xi ; \
else \
./a.out $$x ; \
fi ; \
else \
echo "failed" ; \
fi ; \
fi ; \
fi ; \
fi ; \
done; \
echo "=========================="; \
echo "GPC-TEST-END"
# be sure that GPC-TEST-END starts in a new line ...
clean:
rm -f *.dat *.BAK *.bak *.orig *.o *.gpm *.gpi *.gpc *.s gpc.out make.out \
core a.out b.out magic fjf51 fjf141aa
- Raw text -