forked from github/server
Merge pull request #202 from badgerman/develop
valgrind test for travis, fix runtests script, fix bad tests
This commit is contained in:
commit
7a65658cc5
|
@ -5,7 +5,7 @@ compiler:
|
||||||
script: s/travis-build
|
script: s/travis-build
|
||||||
before_install:
|
before_install:
|
||||||
- sudo apt-get update -qq
|
- sudo apt-get update -qq
|
||||||
- sudo apt-get install -qq libtolua-dev liblua5.1-dev libncurses5-dev libsqlite3-dev libxml2-dev
|
- sudo apt-get install -qq zlib1g-dev libtolua-dev liblua5.1-dev libncurses5-dev libsqlite3-dev libxml2-dev valgrind
|
||||||
os:
|
os:
|
||||||
- linux
|
- linux
|
||||||
- osx
|
- osx
|
||||||
|
|
|
@ -1,4 +1,7 @@
|
||||||
#!/bin/bash
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
ROOT=$(pwd)
|
ROOT=$(pwd)
|
||||||
while [ ! -d $ROOT/.git ]; do
|
while [ ! -d $ROOT/.git ]; do
|
||||||
ROOT=$(dirname $ROOT)
|
ROOT=$(dirname $ROOT)
|
||||||
|
@ -21,4 +24,5 @@ cd $ROOT
|
||||||
$ROOT/$BIN_DIR/eressea/eressea -v0 scripts/run-tests.lua
|
$ROOT/$BIN_DIR/eressea/eressea -v0 scripts/run-tests.lua
|
||||||
$ROOT/$BIN_DIR/eressea/eressea -v0 scripts/run-tests-e2.lua
|
$ROOT/$BIN_DIR/eressea/eressea -v0 scripts/run-tests-e2.lua
|
||||||
$ROOT/$BIN_DIR/eressea/eressea -v0 scripts/run-tests-e3.lua
|
$ROOT/$BIN_DIR/eressea/eressea -v0 scripts/run-tests-e3.lua
|
||||||
|
|
||||||
cd $OLDWPD
|
cd $OLDWPD
|
||||||
|
|
|
@ -1,18 +1,63 @@
|
||||||
#!/bin/sh
|
#!/bin/sh
|
||||||
|
|
||||||
|
set -e
|
||||||
|
ROOT=`pwd`
|
||||||
|
MACHINE=`uname -m`
|
||||||
|
[ -z "$CC" ] && [ ! -z `which gcc` ] && CC="gcc"
|
||||||
|
[ -z "$CC" ] && [ ! -z `which tcc` ] && CC="tcc"
|
||||||
|
[ -z "$CC" ] && [ ! -z `which cc` ] && CC="cc"
|
||||||
|
BUILD="$ROOT/build-$MACHINE-$CC-Debug"
|
||||||
|
|
||||||
inifile() {
|
inifile() {
|
||||||
|
cd $ROOT
|
||||||
if [ ! -e eressea.ini ]; then
|
if [ ! -e eressea.ini ]; then
|
||||||
cp conf/eressea.ini .
|
cp conf/eressea.ini .
|
||||||
build/iniparser/inifile eressea.ini add lua:paths lunit:scripts
|
$BUILD/iniparser/inifile eressea.ini add lua:paths lunit:scripts
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
[ -d build ] || mkdir build
|
build() {
|
||||||
cd build && cmake .. \
|
cd $BUILD
|
||||||
-DCMAKE_MODULE_PATH=$PWD/../cmake/Modules \
|
cmake -DCMAKE_MODULE_PATH=$ROOT/cmake/Modules -DCMAKE_BUILD_TYPE=Debug ..
|
||||||
-DCMAKE_BUILD_TYPE=Debug .. && \
|
make
|
||||||
make && cd .. && inifile &&
|
}
|
||||||
build/eressea/test_eressea &&
|
|
||||||
build/eressea/eressea -v0 scripts/run-tests.lua
|
test_valgrind_report () {
|
||||||
build/eressea/eressea -v0 scripts/run-tests-e2.lua
|
cd tests
|
||||||
build/eressea/eressea -v0 scripts/run-tests-e3.lua
|
ln -sf ../scripts/config.lua
|
||||||
|
valgrind --suppressions=ubuntu-12_04.supp --error-exitcode=1 $BUILD/eressea/eressea -v0 -t184 ../scripts/reports.lua
|
||||||
|
}
|
||||||
|
|
||||||
|
test_unittests() {
|
||||||
|
$BUILD/eressea/test_eressea
|
||||||
|
}
|
||||||
|
|
||||||
|
cleanup() {
|
||||||
|
cd $ROOT/tests
|
||||||
|
rm -rf reports score eressea.log* config.lua
|
||||||
|
}
|
||||||
|
|
||||||
|
test_server() {
|
||||||
|
cd $ROOT
|
||||||
|
inifile
|
||||||
|
$BUILD/eressea/eressea -v0 scripts/run-tests.lua
|
||||||
|
$BUILD/eressea/eressea -v0 scripts/run-tests-e2.lua
|
||||||
|
$BUILD/eressea/eressea -v0 scripts/run-tests-e3.lua
|
||||||
|
}
|
||||||
|
# information
|
||||||
|
echo "* base directory: $ROOT"
|
||||||
|
echo "* build directory: $BUILD"
|
||||||
|
echo "* lsb_release:"
|
||||||
|
lsb_release -a
|
||||||
|
echo "* zlib1g-dev package:"
|
||||||
|
dpkg -l zlib1g-dev
|
||||||
|
echo
|
||||||
|
|
||||||
|
# build the code
|
||||||
|
[ -d $BUILD ] || mkdir $BUILD
|
||||||
|
build
|
||||||
|
test_unittests
|
||||||
|
test_server
|
||||||
|
test_valgrind_report
|
||||||
|
|
||||||
|
cleanup
|
||||||
|
|
|
@ -19,4 +19,4 @@ require 'lunit'
|
||||||
|
|
||||||
rules = require('eressea.' .. config.rules)
|
rules = require('eressea.' .. config.rules)
|
||||||
result = lunit.main()
|
result = lunit.main()
|
||||||
return result.errors
|
return result.errors + result.failed
|
||||||
|
|
|
@ -20,4 +20,4 @@ require 'lunit'
|
||||||
eressea.settings.set("rules.alliances", "0")
|
eressea.settings.set("rules.alliances", "0")
|
||||||
rules = require('eressea.' .. config.rules)
|
rules = require('eressea.' .. config.rules)
|
||||||
result = lunit.main()
|
result = lunit.main()
|
||||||
return result.errors
|
return result.errors + result.failed
|
||||||
|
|
|
@ -14,4 +14,4 @@ require 'eressea.path'
|
||||||
require 'tests'
|
require 'tests'
|
||||||
require 'lunit'
|
require 'lunit'
|
||||||
result = lunit.main()
|
result = lunit.main()
|
||||||
return result.errors
|
return result.errors + result.failed
|
||||||
|
|
|
@ -8,6 +8,7 @@ function setup()
|
||||||
eressea.settings.set("rules.economy.food", "0")
|
eressea.settings.set("rules.economy.food", "0")
|
||||||
eressea.settings.set("nmr.removenewbie", "0")
|
eressea.settings.set("nmr.removenewbie", "0")
|
||||||
eressea.settings.set("nmr.timeout", "0")
|
eressea.settings.set("nmr.timeout", "0")
|
||||||
|
eressea.settings.set("GiveRestriction", "0")
|
||||||
eressea.settings.set("rules.magic.playerschools", "")
|
eressea.settings.set("rules.magic.playerschools", "")
|
||||||
conf = [[{
|
conf = [[{
|
||||||
"races": {
|
"races": {
|
||||||
|
|
|
@ -204,7 +204,8 @@ static void test_build_building_no_materials(CuTest *tc) {
|
||||||
btype = bt_find("castle");
|
btype = bt_find("castle");
|
||||||
assert(btype);
|
assert(btype);
|
||||||
set_level(u, SK_BUILDING, 1);
|
set_level(u, SK_BUILDING, 1);
|
||||||
CuAssertIntEquals(tc, ENOMATERIALS, build_building(u, btype, 0, 4, 0));
|
u->orders = create_order(K_MAKE, u->faction->locale, 0);
|
||||||
|
CuAssertIntEquals(tc, ENOMATERIALS, build_building(u, btype, 0, 4, u->orders));
|
||||||
CuAssertPtrEquals(tc, 0, u->region->buildings);
|
CuAssertPtrEquals(tc, 0, u->region->buildings);
|
||||||
CuAssertPtrEquals(tc, 0, u->building);
|
CuAssertPtrEquals(tc, 0, u->building);
|
||||||
test_cleanup();
|
test_cleanup();
|
||||||
|
@ -222,7 +223,8 @@ static void test_build_building_with_golem(CuTest *tc) {
|
||||||
assert(btype->construction);
|
assert(btype->construction);
|
||||||
|
|
||||||
set_level(bf.u, SK_BUILDING, 1);
|
set_level(bf.u, SK_BUILDING, 1);
|
||||||
CuAssertIntEquals(tc, 1, build_building(u, btype, 0, 1, 0));
|
u->orders = create_order(K_MAKE, u->faction->locale, 0);
|
||||||
|
CuAssertIntEquals(tc, 1, build_building(u, btype, 0, 1, u->orders));
|
||||||
CuAssertPtrNotNull(tc, u->region->buildings);
|
CuAssertPtrNotNull(tc, u->region->buildings);
|
||||||
CuAssertIntEquals(tc, 1, u->region->buildings->size);
|
CuAssertIntEquals(tc, 1, u->region->buildings->size);
|
||||||
CuAssertIntEquals(tc, 0, u->number);
|
CuAssertIntEquals(tc, 0, u->number);
|
||||||
|
@ -245,7 +247,8 @@ static void test_build_building_success(CuTest *tc) {
|
||||||
|
|
||||||
i_change(&bf.u->items, rtype->itype, 1);
|
i_change(&bf.u->items, rtype->itype, 1);
|
||||||
set_level(u, SK_BUILDING, 1);
|
set_level(u, SK_BUILDING, 1);
|
||||||
CuAssertIntEquals(tc, 1, build_building(u, btype, 0, 4, 0));
|
u->orders = create_order(K_MAKE, u->faction->locale, 0);
|
||||||
|
CuAssertIntEquals(tc, 1, build_building(u, btype, 0, 4, u->orders));
|
||||||
CuAssertPtrNotNull(tc, u->region->buildings);
|
CuAssertPtrNotNull(tc, u->region->buildings);
|
||||||
CuAssertPtrEquals(tc, u->region->buildings, u->building);
|
CuAssertPtrEquals(tc, u->region->buildings, u->building);
|
||||||
CuAssertIntEquals(tc, 1, u->building->size);
|
CuAssertIntEquals(tc, 1, u->building->size);
|
||||||
|
|
|
@ -65,6 +65,9 @@ static void release_data(order_data * data)
|
||||||
|
|
||||||
void replace_order(order ** dlist, order * orig, const order * src)
|
void replace_order(order ** dlist, order * orig, const order * src)
|
||||||
{
|
{
|
||||||
|
assert(src);
|
||||||
|
assert(orig);
|
||||||
|
assert(dlist);
|
||||||
while (*dlist != NULL) {
|
while (*dlist != NULL) {
|
||||||
order *dst = *dlist;
|
order *dst = *dlist;
|
||||||
if (dst->data == orig->data) {
|
if (dst->data == orig->data) {
|
||||||
|
|
|
@ -143,6 +143,21 @@ static void test_skip_token(CuTest *tc) {
|
||||||
CuAssertStrEquals(tc, 0, getstrtoken());
|
CuAssertStrEquals(tc, 0, getstrtoken());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void test_replace_order(CuTest *tc) {
|
||||||
|
order *orders = 0, *orig, *repl;
|
||||||
|
struct locale * lang = get_or_create_locale("en");
|
||||||
|
|
||||||
|
orig = create_order(K_MAKE, lang, 0);
|
||||||
|
repl = create_order(K_ALLY, lang, 0);
|
||||||
|
replace_order(&orders, orig, repl);
|
||||||
|
CuAssertPtrEquals(tc, 0, orders);
|
||||||
|
orders = orig;
|
||||||
|
replace_order(&orders, orig, repl);
|
||||||
|
CuAssertPtrNotNull(tc, orders);
|
||||||
|
CuAssertPtrEquals(tc, 0, orders->next);
|
||||||
|
CuAssertIntEquals(tc, getkeyword(repl), getkeyword(orders));
|
||||||
|
}
|
||||||
|
|
||||||
CuSuite *get_order_suite(void)
|
CuSuite *get_order_suite(void)
|
||||||
{
|
{
|
||||||
CuSuite *suite = CuSuiteNew();
|
CuSuite *suite = CuSuiteNew();
|
||||||
|
@ -152,6 +167,7 @@ CuSuite *get_order_suite(void)
|
||||||
SUITE_ADD_TEST(suite, test_parse_make_temp);
|
SUITE_ADD_TEST(suite, test_parse_make_temp);
|
||||||
SUITE_ADD_TEST(suite, test_parse_maketemp);
|
SUITE_ADD_TEST(suite, test_parse_maketemp);
|
||||||
SUITE_ADD_TEST(suite, test_init_order);
|
SUITE_ADD_TEST(suite, test_init_order);
|
||||||
|
SUITE_ADD_TEST(suite, test_replace_order);
|
||||||
SUITE_ADD_TEST(suite, test_skip_token);
|
SUITE_ADD_TEST(suite, test_skip_token);
|
||||||
SUITE_ADD_TEST(suite, test_getstrtoken);
|
SUITE_ADD_TEST(suite, test_getstrtoken);
|
||||||
return suite;
|
return suite;
|
||||||
|
|
Binary file not shown.
|
@ -0,0 +1,14 @@
|
||||||
|
[eressea]
|
||||||
|
base = .
|
||||||
|
report = reports
|
||||||
|
verbose = 0
|
||||||
|
lomem = 0
|
||||||
|
debug = 0
|
||||||
|
memcheck = 0
|
||||||
|
locales = de,en
|
||||||
|
|
||||||
|
[lua]
|
||||||
|
install = ..
|
||||||
|
paths = lunit:scripts
|
||||||
|
maxnmrs = 20
|
||||||
|
rules = e2
|
|
@ -0,0 +1,16 @@
|
||||||
|
{
|
||||||
|
zlib1g-dev-1:1.2.3.4.dfsg
|
||||||
|
Memcheck:Cond
|
||||||
|
fun:inflateReset2
|
||||||
|
fun:inflateInit2_
|
||||||
|
obj:/usr/lib/x86_64-linux-gnu/libxml2.so.2.8.0
|
||||||
|
fun:__libxml2_xzread
|
||||||
|
obj:/usr/lib/x86_64-linux-gnu/libxml2.so.2.8.0
|
||||||
|
fun:xmlParserInputBufferGrow
|
||||||
|
fun:xmlParserInputGrow
|
||||||
|
obj:/usr/lib/x86_64-linux-gnu/libxml2.so.2.8.0
|
||||||
|
fun:xmlParseDocument
|
||||||
|
obj:/usr/lib/x86_64-linux-gnu/libxml2.so.2.8.0
|
||||||
|
fun:read_xml
|
||||||
|
fun:init_data
|
||||||
|
}
|
Loading…
Reference in New Issue