diff --git a/scripts/tests/e2/e2features.lua b/scripts/tests/e2/e2features.lua index 776537671..4758fce39 100644 --- a/scripts/tests/e2/e2features.lua +++ b/scripts/tests/e2/e2features.lua @@ -486,3 +486,13 @@ function test_rising_undead() assert_equal(2, u.number) assert_equal(u.number, u:get_item('rustysword')) end + +function test_dwarf_mining() + local f = faction.create('dwarf') + local r = region.create(0, 0, 'plain') + local u = unit.create(f, r) + u.name = 'Xolgrim' + u:set_skill('mining', 2) + assert_equal(2, u:get_skill('mining')) + assert_equal(4, u:eff_skill('mining')) +end diff --git a/src/economy.test.c b/src/economy.test.c index 3b5745be4..f734c0090 100644 --- a/src/economy.test.c +++ b/src/economy.test.c @@ -85,13 +85,15 @@ static void test_steal_okay(CuTest * tc) { struct steal env; race *rc; struct terrain_type *ter; + message *msg; test_setup(); ter = test_create_terrain("plain", LAND_REGION); rc = test_create_race("human"); rc->flags = 0; setup_steal(&env, ter, rc); - CuAssertPtrEquals(tc, 0, steal_message(env.u, 0)); + CuAssertPtrEquals(tc, NULL, msg = steal_message(env.u, 0)); + msg_release(msg); test_teardown(); } @@ -739,6 +741,7 @@ static void test_expand_production(CuTest *tc) { CuAssertPtrEquals(tc, u, results[0]->unit); CuAssertPtrEquals(tc, u, results[1]->unit); CuAssertIntEquals(tc, 0, u->n); + free(results); test_teardown(); } diff --git a/src/give.test.c b/src/give.test.c index d02c27e6f..fb5095f06 100644 --- a/src/give.test.c +++ b/src/give.test.c @@ -40,12 +40,15 @@ static void setup_give(struct give *env) { env->r = test_create_region(0, 0, ter); env->src = test_create_unit(env->f1, env->r); - env->dst = env->f2 ? test_create_unit(env->f2, env->r) : 0; env->itype = it_get_or_create(rt_get_or_create("money")); env->itype->flags |= ITF_HERB; - if (env->f1 && env->f2) { + if (env->f2) { ally * al = ally_add(&env->f2->allies, env->f1); al->status = HELP_GIVE; + env->dst = test_create_unit(env->f2, env->r); + } + else { + env->dst = NULL; } if (env->lang) { locale_setstring(env->lang, env->itype->rtype->_name, "SILBER"); @@ -139,10 +142,12 @@ static void test_give_unit_to_ocean(CuTest * tc) { static void test_give_men(CuTest * tc) { struct give env = { 0 }; + message * msg; test_setup_ex(tc); env.f2 = env.f1 = test_create_faction(NULL); setup_give(&env); - CuAssertPtrEquals(tc, 0, give_men(1, env.src, env.dst, NULL)); + CuAssertPtrEquals(tc, NULL, msg = give_men(1, env.src, env.dst, NULL)); + msg_release(msg); CuAssertIntEquals(tc, 2, env.dst->number); CuAssertIntEquals(tc, 0, env.src->number); test_teardown(); @@ -222,10 +227,13 @@ static void test_give_men_in_ocean(CuTest * tc) { static void test_give_men_too_many(CuTest * tc) { struct give env = { 0 }; + message * msg; + test_setup_ex(tc); env.f2 = env.f1 = test_create_faction(NULL); setup_give(&env); - CuAssertPtrEquals(tc, 0, give_men(2, env.src, env.dst, NULL)); + CuAssertPtrEquals(tc, NULL, msg = give_men(2, env.src, env.dst, NULL)); + msg_release(msg); CuAssertIntEquals(tc, 2, env.dst->number); CuAssertIntEquals(tc, 0, env.src->number); test_teardown(); diff --git a/src/kernel/messages.test.c b/src/kernel/messages.test.c index c017f6ec1..f068f66e7 100644 --- a/src/kernel/messages.test.c +++ b/src/kernel/messages.test.c @@ -78,6 +78,7 @@ static void test_merge_split(CuTest *tc) { static void test_noerror(CuTest *tc) { unit *u; struct locale *lang; + message *msg; test_setup(); lang = test_create_locale(); @@ -85,8 +86,10 @@ static void test_noerror(CuTest *tc) { u->thisorder = parse_order("!@move", lang); CuAssertIntEquals(tc, K_MOVE | CMD_QUIET | CMD_PERSIST, u->thisorder->command); CuAssertTrue(tc, !is_persistent(u->thisorder)); - CuAssertPtrEquals(tc, NULL, msg_error(u, u->thisorder, 100)); - CuAssertPtrEquals(tc, NULL, msg_feedback(u, u->thisorder, "error_unit_not_found", NULL)); + CuAssertPtrEquals(tc, NULL, msg = msg_error(u, u->thisorder, 100)); + msg_release(msg); + CuAssertPtrEquals(tc, NULL, msg = msg_feedback(u, u->thisorder, "error_unit_not_found", NULL)); + msg_release(msg); test_teardown(); } diff --git a/src/kernel/order.test.c b/src/kernel/order.test.c index 585b16798..3f359e834 100644 --- a/src/kernel/order.test.c +++ b/src/kernel/order.test.c @@ -239,6 +239,7 @@ static void test_is_persistent(CuTest *tc) { ord = parse_order("@invalid", lang); CuAssertPtrEquals(tc, NULL, ord); + free_order(ord); ord = parse_order("give", lang); CuAssertIntEquals(tc, K_GIVE, ord->command); @@ -290,6 +291,7 @@ static void test_is_silent(CuTest *tc) { ord = parse_order("@invalid", lang); CuAssertPtrEquals(tc, NULL, ord); + free_order(ord); ord = parse_order("// comment", lang); CuAssertTrue(tc, is_persistent(ord));