Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
BC
public
liblinphone
Commits
6f48b415
Commit
6f48b415
authored
Apr 12, 2016
by
jehan
Browse files
improve presence tests
parent
47e36935
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
35 additions
and
15 deletions
+35
-15
tester/presence_tester.c
tester/presence_tester.c
+35
-15
No files found.
tester/presence_tester.c
View file @
6f48b415
...
...
@@ -164,7 +164,10 @@ static void simple_publish_with_expire(int expires) {
linphone_proxy_config_enable_publish
(
proxy
,
FALSE
);
linphone_proxy_config_done
(
proxy
);
/*fixme PUBLISH state machine is too simple, clear state should only be propagated at API level when 200ok is received*/
/*BC_ASSERT_TRUE(wait_for(marie->lc,marie->lc,&marie->stat.number_of_LinphonePublishProgress,3));*/
wait_for_until
(
marie
->
lc
,
marie
->
lc
,
NULL
,
0
,
2000
);
BC_ASSERT_TRUE
(
wait_for
(
marie
->
lc
,
marie
->
lc
,
&
marie
->
stat
.
number_of_LinphonePublishCleared
,
1
));
linphone_proxy_config_edit
(
proxy
);
...
...
@@ -180,7 +183,7 @@ static void simple_publish_with_expire(int expires) {
BC_ASSERT_TRUE
(
wait_for
(
marie
->
lc
,
marie
->
lc
,
&
marie
->
stat
.
number_of_LinphonePublishOk
,
4
));
linphone_core_manager_destroy
(
marie
);
BC_ASSERT_EQUAL
(
marie
->
stat
.
number_of_LinphonePublishCleared
,
2
,
int
,
"%i"
);
/*fixme we should wait untill 200ok*/
BC_ASSERT_EQUAL
(
marie
->
stat
.
number_of_LinphonePublishCleared
,
2
,
int
,
"%i"
);
BC_ASSERT_EQUAL
(
marie
->
stat
.
number_of_LinphonePublishOk
,
4
,
int
,
"%i"
);
}
...
...
@@ -480,6 +483,7 @@ static void subscriber_no_longer_reachable(void){
LinphoneFriend
*
lf
;
MSList
*
lcs
=
NULL
;
LinphonePresenceModel
*
presence
;
int
previous_number_of_LinphonePresenceActivityOnline
=
0
;
lcs
=
ms_list_append
(
lcs
,
marie
->
lc
);
lcs
=
ms_list_append
(
lcs
,
pauline1
->
lc
);
...
...
@@ -510,6 +514,8 @@ static void subscriber_no_longer_reachable(void){
presence
=
linphone_presence_model_new_with_activity
(
LinphonePresenceActivityBusy
,
NULL
);
linphone_core_set_presence_model
(
pauline1
->
lc
,
presence
);
previous_number_of_LinphonePresenceActivityOnline
=
marie
->
stat
.
number_of_LinphonePresenceActivityOnline
;
/*don't schedule marie to simulate Notify timeout server side*/
wait_for_until
(
pauline1
->
lc
,
NULL
,
0
,
0
,
35000
);
...
...
@@ -523,7 +529,7 @@ static void subscriber_no_longer_reachable(void){
linphone_core_set_presence_model
(
pauline1
->
lc
,
presence
);
/*because subscription not is automatically restarted*/
BC_ASSERT_FALSE
(
wait_for_list
(
lcs
,
&
marie
->
stat
.
number_of_LinphonePresenceActivityOnline
,
2
,
4000
));
BC_ASSERT_FALSE
(
wait_for_list
(
lcs
,
&
marie
->
stat
.
number_of_LinphonePresenceActivityOnline
,
previous_number_of_LinphonePresenceActivityOnline
+
1
,
4000
));
linphone_core_manager_destroy
(
marie
);
linphone_core_manager_destroy
(
pauline1
);
...
...
@@ -743,7 +749,7 @@ static void test_presence_list_base(bool_t enable_compression) {
lcs
=
ms_list_append
(
lcs
,
marie
->
lc
);
lcs
=
ms_list_append
(
lcs
,
pauline
->
lc
);
wait_for_list
(
lcs
,
&
laure
->
stat
.
number_of_NotifyPresenceReceived
,
2
,
2
000
);
wait_for_list
(
lcs
,
&
laure
->
stat
.
number_of_NotifyPresenceReceived
,
2
,
4
000
);
BC_ASSERT_EQUAL
(
laure
->
stat
.
number_of_NotifyPresenceReceived
,
2
,
int
,
"%d"
);
BC_ASSERT_EQUAL
(
linphone_core_get_default_friend_list
(
laure
->
lc
)
->
expected_notification_version
,
1
,
int
,
"%d"
);
lf
=
linphone_friend_list_find_friend_by_uri
(
linphone_core_get_default_friend_list
(
laure
->
lc
),
marie_identity
);
...
...
@@ -769,7 +775,7 @@ static void test_presence_list_base(bool_t enable_compression) {
linphone_friend_list_unref
(
lfl
);
linphone_friend_list_update_subscriptions
(
linphone_core_get_default_friend_list
(
marie
->
lc
),
NULL
,
FALSE
);
wait_for_list
(
lcs
,
&
marie
->
stat
.
number_of_NotifyPresenceReceived
,
1
,
2
000
);
wait_for_list
(
lcs
,
&
marie
->
stat
.
number_of_NotifyPresenceReceived
,
1
,
4
000
);
BC_ASSERT_EQUAL
(
marie
->
stat
.
number_of_NotifyPresenceReceived
,
1
,
int
,
"%d"
);
BC_ASSERT_EQUAL
(
linphone_core_get_default_friend_list
(
marie
->
lc
)
->
expected_notification_version
,
1
,
int
,
"%d"
);
lf
=
linphone_friend_list_find_friend_by_uri
(
linphone_core_get_default_friend_list
(
marie
->
lc
),
laure_identity
);
...
...
@@ -787,7 +793,7 @@ static void test_presence_list_base(bool_t enable_compression) {
linphone_friend_list_unref
(
lfl
);
linphone_friend_list_update_subscriptions
(
linphone_core_get_default_friend_list
(
pauline
->
lc
),
NULL
,
FALSE
);
wait_for_list
(
lcs
,
&
pauline
->
stat
.
number_of_NotifyPresenceReceived
,
1
,
2
000
);
wait_for_list
(
lcs
,
&
pauline
->
stat
.
number_of_NotifyPresenceReceived
,
1
,
4
000
);
BC_ASSERT_EQUAL
(
pauline
->
stat
.
number_of_NotifyPresenceReceived
,
1
,
int
,
"%d"
);
BC_ASSERT_EQUAL
(
linphone_core_get_default_friend_list
(
pauline
->
lc
)
->
expected_notification_version
,
1
,
int
,
"%d"
);
lf
=
linphone_friend_list_find_friend_by_uri
(
linphone_core_get_default_friend_list
(
pauline
->
lc
),
marie_identity
);
...
...
@@ -797,7 +803,7 @@ static void test_presence_list_base(bool_t enable_compression) {
linphone_core_set_presence_model
(
marie
->
lc
,
linphone_core_create_presence_model_with_activity
(
marie
->
lc
,
LinphonePresenceActivityOnThePhone
,
NULL
));
wait_for_list
(
lcs
,
&
laure
->
stat
.
number_of_NotifyPresenceReceived
,
4
,
2
000
);
wait_for_list
(
lcs
,
&
laure
->
stat
.
number_of_NotifyPresenceReceived
,
4
,
4
000
);
/* The number of PresenceReceived events can be 3 or 4 here. TODO: ideally it should always be 3. */
BC_ASSERT_GREATER
(
laure
->
stat
.
number_of_NotifyPresenceReceived
,
3
,
int
,
"%d"
);
BC_ASSERT_LOWER
(
laure
->
stat
.
number_of_NotifyPresenceReceived
,
4
,
int
,
"%d"
);
...
...
@@ -805,7 +811,7 @@ static void test_presence_list_base(bool_t enable_compression) {
lf
=
linphone_friend_list_find_friend_by_uri
(
linphone_core_get_default_friend_list
(
laure
->
lc
),
marie_identity
);
BC_ASSERT_EQUAL
(
linphone_friend_get_status
(
lf
),
LinphoneStatusOnThePhone
,
int
,
"%d"
);
wait_for_list
(
lcs
,
&
pauline
->
stat
.
number_of_NotifyPresenceReceived
,
2
,
2
000
);
wait_for_list
(
lcs
,
&
pauline
->
stat
.
number_of_NotifyPresenceReceived
,
2
,
4
000
);
BC_ASSERT_EQUAL
(
pauline
->
stat
.
number_of_NotifyPresenceReceived
,
2
,
int
,
"%d"
);
BC_ASSERT_EQUAL
(
linphone_core_get_default_friend_list
(
pauline
->
lc
)
->
expected_notification_version
,
2
,
int
,
"%d"
);
lf
=
linphone_friend_list_find_friend_by_uri
(
linphone_core_get_default_friend_list
(
pauline
->
lc
),
marie_identity
);
...
...
@@ -821,20 +827,34 @@ static void test_presence_list_base(bool_t enable_compression) {
reset_counters
(
&
laure
->
stat
);
reset_counters
(
&
marie
->
stat
);
if
(
!
BC_ASSERT_TRUE
(
wait_for_list
(
lcs
,
&
pauline
->
stat
.
number_of_LinphonePresenceActivityOffline
,
1
,
2000
)))
goto
end
;
/*keep in ming long terme presence*/
if
(
!
BC_ASSERT_TRUE
(
wait_for_list
(
lcs
,
&
pauline
->
stat
.
number_of_LinphonePresenceActivityOnline
,
1
,
4000
)))
goto
end
;
lf
=
linphone_friend_list_find_friend_by_uri
(
linphone_core_get_default_friend_list
(
pauline
->
lc
),
marie_identity
);
BC_ASSERT_EQUAL
(
linphone_friend_get_status
(
lf
),
LinphoneStatusOffline
,
int
,
"%d"
);
/*BC_ASSERT_EQUAL(linphone_presence_activity_get_type(linphone_presence_model_get_activity(linphone_friend_get_presence_model(lf)))
, LinphonePresenceActivityOnline, int, "%d"); fixme, should be LinphonePresenceActivityUnknown*/
BC_ASSERT_EQUAL
(
linphone_friend_get_status
(
lf
),
LinphoneStatusOnline
,
int
,
"%d"
);
if
(
!
BC_ASSERT_TRUE
(
wait_for_list
(
lcs
,
&
laure
->
stat
.
number_of_LinphonePresenceActivityOffline
,
2
,
2000
)))
goto
end
;
if
(
!
BC_ASSERT_TRUE
(
wait_for_list
(
lcs
,
&
laure
->
stat
.
number_of_LinphonePresenceActivityOnline
,
2
,
4000
)))
goto
end
;
lf
=
linphone_friend_list_find_friend_by_uri
(
linphone_core_get_default_friend_list
(
laure
->
lc
),
pauline_identity
);
BC_ASSERT_EQUAL
(
linphone_friend_get_status
(
lf
),
LinphoneStatusOffline
,
int
,
"%d"
);
BC_ASSERT_EQUAL
(
linphone_friend_get_status
(
lf
),
LinphoneStatusOnline
,
int
,
"%d"
);
/*BC_ASSERT_EQUAL(linphone_presence_activity_get_type(linphone_presence_model_get_activity(linphone_friend_get_presence_model(lf)))
, LinphonePresenceActivityOnline, int, "%d"); fixme, should be LinphonePresenceActivityUnknown*/
lf
=
linphone_friend_list_find_friend_by_uri
(
linphone_core_get_default_friend_list
(
laure
->
lc
),
marie_identity
);
BC_ASSERT_EQUAL
(
linphone_friend_get_status
(
lf
),
LinphoneStatusOffline
,
int
,
"%d"
);
BC_ASSERT_EQUAL
(
linphone_friend_get_status
(
lf
),
LinphoneStatusOnline
,
int
,
"%d"
);
/*BC_ASSERT_EQUAL(linphone_presence_activity_get_type(linphone_presence_model_get_activity(linphone_friend_get_presence_model(lf)))
, LinphonePresenceActivityOnline, int, "%d"); fixme, should be LinphonePresenceActivityUnknown*/
if
(
!
BC_ASSERT_TRUE
(
wait_for_list
(
lcs
,
&
marie
->
stat
.
number_of_LinphonePresenceActivityO
ff
line
,
1
,
2
000
)))
goto
end
;
if
(
!
BC_ASSERT_TRUE
(
wait_for_list
(
lcs
,
&
marie
->
stat
.
number_of_LinphonePresenceActivityO
n
line
,
1
,
4
000
)))
goto
end
;
lf
=
linphone_friend_list_find_friend_by_uri
(
linphone_core_get_default_friend_list
(
marie
->
lc
),
laure_identity
);
BC_ASSERT_EQUAL
(
linphone_friend_get_status
(
lf
),
LinphoneStatusOffline
,
int
,
"%d"
);
BC_ASSERT_EQUAL
(
linphone_friend_get_status
(
lf
),
LinphoneStatusOnline
,
int
,
"%d"
);
/*BC_ASSERT_EQUAL(linphone_presence_activity_get_type(linphone_presence_model_get_activity(linphone_friend_get_presence_model(lf)))
, LinphonePresenceActivityOnline, int, "%d"); fixme, should be LinphonePresenceActivityUnknown*/
end:
linphone_core_manager_destroy
(
laure
);
...
...
@@ -883,7 +903,7 @@ static void test_presence_list_subscribe_before_publish(void) {
wait_for_list(lcs, &dummy, 1, 2000); /* Wait a little bit for the subscribe to happen */
enable_publish(pauline, TRUE);
wait_for_list(lcs, &pauline->stat.number_of_NotifyPresenceReceived, 1,
2
000);
wait_for_list(lcs, &pauline->stat.number_of_NotifyPresenceReceived, 1,
4
000);
BC_ASSERT_GREATER(laure->stat.number_of_NotifyPresenceReceived, 1, int, "%d");
BC_ASSERT_GREATER(linphone_core_get_default_friend_list(laure->lc)->expected_notification_version, 1, int, "%d");
lf = linphone_friend_list_find_friend_by_uri(linphone_core_get_default_friend_list(laure->lc), pauline_identity);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment