Merge branch 'master' into develop

Conflicts:
	src/buildno.h
This commit is contained in:
Enno Rehling 2015-06-21 18:32:10 +02:00
commit 6a42b6231e
4 changed files with 23 additions and 1 deletions

View File

@ -1,3 +1,3 @@
#define VERSION_MAJOR 3
#define VERSION_MINOR 6
#define VERSION_BUILD 0
#define VERSION_BUILD 1

View File

@ -55,6 +55,9 @@ static void test_alliance_join(CuTest *tc) {
setalliance(fix.f2, al);
CuAssertPtrEquals(tc, fix.f1, alliance_get_leader(al));
CuAssertTrue(tc, is_allied(fix.f1, fix.f2));
setalliance(fix.f1, 0);
CuAssertPtrEquals(tc, fix.f2, alliance_get_leader(al));
CuAssertTrue(tc, !is_allied(fix.f1, fix.f2));
test_cleanup();
}

View File

@ -651,6 +651,9 @@ void remove_empty_factions(void)
*fp = f->next;
funhash(f);
free_faction(f);
if (f->alliance && f->alliance->_leader == f) {
setalliance(f, 0);
}
free(f);
}
else

View File

@ -1,6 +1,7 @@
#include <platform.h>
#include <kernel/ally.h>
#include <kernel/alliance.h>
#include <kernel/faction.h>
#include <kernel/race.h>
#include <kernel/region.h>
@ -30,6 +31,20 @@ static void test_remove_empty_factions_allies(CuTest *tc) {
test_cleanup();
}
static void test_remove_empty_factions_alliance(CuTest *tc) {
faction *f;
struct alliance *al;
test_cleanup();
f = test_create_faction(0);
al = makealliance(0, "Hodor");
setalliance(f, al);
CuAssertPtrEquals(tc, f, alliance_get_leader(al));
remove_empty_factions();
CuAssertPtrEquals(tc, 0, al->_leader);
test_cleanup();
}
static void test_remove_empty_factions(CuTest *tc) {
faction *f, *fm;
int fno;
@ -160,6 +175,7 @@ CuSuite *get_faction_suite(void)
SUITE_ADD_TEST(suite, test_addfaction);
SUITE_ADD_TEST(suite, test_remove_empty_factions);
SUITE_ADD_TEST(suite, test_remove_empty_factions_allies);
SUITE_ADD_TEST(suite, test_remove_empty_factions_alliance);
SUITE_ADD_TEST(suite, test_remove_dead_factions);
SUITE_ADD_TEST(suite, test_get_monsters);
SUITE_ADD_TEST(suite, test_set_origin);