summaryrefslogtreecommitdiff
path: root/auto_tests
diff options
context:
space:
mode:
authoriphydf <iphydf@users.noreply.github.com>2016-12-10 14:41:32 +0000
committeriphydf <iphydf@users.noreply.github.com>2016-12-10 15:22:06 +0000
commitc8d7cf5002b1a8ccdf09a91cbd1bbdc11cf96753 (patch)
tree550dfceefe44522098040c75fda658a801282935 /auto_tests
parentd68505a2d3a1210e24514a562808e27f77c295d9 (diff)
Fix off by one error in saving our own status message.
Diffstat (limited to 'auto_tests')
-rw-r--r--auto_tests/tox_one_test.c43
1 files changed, 35 insertions, 8 deletions
diff --git a/auto_tests/tox_one_test.c b/auto_tests/tox_one_test.c
index 350fafe9..ca5fde01 100644
--- a/auto_tests/tox_one_test.c
+++ b/auto_tests/tox_one_test.c
@@ -14,6 +14,19 @@
14 14
15#include "helpers.h" 15#include "helpers.h"
16 16
17static void set_random_name_and_status_message(Tox *tox, uint8_t *name, uint8_t *status_message)
18{
19 int i;
20
21 for (i = 0; i < TOX_MAX_NAME_LENGTH; ++i) {
22 name[i] = rand();
23 }
24
25 for (i = 0; i < TOX_MAX_STATUS_MESSAGE_LENGTH; ++i) {
26 status_message[i] = rand();
27 }
28}
29
17START_TEST(test_one) 30START_TEST(test_one)
18{ 31{
19 { 32 {
@@ -26,9 +39,17 @@ START_TEST(test_one)
26 tox_options_free(o1); 39 tox_options_free(o1);
27 } 40 }
28 41
42 uint8_t name[TOX_MAX_NAME_LENGTH];
43 uint8_t status_message[TOX_MAX_STATUS_MESSAGE_LENGTH];
44
45 uint8_t name2[TOX_MAX_NAME_LENGTH];
46 uint8_t status_message2[TOX_MAX_STATUS_MESSAGE_LENGTH];
47
29 uint32_t index[] = { 1, 2 }; 48 uint32_t index[] = { 1, 2 };
30 Tox *tox1 = tox_new_log(0, 0, &index[0]); 49 Tox *tox1 = tox_new_log(0, 0, &index[0]);
50 set_random_name_and_status_message(tox1, name, status_message);
31 Tox *tox2 = tox_new_log(0, 0, &index[1]); 51 Tox *tox2 = tox_new_log(0, 0, &index[1]);
52 set_random_name_and_status_message(tox2, name2, status_message2);
32 53
33 uint8_t address[TOX_ADDRESS_SIZE]; 54 uint8_t address[TOX_ADDRESS_SIZE];
34 tox_self_get_address(tox1, address); 55 tox_self_get_address(tox1, address);
@@ -57,16 +78,13 @@ START_TEST(test_one)
57 ret = tox_friend_add(tox1, address, message, TOX_MAX_FRIEND_REQUEST_LENGTH, &error); 78 ret = tox_friend_add(tox1, address, message, TOX_MAX_FRIEND_REQUEST_LENGTH, &error);
58 ck_assert_msg(ret == UINT32_MAX && error == TOX_ERR_FRIEND_ADD_ALREADY_SENT, "Adding friend twice worked."); 79 ck_assert_msg(ret == UINT32_MAX && error == TOX_ERR_FRIEND_ADD_ALREADY_SENT, "Adding friend twice worked.");
59 80
60 uint8_t name[TOX_MAX_NAME_LENGTH];
61 int i;
62
63 for (i = 0; i < TOX_MAX_NAME_LENGTH; ++i) {
64 name[i] = rand();
65 }
66
67 tox_self_set_name(tox1, name, sizeof(name), 0); 81 tox_self_set_name(tox1, name, sizeof(name), 0);
68 ck_assert_msg(tox_self_get_name_size(tox1) == sizeof(name), "Can't set name of TOX_MAX_NAME_LENGTH"); 82 ck_assert_msg(tox_self_get_name_size(tox1) == sizeof(name), "Can't set name of TOX_MAX_NAME_LENGTH");
69 83
84 tox_self_set_status_message(tox1, status_message, sizeof(status_message), 0);
85 ck_assert_msg(tox_self_get_status_message_size(tox1) == sizeof(status_message),
86 "Can't set status message of TOX_MAX_STATUS_MESSAGE_LENGTH");
87
70 tox_self_get_address(tox1, address); 88 tox_self_get_address(tox1, address);
71 size_t save_size = tox_get_savedata_size(tox1); 89 size_t save_size = tox_get_savedata_size(tox1);
72 uint8_t data[save_size]; 90 uint8_t data[save_size];
@@ -84,8 +102,17 @@ START_TEST(test_one)
84 ck_assert_msg(err_n == TOX_ERR_NEW_OK, "Load failed"); 102 ck_assert_msg(err_n == TOX_ERR_NEW_OK, "Load failed");
85 103
86 ck_assert_msg(tox_self_get_name_size(tox2) == sizeof name, "Wrong name size."); 104 ck_assert_msg(tox_self_get_name_size(tox2) == sizeof name, "Wrong name size.");
105 ck_assert_msg(tox_self_get_status_message_size(tox2) == sizeof status_message, "Wrong status message size");
106
107 uint8_t name_loaded[TOX_MAX_NAME_LENGTH] = { 0 };
108 tox_self_get_name(tox2, name_loaded);
109 ck_assert_msg(!memcmp(name, name_loaded, sizeof name), "Wrong name.");
110
111 uint8_t status_message_loaded[TOX_MAX_STATUS_MESSAGE_LENGTH] = { 0 };
112 tox_self_get_status_message(tox2, status_message_loaded);
113 ck_assert_msg(!memcmp(status_message, status_message_loaded, sizeof status_message_loaded), "Wrong status message.");
87 114
88 uint8_t address2[TOX_ADDRESS_SIZE]; 115 uint8_t address2[TOX_ADDRESS_SIZE] = { 0 };
89 tox_self_get_address(tox2, address2); 116 tox_self_get_address(tox2, address2);
90 ck_assert_msg(memcmp(address2, address, TOX_ADDRESS_SIZE) == 0, "Wrong address."); 117 ck_assert_msg(memcmp(address2, address, TOX_ADDRESS_SIZE) == 0, "Wrong address.");
91 uint8_t new_name[TOX_MAX_NAME_LENGTH] = { 0 }; 118 uint8_t new_name[TOX_MAX_NAME_LENGTH] = { 0 };