author | truebrain |
Fri, 18 Jul 2008 00:15:14 +0000 | |
branch | noai |
changeset 11165 | a725845fcc01 |
parent 11101 | 94e33f3174a6 |
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 |
10650
30fc5395b1b8
(svn r13194) [NoAI] -Change [API CHANGE]: split 'main.nut' in 'info.nut' and 'main.nut'. The first contains the information about the AI, the second the AI. This avoid several problems we had. It also speeds up OpenTTD start-up.
truebrain
parents:
10648
diff
changeset
|
9 |
cp ai/regression/regression_info.nut ai/regression/info.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
|
10 |
|
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
|
11 |
params="" |
9663
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
12 |
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
|
13 |
if [ "$1" != "-r" ]; then |
11101
94e33f3174a6
(svn r13659) [NoAI] -Fix: give regression a bit more time to do his job, as the new scheduler makes it take too long ;)
truebrain
parents:
10674
diff
changeset
|
14 |
params="-snull -mnull -vnull:ticks=30000" |
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
|
15 |
fi |
9663
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
16 |
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
|
17 |
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
|
18 |
fi |
9663
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
19 |
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
|
20 |
$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
|
21 |
else |
10674
542470cee8a2
(svn r13218) [NoAI] -Add: added a [S/E/P/W/I] in front of DEBUG messages from AILog, to indicate the level of message (the one that goes to the stdout) (request by Mchl)
truebrain
parents:
10650
diff
changeset
|
22 |
./openttd -a regression -x -c ai/regression/regression.cfg $params -g ai/regression/regression.sav -d ai=2 2>&1 | awk '{ gsub("0x\\(nil\\)", "0x00000000", $0); gsub("^dbg: \\[ai\\]", "", $0); gsub("^ ", "ERROR: ", $0); gsub("ERROR: \\[1\\] ", "", $0); gsub("\\[P\\] ", "", $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
|
23 |
fi |
9663
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
24 |
|
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
25 |
if [ -z "$gdb" ]; then |
10648 | 26 |
res="`diff -ub ai/regression/regression.txt tmp.regression`" |
9663
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
27 |
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
|
28 |
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
|
29 |
else |
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
30 |
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
|
31 |
echo "$res" |
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
32 |
fi |
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
33 |
echo "" |
f854f05bbbce
(svn r10576) [NoAI] -Add: added -g to regression test script, to start gdb over regression-test
truelight
parents:
9644
diff
changeset
|
34 |
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
|
35 |
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
|
36 |
|
10650
30fc5395b1b8
(svn r13194) [NoAI] -Change [API CHANGE]: split 'main.nut' in 'info.nut' and 'main.nut'. The first contains the information about the AI, the second the AI. This avoid several problems we had. It also speeds up OpenTTD start-up.
truebrain
parents:
10648
diff
changeset
|
37 |
rm -f ai/regression/main.nut ai/regression/info.nut |
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
|
38 |
|
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
|
39 |
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
|
40 |
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
|
41 |
fi |