int switch_user_test(int user_id)
{
- int new_user = -1 ;
test_user_data test_switch_ud;
test_switch_ud.callback_result = -1;
}
g_mutex_lock(&mutex);
- subsession_get_current_user(SESSION_UID, &new_user);
+ int new_user;
+ int r = subsession_get_current_user(SESSION_UID, &new_user);
+ if (r != SUBSESSION_ERROR_NONE)
+ return -1;
return new_user;
}
int add_user_res = subsession_add_user(SESSION_UID, i,
test_reply_adduser_callback, (void *)&userD[i]);
- if (add_user_res != 0)
+ if (add_user_res != SUBSESSION_ERROR_NONE)
{
printf("Error: subsession_add_user result is %d\n", add_user_res);
return EXIT_FAILURE;
int registered_users;
int *userlist;
///===================================///
- subsession_get_user_list(SESSION_UID, (int **)&userlist, ®istered_users);
+ int r = subsession_get_user_list(SESSION_UID, (int **)&userlist, ®istered_users);
+ if (r != SUBSESSION_ERROR_NONE) {
+ printf("Error getting user list: %d\n", r);
+ return EXIT_FAILURE;
+ }
+
printf("No of registered users [%d/%d]...", registered_users, noOfUsers);
if (noOfUsers == registered_users)
green_print("ok");
else
{
- printf("Register event callback error\n");
+ printf("Failed to register some users (%d expected, got %d)\n", noOfUsers, registered_users);
return EXIT_FAILURE;
}
callbackCount = 0;
test_user_data_cb_t data;
- subsession_register_event_callback(SESSION_UID, SUBSESSION_SWITCH_USER_COMPLETION,
+ r = subsession_register_event_callback(SESSION_UID, SUBSESSION_SWITCH_USER_COMPLETION,
test_subsession_switch_user_completion_callback, (void *)&data);
+ if (r != SUBSESSION_ERROR_NONE) {
+ printf("Error registering switch user completion callback: %d\n", r);
+ return EXIT_FAILURE;
+ }
for (int i = firstUser; i < registered_users + firstUser; ++i)
{
green_print("done");
- printf("Register event callback test [%d/%d]...",
- g_atomic_int_get(&callbackCount), registered_users);
- if (g_atomic_int_get(&callbackCount) == registered_users)
+ printf("Register event callback test... ");
+ int cc = g_atomic_int_get(&callbackCount);
+ if (cc == registered_users)
green_print("ok");
else
{
- printf("Register event callback error\n");
+ printf("Failed to call all callbacks (%d expected, got %d)\n", registered_users, cc);
return EXIT_FAILURE;
}
///===================================///
printf("Subsession unregister event callback test...");
callbackCount = 0;
- subsession_unregister_event_callback(SESSION_UID, SUBSESSION_SWITCH_USER_COMPLETION);
+ r = subsession_unregister_event_callback(SESSION_UID, SUBSESSION_SWITCH_USER_COMPLETION);
+ if (r != SUBSESSION_ERROR_NONE) {
+ printf("Error unregistering switch user completion callback: %d\n", r);
+ return EXIT_FAILURE;
+ }
+
for (int i = firstUser; i < registered_users + firstUser; ++i)
{
int res = switch_user_test(i);
}
}
- if (g_atomic_int_get(&callbackCount) == 0)
+
+ cc = g_atomic_int_get(&callbackCount);
+ if (cc == 0)
green_print("done");
else
{
- printf("Register event callback error\n");
+ printf("Failed to unregister all callbacks (%d went through)\n", cc);
return EXIT_FAILURE;
}
+
///======================================///
printf("Removing users...");
int end_res = switch_user_test(0);
test_remove_ud.callback_result = -1;
int remove_user_res = subsession_remove_user(SESSION_UID, i,
test_reply_removeuser_callback, (void *)&test_remove_ud);
- if (remove_user_res != 0)
+ if (remove_user_res != SUBSESSION_ERROR_NONE)
{
printf("removing user %d failed code: %d\n", i,remove_user_res);
return EXIT_FAILURE;