author | truelight |
Fri, 19 Oct 2007 11:32:20 +0000 | |
branch | noai |
changeset 9711 | c8b427215c9d |
parent 9704 | 197cb8c6ae17 |
child 9823 | 0b7f816cf46f |
permissions | -rwxr-xr-x |
9461
ab1079656642
(svn r9293) [NoAI] -Add: added regression.sav, regression.txt and a small script to test if the regression passes. Make sure to disable any other AI when running this!
truelight
parents:
diff
changeset
|
1 |
#!/bin/sh |
ab1079656642
(svn r9293) [NoAI] -Add: added regression.sav, regression.txt and a small script to test if the regression passes. Make sure to disable any other AI when running this!
truelight
parents:
diff
changeset
|
2 |
|
9470
4593c953a276
(svn r9308) [NoAI] -Change: make the regression scripts run without any user intervention; not manual enabling and disabling of AIs
rubidium
parents:
9469
diff
changeset
|
3 |
if ! [ -f ai/regression/regression.nut ]; then |
9461
ab1079656642
(svn r9293) [NoAI] -Add: added regression.sav, regression.txt and a small script to test if the regression passes. Make sure to disable any other AI when running this!
truelight
parents:
diff
changeset
|
4 |
echo "Make sure you are in the root of OpenTTD before starting this script." |
ab1079656642
(svn r9293) [NoAI] -Add: added regression.sav, regression.txt and a small script to test if the regression passes. Make sure to disable any other AI when running this!
truelight
parents:
diff
changeset
|
5 |
exit 1 |
ab1079656642
(svn r9293) [NoAI] -Add: added regression.sav, regression.txt and a small script to test if the regression passes. Make sure to disable any other AI when running this!
truelight
parents:
diff
changeset
|
6 |
fi |
ab1079656642
(svn r9293) [NoAI] -Add: added regression.sav, regression.txt and a small script to test if the regression passes. Make sure to disable any other AI when running this!
truelight
parents:
diff
changeset
|
7 |
|
9470
4593c953a276
(svn r9308) [NoAI] -Change: make the regression scripts run without any user intervention; not manual enabling and disabling of AIs
rubidium
parents:
9469
diff
changeset
|
8 |
cp ai/regression/regression.nut ai/regression/main.nut |
9461
ab1079656642
(svn r9293) [NoAI] -Add: added regression.sav, regression.txt and a small script to test if the regression passes. Make sure to disable any other AI when running this!
truelight
parents:
diff
changeset
|
9 |
|
9481
39ba1c349d3d
(svn r9330) [NoAI] -Add: added -r as param for regression run.sh script to start the game, so you can check if it build what we expected him to for yourself
truelight
parents:
9470
diff
changeset
|
10 |
params="" |
9663
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
11 |
gdb="" |
9481
39ba1c349d3d
(svn r9330) [NoAI] -Add: added -r as param for regression run.sh script to start the game, so you can check if it build what we expected him to for yourself
truelight
parents:
9470
diff
changeset
|
12 |
if [ "$1" != "-r" ]; then |
9704 | 13 |
params="-snull -mnull -vnull:ticks=10000" |
9481
39ba1c349d3d
(svn r9330) [NoAI] -Add: added -r as param for regression run.sh script to start the game, so you can check if it build what we expected him to for yourself
truelight
parents:
9470
diff
changeset
|
14 |
fi |
9663
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
15 |
if [ "$1" = "-g" ]; then |
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
16 |
gdb="gdb --ex run --args " |
9461
ab1079656642
(svn r9293) [NoAI] -Add: added regression.sav, regression.txt and a small script to test if the regression passes. Make sure to disable any other AI when running this!
truelight
parents:
diff
changeset
|
17 |
fi |
9663
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
18 |
if [ -n "$gdb" ]; then |
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
19 |
$gdb ./openttd -a regression -x -c ai/regression/regression.cfg $params -g ai/regression/regression.sav |
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
20 |
else |
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
21 |
./openttd -a regression -x -c ai/regression/regression.cfg $params -g ai/regression/regression.sav 2>tmp.stderr | awk '{ gsub("0x\\(nil\\)", "0x00000000", $0); print $0; }' > tmp.regression |
9523
cacf2f05f79b
(svn r9443) [NoAI] -Fix: make regression now shows stderr output at the bottom (else it got lost really fast)
truelight
parents:
9481
diff
changeset
|
22 |
fi |
9663
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
23 |
|
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
24 |
if [ -z "$gdb" ]; then |
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
25 |
res="`diff -u ai/regression/regression.txt tmp.regression`" |
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
26 |
if [ -z "$res" ]; then |
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
27 |
echo "Regression test passed!" |
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
28 |
else |
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
29 |
echo "Regression test failed! Difference:" |
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
30 |
echo "$res" |
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
31 |
fi |
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
32 |
echo "" |
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
33 |
stderr="`cat tmp.stderr`" |
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
34 |
if [ -n "$stderr" ]; then |
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
35 |
echo "OpenTTD gave this on stderr:" |
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
36 |
echo "$stderr" |
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
37 |
fi |
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
38 |
echo "" |
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
39 |
echo "Regression test done" |
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
40 |
fi |
9461
ab1079656642
(svn r9293) [NoAI] -Add: added regression.sav, regression.txt and a small script to test if the regression passes. Make sure to disable any other AI when running this!
truelight
parents:
diff
changeset
|
41 |
|
9523
cacf2f05f79b
(svn r9443) [NoAI] -Fix: make regression now shows stderr output at the bottom (else it got lost really fast)
truelight
parents:
9481
diff
changeset
|
42 |
rm -f ai/regression/main.nut tmp.stderr |
9470
4593c953a276
(svn r9308) [NoAI] -Change: make the regression scripts run without any user intervention; not manual enabling and disabling of AIs
rubidium
parents:
9469
diff
changeset
|
43 |
|
9464
6c2cbcb79ff7
(svn r9296) [NoAI] -Fix: regression test now replaced 0x(nil) with 0x0000000 to make everything the same on all platforms
truelight
parents:
9463
diff
changeset
|
44 |
if [ "$1" != "-k" ]; then |
6c2cbcb79ff7
(svn r9296) [NoAI] -Fix: regression test now replaced 0x(nil) with 0x0000000 to make everything the same on all platforms
truelight
parents:
9463
diff
changeset
|
45 |
rm -f tmp.regression |
6c2cbcb79ff7
(svn r9296) [NoAI] -Fix: regression test now replaced 0x(nil) with 0x0000000 to make everything the same on all platforms
truelight
parents:
9463
diff
changeset
|
46 |
fi |