mirror of
https://github.com/yarrick/iodine.git
synced 2024-11-23 18:15:13 +00:00
Extended test cases
This commit is contained in:
parent
a412b59618
commit
e3804cdbca
@ -24,14 +24,18 @@
|
|||||||
#include "base32.h"
|
#include "base32.h"
|
||||||
#include "test.h"
|
#include "test.h"
|
||||||
|
|
||||||
|
#define TUPLES 5
|
||||||
|
|
||||||
static struct tuple
|
static struct tuple
|
||||||
{
|
{
|
||||||
char *a;
|
char *a;
|
||||||
char *b;
|
char *b;
|
||||||
} testpairs[] = {
|
} testpairs[TUPLES] = {
|
||||||
{ "iodinetestingtesting", "nfxwi0lomv0gk21unfxgo3dfon0gs1th" },
|
{ "iodinetestingtesting", "nfxwi0lomv0gk21unfxgo3dfon0gs1th" },
|
||||||
{ "abc123", "mfrggmjsgm" },
|
{ "abc123", "mfrggmjsgm" },
|
||||||
{ NULL, NULL }
|
{ "test", "orsxg3a" },
|
||||||
|
{ "tst", "orzxi" },
|
||||||
|
{ "", "" },
|
||||||
};
|
};
|
||||||
|
|
||||||
START_TEST(test_base32_encode)
|
START_TEST(test_base32_encode)
|
||||||
@ -40,18 +44,14 @@ START_TEST(test_base32_encode)
|
|||||||
char buf[4096];
|
char buf[4096];
|
||||||
struct encoder *b32;
|
struct encoder *b32;
|
||||||
int val;
|
int val;
|
||||||
int i;
|
|
||||||
|
|
||||||
b32 = get_base32_encoder();
|
b32 = get_base32_encoder();
|
||||||
|
|
||||||
for (i = 0; testpairs[i].a != NULL; i++) {
|
len = sizeof(buf);
|
||||||
len = sizeof(buf);
|
val = b32->encode(buf, &len, testpairs[_i].a, strlen(testpairs[_i].a));
|
||||||
val = b32->encode(buf, &len, testpairs[i].a, strlen(testpairs[i].a));
|
|
||||||
|
|
||||||
fail_unless(val > 0, strerror(errno));
|
fail_unless(strcmp(buf, testpairs[_i].b) == 0,
|
||||||
fail_unless(strcmp(buf, testpairs[i].b) == 0,
|
"'%s' != '%s'", buf, testpairs[_i].b);
|
||||||
"'%s' != '%s'", buf, testpairs[i].b);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
@ -61,19 +61,15 @@ START_TEST(test_base32_decode)
|
|||||||
char buf[4096];
|
char buf[4096];
|
||||||
struct encoder *b32;
|
struct encoder *b32;
|
||||||
int val;
|
int val;
|
||||||
int i;
|
|
||||||
|
|
||||||
b32 = get_base32_encoder();
|
b32 = get_base32_encoder();
|
||||||
|
|
||||||
for (i = 0; testpairs[i].a != NULL; i++) {
|
len = sizeof(buf);
|
||||||
len = sizeof(buf);
|
val = b32->decode(buf, &len, testpairs[_i].b, strlen(testpairs[_i].b));
|
||||||
val = b32->decode(buf, &len, testpairs[i].b, strlen(testpairs[i].b));
|
|
||||||
|
|
||||||
fail_unless(val > 0, strerror(errno));
|
fail_unless(buf != NULL, "buf == NULL");
|
||||||
fail_unless(buf != NULL, "buf == NULL");
|
fail_unless(strcmp(buf, testpairs[_i].a) == 0,
|
||||||
fail_unless(strcmp(buf, testpairs[i].a) == 0,
|
"'%s' != '%s'", buf, testpairs[_i].a);
|
||||||
"'%s' != '%s'", buf, testpairs[i].a);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
@ -95,8 +91,8 @@ test_base32_create_tests()
|
|||||||
TCase *tc;
|
TCase *tc;
|
||||||
|
|
||||||
tc = tcase_create("Base32");
|
tc = tcase_create("Base32");
|
||||||
tcase_add_test(tc, test_base32_encode);
|
tcase_add_loop_test(tc, test_base32_encode, 0, TUPLES);
|
||||||
tcase_add_test(tc, test_base32_decode);
|
tcase_add_loop_test(tc, test_base32_decode, 0, TUPLES);
|
||||||
tcase_add_test(tc, test_base32_5to8_8to5);
|
tcase_add_test(tc, test_base32_5to8_8to5);
|
||||||
|
|
||||||
return tc;
|
return tc;
|
||||||
|
@ -24,11 +24,13 @@
|
|||||||
#include "base64.h"
|
#include "base64.h"
|
||||||
#include "test.h"
|
#include "test.h"
|
||||||
|
|
||||||
|
#define TUPLES 5
|
||||||
|
|
||||||
static struct tuple
|
static struct tuple
|
||||||
{
|
{
|
||||||
char *a;
|
char *a;
|
||||||
char *b;
|
char *b;
|
||||||
} testpairs[] = {
|
} testpairs[TUPLES] = {
|
||||||
{ "iodinetestingtesting", "Aw8KAw4LDgvZDgLUz2rLC2rPBMC" },
|
{ "iodinetestingtesting", "Aw8KAw4LDgvZDgLUz2rLC2rPBMC" },
|
||||||
{ "abc1231", "ywjJmtiZmq" },
|
{ "abc1231", "ywjJmtiZmq" },
|
||||||
{
|
{
|
||||||
@ -59,7 +61,7 @@ static struct tuple
|
|||||||
"776543210-ZYXWVUTSRQfHKwfHGsHGFEDCBAzyxwvutsrqponmlkjihgfedcba+987654321"
|
"776543210-ZYXWVUTSRQfHKwfHGsHGFEDCBAzyxwvutsrqponmlkjihgfedcba+987654321"
|
||||||
"0-ZYXWVUTSRQfHKwfHGsHGFEDCBAzyxwvutsrqponmlkjihgfedcba"
|
"0-ZYXWVUTSRQfHKwfHGsHGFEDCBAzyxwvutsrqponmlkjihgfedcba"
|
||||||
},
|
},
|
||||||
{ NULL, NULL }
|
{ "", "" }
|
||||||
};
|
};
|
||||||
|
|
||||||
START_TEST(test_base64_encode)
|
START_TEST(test_base64_encode)
|
||||||
@ -68,18 +70,14 @@ START_TEST(test_base64_encode)
|
|||||||
char buf[4096];
|
char buf[4096];
|
||||||
struct encoder *b64;
|
struct encoder *b64;
|
||||||
int val;
|
int val;
|
||||||
int i;
|
|
||||||
|
|
||||||
b64 = get_base64_encoder();
|
b64 = get_base64_encoder();
|
||||||
|
|
||||||
for (i = 0; testpairs[i].a != NULL; i++) {
|
len = sizeof(buf);
|
||||||
len = sizeof(buf);
|
val = b64->encode(buf, &len, testpairs[_i].a, strlen(testpairs[_i].a));
|
||||||
val = b64->encode(buf, &len, testpairs[i].a, strlen(testpairs[i].a));
|
|
||||||
|
|
||||||
fail_unless(val > 0, strerror(errno));
|
fail_unless(strcmp(buf, testpairs[_i].b) == 0,
|
||||||
fail_unless(strcmp(buf, testpairs[i].b) == 0,
|
"'%s' != '%s'", buf, testpairs[_i].b);
|
||||||
"'%s' != '%s'", buf, testpairs[i].b);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
@ -89,19 +87,15 @@ START_TEST(test_base64_decode)
|
|||||||
char buf[4096];
|
char buf[4096];
|
||||||
struct encoder *b64;
|
struct encoder *b64;
|
||||||
int val;
|
int val;
|
||||||
int i;
|
|
||||||
|
|
||||||
b64 = get_base64_encoder();
|
b64 = get_base64_encoder();
|
||||||
|
|
||||||
for (i = 0; testpairs[i].a != NULL; i++) {
|
len = sizeof(buf);
|
||||||
len = sizeof(buf);
|
val = b64->decode(buf, &len, testpairs[_i].b, strlen(testpairs[_i].b));
|
||||||
val = b64->decode(buf, &len, testpairs[i].b, strlen(testpairs[i].b));
|
|
||||||
|
|
||||||
fail_unless(val > 0, strerror(errno));
|
fail_unless(buf != NULL, "buf == NULL");
|
||||||
fail_unless(buf != NULL, "buf == NULL");
|
fail_unless(strcmp(buf, testpairs[_i].a) == 0,
|
||||||
fail_unless(strcmp(buf, testpairs[i].a) == 0,
|
"'%s' != '%s'", buf, testpairs[_i].a);
|
||||||
"'%s' != '%s'", buf, testpairs[i].a);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
@ -111,8 +105,8 @@ test_base64_create_tests()
|
|||||||
TCase *tc;
|
TCase *tc;
|
||||||
|
|
||||||
tc = tcase_create("Base64");
|
tc = tcase_create("Base64");
|
||||||
tcase_add_test(tc, test_base64_encode);
|
tcase_add_loop_test(tc, test_base64_encode, 0, TUPLES);
|
||||||
tcase_add_test(tc, test_base64_decode);
|
tcase_add_loop_test(tc, test_base64_decode, 0, TUPLES);
|
||||||
|
|
||||||
return tc;
|
return tc;
|
||||||
}
|
}
|
||||||
|
@ -28,7 +28,7 @@ START_TEST(test_login_hash)
|
|||||||
int len;
|
int len;
|
||||||
int seed;
|
int seed;
|
||||||
|
|
||||||
len = 16;
|
len = sizeof(ans);
|
||||||
seed = 15;
|
seed = 15;
|
||||||
|
|
||||||
memset(ans, 0, sizeof(ans));
|
memset(ans, 0, sizeof(ans));
|
||||||
@ -37,6 +37,26 @@ START_TEST(test_login_hash)
|
|||||||
}
|
}
|
||||||
END_TEST
|
END_TEST
|
||||||
|
|
||||||
|
START_TEST(test_login_hash_short)
|
||||||
|
{
|
||||||
|
char ans[8];
|
||||||
|
char check[sizeof(ans)];
|
||||||
|
char pass[32] = "iodine is the shit";
|
||||||
|
int len;
|
||||||
|
int seed;
|
||||||
|
|
||||||
|
len = sizeof(ans);
|
||||||
|
seed = 15;
|
||||||
|
|
||||||
|
memset(ans, 0, sizeof(ans));
|
||||||
|
memset(check, 0, sizeof(check));
|
||||||
|
|
||||||
|
/* If len < 16, it should do nothing */
|
||||||
|
login_calculate(ans, len, pass, seed);
|
||||||
|
fail_if(memcmp(ans, check, sizeof(ans)));
|
||||||
|
}
|
||||||
|
END_TEST
|
||||||
|
|
||||||
TCase *
|
TCase *
|
||||||
test_login_create_tests()
|
test_login_create_tests()
|
||||||
{
|
{
|
||||||
@ -44,6 +64,7 @@ test_login_create_tests()
|
|||||||
|
|
||||||
tc = tcase_create("Login");
|
tc = tcase_create("Login");
|
||||||
tcase_add_test(tc, test_login_hash);
|
tcase_add_test(tc, test_login_hash);
|
||||||
|
tcase_add_test(tc, test_login_hash_short);
|
||||||
|
|
||||||
return tc;
|
return tc;
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user