static void linphone_vcard_import_a_lot_of_friends_test(void) { LinphoneCoreManager* manager = linphone_core_manager_new2("empty_rc", FALSE); LinphoneFriendList *lfl = linphone_core_get_default_friend_list(manager->lc); char *import_filepath = bc_tester_res("vcards/thousand_vcards.vcf"); clock_t start, end; double elapsed = 0; const bctbx_list_t *friends = NULL; FILE *infile = NULL; char *buffer = NULL; long numbytes = 0; size_t readbytes; start = clock(); linphone_friend_list_import_friends_from_vcard4_file(lfl, import_filepath); end = clock(); friends = linphone_friend_list_get_friends(lfl); BC_ASSERT_EQUAL((unsigned int)bctbx_list_size(friends), 1000, unsigned int, "%u"); // Now that we accept Friends without a SIP URI, the result must be equal to 1000 elapsed = (double)(end - start); ms_message("Imported a thousand of vCards from file in %f seconds", elapsed / CLOCKS_PER_SEC); lfl = linphone_core_create_friend_list(manager->lc); infile = fopen(import_filepath, "rb"); BC_ASSERT_PTR_NOT_NULL(infile); if (infile) { fseek(infile, 0L, SEEK_END); numbytes = ftell(infile); fseek(infile, 0L, SEEK_SET); buffer = (char*)ms_malloc((numbytes + 1) * sizeof(char)); readbytes = fread(buffer, sizeof(char), numbytes, infile); fclose(infile); buffer[readbytes] = '\0'; start = clock(); linphone_friend_list_import_friends_from_vcard4_buffer(lfl, buffer); end = clock(); ms_free(buffer); } friends = linphone_friend_list_get_friends(lfl); BC_ASSERT_EQUAL((unsigned int)bctbx_list_size(friends), 1000, unsigned int, "%u"); // Now that we accept Friends without a SIP URI, the result must be equal to 1000 elapsed = (double)(end - start); ms_message("Imported a thousand of vCards from buffer in %f seconds", elapsed / CLOCKS_PER_SEC); linphone_friend_list_unref(lfl); ms_free(import_filepath); linphone_core_manager_destroy(manager); }
static void linphone_vcard_import_a_lot_of_friends_test(void) { LinphoneCoreManager* manager = linphone_core_manager_new2("empty_rc", FALSE); LinphoneFriendList *lfl = linphone_core_get_default_friend_list(manager->lc); char *import_filepath = bc_tester_res("vcards/thousand_vcards.vcf"); clock_t start, end; double elapsed = 0; const MSList *friends = NULL; FILE *infile = NULL; char *buffer = NULL; long numbytes = 0; start = clock(); linphone_friend_list_import_friends_from_vcard4_file(lfl, import_filepath); end = clock(); friends = linphone_friend_list_get_friends(lfl); BC_ASSERT_EQUAL(ms_list_size(friends), 482, int, "%i"); // Thousand vcards contains 482 contacts with a SIP URI elapsed = (double)(end - start); ms_error("Imported a thousand of vCards from file (only %i friends with SIP address found) in %f seconds", ms_list_size(friends), elapsed / CLOCKS_PER_SEC); lfl = linphone_core_create_friend_list(manager->lc); infile = fopen(import_filepath, "rb"); BC_ASSERT_PTR_NOT_NULL(infile); if (infile) { fseek(infile, 0L, SEEK_END); numbytes = ftell(infile); fseek(infile, 0L, SEEK_SET); buffer = (char*)ms_malloc(numbytes * sizeof(char)); numbytes = fread(buffer, sizeof(char), numbytes, infile); fclose(infile); start = clock(); linphone_friend_list_import_friends_from_vcard4_buffer(lfl, buffer); end = clock(); ms_free(buffer); } friends = linphone_friend_list_get_friends(lfl); BC_ASSERT_EQUAL(ms_list_size(friends), 482, int, "%i"); // Thousand vcards contains 482 contacts with a SIP URI elapsed = (double)(end - start); ms_error("Imported a thousand of vCards from buffer (only %i friends with SIP address found) in %f seconds", ms_list_size(friends), elapsed / CLOCKS_PER_SEC); linphone_friend_list_unref(lfl); ms_free(import_filepath); linphone_core_manager_destroy(manager); }