12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- #!/bin/bash
- # Generates the tests in tests/test/cg/variants by
- # a) generating the test programs
- # b) compiling them with kylix and running them
- # c) changing them based on the Kylix compilation and running result, so
- # they become self-checking
- # Only tested under Linux with Kylix installed, might also work under cygwin
- ./genvartests
- for file in tvarol*.pp
- do
- dcc $file
- if [ $? -ne 0 ]; then
- echo '{ %fail }' > $file.new
- cat $file >> $file.new
- mv $file.new $file
- else
- ./`basename $file .pp` > output
- if grep XXX output >/dev/null; then
- sed -e "s/writeln('YYY')/halt(1)/" < $file > $file.new
- mv $file.new $file
- fi
- if grep YYY output >/dev/null; then
- sed -e "s/writeln('XXX')/halt(1)/" < $file > $file.new
- mv $file.new $file
- fi
- if grep VVV output >/dev/null; then
- sed -e "s/writeln('COMPFAILV')/raise tobject.create/" < $file > $file.new
- else
- sed -e "s/writeln('VVV')/halt(1)/" < $file > $file.new
- fi
- mv $file.new $file
- if grep QQQ output >/dev/null; then
- sed -e "s/writeln('COMPFAILQ')/raise tobject.create/" < $file > $file.new
- else
- sed -e "s/writeln('QQQ')/halt(1)/" < $file > $file.new
- fi
- mv $file.new $file
- fi
- done
|