diff --git a/tester/CMakeLists.txt b/tester/CMakeLists.txt
index 32833ac16..ed7fa481d 100644
--- a/tester/CMakeLists.txt
+++ b/tester/CMakeLists.txt
@@ -198,6 +198,7 @@ set(SOURCE_FILES_C
set(SOURCE_FILES_CXX
clonable-object-tester.cpp
conference-event-tester.cpp
+ conference-tester.cpp
cpim-tester.cpp
events-db-tester.cpp
property-container-tester.cpp
@@ -211,7 +212,7 @@ if(APPLE)
endif()
# TODO: Remove me later!
-list(REMOVE_ITEM STRICT_OPTIONS_CPP "-Wconversion" "-Werror=conversion")
+list(REMOVE_ITEM STRICT_OPTIONS_CPP "-Wconversion" "-Werror=conversion" "-Wcast-align" "-Werror=cast-align")
bc_apply_compile_flags(SOURCE_FILES_C STRICT_OPTIONS_CPP STRICT_OPTIONS_C)
bc_apply_compile_flags(SOURCE_FILES_CXX STRICT_OPTIONS_CPP STRICT_OPTIONS_CXX)
diff --git a/tester/conference-tester.cpp b/tester/conference-tester.cpp
new file mode 100644
index 000000000..6a3261989
--- /dev/null
+++ b/tester/conference-tester.cpp
@@ -0,0 +1,90 @@
+/*
+ * conference-event-tester.cpp
+ * Copyright (C) 2017 Belledonne Communications SARL
+ *
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation, either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see .
+ */
+
+#include "linphone/core.h"
+#include "private.h"
+#include "liblinphone_tester.h"
+#include "conference/conference-listener.h"
+#include "conference/local-conference.h"
+#include "conference/remote-conference.h"
+
+using namespace LinphonePrivate;
+using namespace std;
+
+static string first_invite = ""
+""
+""
+" "
+" "
+" "
+" "
+" "
+"
"
+"";
+
+static string alice_addr = "sip:alice@sip.linphone.org";
+static string bob_addr = "sip:bob@sip.linphone.org";
+static string john_addr = "sip:john-doe@sip.linphone.org";
+static string anne_addr = "sip:anne-onyme@sip.linphone.org";
+static string sarah_addr = "sip:sarah-bache@sip.linphone.org";
+
+static string bob_name = "Le Bricoleur";
+static string sarah_name = "Sarah";
+
+void first_invite_parsing() {
+ LinphoneCoreManager *marie = linphone_core_manager_new("marie_rc");
+ Address marie_identity(linphone_address_as_string_uri_only(marie->identity));
+ LocalConference localConf(marie->lc, marie_identity);
+ list> addresses = localConf.parseResourceLists(first_invite);
+ BC_ASSERT_EQUAL(addresses.size(), 5, int, "%d");
+ if(addresses.size() != 5) {
+ goto end;
+ }
+ BC_ASSERT_TRUE(addresses.front()->asStringUriOnly() == alice_addr);
+ addresses.pop_front();
+
+ BC_ASSERT_TRUE(addresses.front()->asStringUriOnly() == bob_addr);
+ BC_ASSERT_TRUE(addresses.front()->getDisplayName() == bob_name);
+ addresses.pop_front();
+
+ BC_ASSERT_TRUE(addresses.front()->asStringUriOnly() == john_addr);
+ addresses.pop_front();
+
+ BC_ASSERT_TRUE(addresses.front()->asStringUriOnly() == anne_addr);
+ addresses.pop_front();
+
+ BC_ASSERT_TRUE(addresses.front()->asStringUriOnly() == sarah_addr);
+ BC_ASSERT_TRUE(addresses.front()->getDisplayName() == sarah_name);
+ addresses.pop_front();
+
+end:
+ linphone_core_manager_destroy(marie);
+}
+
+test_t conference_tests[] = {
+ TEST_NO_TAG("First invite parsing", first_invite_parsing)
+};
+
+test_suite_t conference_test_suite = {
+ "Conference",
+ nullptr,
+ nullptr,
+ liblinphone_tester_before_each,
+ liblinphone_tester_after_each,
+ sizeof(conference_tests) / sizeof(conference_tests[0]), conference_tests
+};
diff --git a/tester/liblinphone_tester.h b/tester/liblinphone_tester.h
index 047fae3ed..8de7b8b61 100644
--- a/tester/liblinphone_tester.h
+++ b/tester/liblinphone_tester.h
@@ -44,6 +44,7 @@ extern test_suite_t call_test_suite;
extern test_suite_t call_video_test_suite;
extern test_suite_t clonable_object_test_suite;
extern test_suite_t conference_event_test_suite;
+extern test_suite_t conference_test_suite;
extern test_suite_t cpim_test_suite;
extern test_suite_t dtmf_test_suite;
extern test_suite_t event_test_suite;
diff --git a/tester/tester.c b/tester/tester.c
index 1f8f94288..7f2d684bc 100644
--- a/tester/tester.c
+++ b/tester/tester.c
@@ -565,6 +565,7 @@ void liblinphone_tester_add_suites() {
bc_tester_add_suite(&stun_test_suite);
bc_tester_add_suite(&event_test_suite);
bc_tester_add_suite(&conference_event_test_suite);
+ bc_tester_add_suite(&conference_test_suite);
bc_tester_add_suite(&flexisip_test_suite);
bc_tester_add_suite(&remote_provisioning_test_suite);
bc_tester_add_suite(&quality_reporting_test_suite);