Adapt tests to new assemblers and add string lenght checks

This commit is contained in:
Alex D. 2021-02-15 15:23:29 +00:00
parent fd49e10b9a
commit fd6dc5e0ea
Signed by: caskd
GPG Key ID: F92BA85F61F4C173
6 changed files with 31 additions and 10 deletions

View File

@ -50,8 +50,13 @@ main(void)
char buf[513]; char buf[513];
signed long ret; signed long ret;
for (unsigned long i = 0; i < sizeof(str) / sizeof(*str); i++) { for (unsigned long i = 0; i < sizeof(str) / sizeof(*str); i++) {
if ((ret = uirc_assembler_message(buf, &m[i], sizeof(buf) / sizeof(char))) <= 0) { if ((ret = uirc_assembler_message(buf, &m[i], sizeof(buf) / sizeof(char))) < 0) {
printf("Failed to convert IRC_User struct to a string. %li\n", ret); printf("Failed to convert IRC_Message struct to a string. %li\n", ret);
return EXIT_FAILURE;
}
size_t len = strlen(str[i]);
if ((size_t) ret != len) {
printf("String lenght doesn't match with amount of bytes printed. Expected %li but got %li\n", len, ret);
return EXIT_FAILURE; return EXIT_FAILURE;
} }
expect(buf, str[i]); expect(buf, str[i]);

View File

@ -39,7 +39,13 @@ main(void)
printf("Failed to convert tag %lu to \"%s\". Error %li\n", i, str[i], ret); printf("Failed to convert tag %lu to \"%s\". Error %li\n", i, str[i], ret);
return EXIT_FAILURE; return EXIT_FAILURE;
} }
size_t len = strlen(str[i]);
if ((size_t) ret != len) {
printf("String lenght doesn't match with amount of bytes printed. Expected %li but got %li\n", len, ret);
return EXIT_FAILURE;
}
expect(buf, str[i]); expect(buf, str[i]);
print_irc_tag(&tag[i]);
} }
return EXIT_SUCCESS; return EXIT_SUCCESS;
} }

View File

@ -37,6 +37,11 @@ main(void)
printf("Failed to convert IRC_User struct to a string. %li\n", ret); printf("Failed to convert IRC_User struct to a string. %li\n", ret);
return EXIT_FAILURE; return EXIT_FAILURE;
} }
size_t len = strlen(str[i]);
if ((size_t) ret != len) {
printf("String lenght doesn't match with amount of bytes printed. Expected %li but got %li\n", len, ret);
return EXIT_FAILURE;
}
expect(buf, str[i]); expect(buf, str[i]);
print_irc_user(&u[i]); print_irc_user(&u[i]);
} }

View File

@ -37,7 +37,7 @@ expect(const char* var, const char* exp)
} }
void void
print_irc_message(IRC_Message* ptr) print_irc_message(const IRC_Message* ptr)
{ {
#ifdef UIRC_FEATURE_IRCV3 #ifdef UIRC_FEATURE_IRCV3
printf(DELIMITER); printf(DELIMITER);
@ -57,7 +57,7 @@ print_irc_message(IRC_Message* ptr)
#ifdef UIRC_FEATURE_IRCV3 #ifdef UIRC_FEATURE_IRCV3
void void
print_irc_tag(IRC_Tag* tag) print_irc_tag(const IRC_Tag* tag)
{ {
printf(DELIMITER "tn: %s\n" printf(DELIMITER "tn: %s\n"
"tv: %s\n" "tv: %s\n"
@ -69,7 +69,7 @@ print_irc_tag(IRC_Tag* tag)
#endif /* UIRC_FEATURE_IRCV3 */ #endif /* UIRC_FEATURE_IRCV3 */
void void
print_irc_user(IRC_User* user) print_irc_user(const IRC_User* user)
{ {
printf(DELIMITER "un: %s\n" printf(DELIMITER "un: %s\n"
"uu: %s\n" "uu: %s\n"

View File

@ -30,11 +30,11 @@
void expect(const char* var, const char* exp); void expect(const char* var, const char* exp);
void print_irc_message(IRC_Message* ptr); void print_irc_message(const IRC_Message* ptr);
#ifdef UIRC_FEATURE_IRCV3 #ifdef UIRC_FEATURE_IRCV3
void print_irc_tag(IRC_Tag* tag); void print_irc_tag(const IRC_Tag* tag);
#endif /* UIRC_FEATURE_IRCV3 */ #endif /* UIRC_FEATURE_IRCV3 */
void print_irc_user(IRC_User* user); void print_irc_user(const IRC_User* user);
#endif /* UIRC_GUARD_PRIVATE_COMMONTESTS */ #endif /* UIRC_GUARD_PRIVATE_COMMONTESTS */

View File

@ -38,12 +38,17 @@ main(void)
printf("Failed to convert string to IRC_Message struct.\n"); printf("Failed to convert string to IRC_Message struct.\n");
return EXIT_FAILURE; return EXIT_FAILURE;
} }
signed long ret; ssize_t ret;
char buf[513]; char buf[513];
if ((ret = uirc_assembler_message(buf, m, sizeof(buf) / sizeof(char))) <= 0) { if ((ret = uirc_assembler_message(buf, m, sizeof(buf) / sizeof(char))) <= 0) {
printf("Failed to convert IRC_Message struct to a string. (%li)\n", ret); printf("Failed to convert IRC_Message struct to a string. (%li)\n", ret);
return EXIT_FAILURE; return EXIT_FAILURE;
} }
size_t s1 = strlen(str[i]), s2 = strlen(buf);
if (s1 != s2) {
printf("String lenght doesn't match after parsing and assembly. Expected %li but got %li\n", s1, s2);
return EXIT_FAILURE;
}
expect(buf, str[i]); expect(buf, str[i]);
print_irc_message(m); print_irc_message(m);
} }