Converted tests for chunk_t

This commit is contained in:
Tobias Brunner 2013-03-26 16:39:44 +01:00
parent e09461bf77
commit 4e67f19528
6 changed files with 30 additions and 24 deletions

View File

@ -20,7 +20,6 @@ libstrongswan_unit_tester_la_SOURCES = \
tests/test_rsa_gen.c \
tests/test_cert.c \
tests/test_med_db.c \
tests/test_chunk.c \
tests/test_pool.c \
tests/test_agent.c

View File

@ -27,7 +27,6 @@ DEFINE_TEST("RSA key generation", test_rsa_gen, FALSE)
DEFINE_TEST("RSA subjectPublicKeyInfo loading", test_rsa_load_any, FALSE)
DEFINE_TEST("X509 certificate", test_cert_x509, FALSE)
DEFINE_TEST("Mediation database key fetch", test_med_db, FALSE)
DEFINE_TEST("Base64 converter", test_chunk_base64, FALSE)
DEFINE_TEST("IP pool", test_pool, FALSE)
DEFINE_TEST("SSH agent", test_agent, FALSE)

View File

@ -5,7 +5,7 @@ check_PROGRAMS = $(TESTS)
test_runner_SOURCES = \
test_runner.c test_runner.h \
test_linked_list.c test_enumerator.c test_linked_list_enumerator.c \
test_hashtable.c test_identification.c
test_chunk.c test_hashtable.c test_identification.c
test_runner_CFLAGS = \

View File

@ -1,4 +1,5 @@
/*
* Copyright (C) 2013 Tobias Brunner
* Copyright (C) 2008 Martin Willi
* Hochschule fuer Technik Rapperswil
*
@ -13,13 +14,16 @@
* for more details.
*/
#include <library.h>
#include <daemon.h>
#include <check.h>
#include <utils/chunk.h>
/*******************************************************************************
* Base64 encoding/decoding test
******************************************************************************/
bool test_chunk_base64()
* BASE64 encoding test
*/
START_TEST(test_base64)
{
/* test vectors from RFC4648:
*
@ -31,7 +35,6 @@ bool test_chunk_base64()
* BASE64("fooba") = "Zm9vYmE="
* BASE64("foobar") = "Zm9vYmFy"
*/
typedef struct {
char *in;
char *out;
@ -53,13 +56,7 @@ bool test_chunk_base64()
chunk_t out;
out = chunk_to_base64(chunk_create(test[i].in, strlen(test[i].in)), NULL);
if (!streq(out.ptr, test[i].out))
{
DBG1(DBG_CFG, "base64 conversion error - should %s, is %s",
test[i].out, out.ptr);
return FALSE;
}
ck_assert_str_eq(out.ptr, test[i].out);
free(out.ptr);
}
@ -68,15 +65,24 @@ bool test_chunk_base64()
chunk_t out;
out = chunk_from_base64(chunk_create(test[i].out, strlen(test[i].out)), NULL);
if (!strneq(out.ptr, test[i].in, out.len))
{
DBG1(DBG_CFG, "base64 conversion error - should %s, is %#B",
test[i].in, &out);
return FALSE;
}
fail_unless(strneq(out.ptr, test[i].in, out.len),
"base64 conversion error - should '%s', is %#B",
test[i].in, &out);
free(out.ptr);
}
return TRUE;
}
END_TEST
Suite *chunk_suite_create()
{
Suite *s;
TCase *tc;
s = suite_create("chunk");
tc = tcase_create("base64");
tcase_add_test(tc, test_base64);
suite_add_tcase(s, tc);
return s;
}

View File

@ -32,6 +32,7 @@ int main()
library_init(NULL);
sr = srunner_create(NULL);
srunner_add_suite(sr, chunk_suite_create());
srunner_add_suite(sr, enumerator_suite_create());
srunner_add_suite(sr, linked_list_suite_create());
srunner_add_suite(sr, linked_list_enumerator_suite_create());

View File

@ -18,6 +18,7 @@
#include <check.h>
Suite *chunk_suite_create();
Suite *enumerator_suite_create();
Suite *linked_list_suite_create();
Suite *linked_list_enumerator_suite_create();