diff --git a/src/utils/base64.c b/src/utils/base64.c index 13fc511dc..155bfce83 100644 --- a/src/utils/base64.c +++ b/src/utils/base64.c @@ -152,38 +152,3 @@ unsigned char * base64_decode(const unsigned char *src, size_t len, *out_len = pos - out; return out; } - - -#ifdef TEST_MAIN - -int main(int argc, char *argv[]) -{ - FILE *f; - size_t len, elen; - unsigned char *buf, *e; - - if (argc != 4) { - printf("Usage: base64 \n"); - return -1; - } - - buf = os_readfile(argv[2], &len); - if (buf == NULL) - return -1; - - if (strcmp(argv[1], "encode") == 0) - e = base64_encode(buf, len, &elen); - else - e = base64_decode(buf, len, &elen); - if (e == NULL) - return -2; - f = fopen(argv[3], "w"); - if (f == NULL) - return -3; - fwrite(e, 1, elen, f); - fclose(f); - free(e); - - return 0; -} -#endif /* TEST_MAIN */ diff --git a/tests/.gitignore b/tests/.gitignore new file mode 100644 index 000000000..0063a1b21 --- /dev/null +++ b/tests/.gitignore @@ -0,0 +1 @@ +test-base64 diff --git a/tests/Makefile b/tests/Makefile new file mode 100644 index 000000000..9c4a428da --- /dev/null +++ b/tests/Makefile @@ -0,0 +1,27 @@ +TESTS=test-base64 + +all: $(TESTS) + +ifndef CC +CC=gcc +endif + +ifndef LDO +LDO=$(CC) +endif + +ifndef CFLAGS +CFLAGS = -MMD -O2 -Wall -g +endif + +CFLAGS += -I../src + + +BASE64_OBJS=test-base64.o ../src/utils/base64.o ../src/utils/os_unix.o + +test-base64: $(BASE64_OBJS) + $(LDO) $(LDFLAGS) -o $@ $(BASE64_OBJS) + +clean: + $(MAKE) -C ../src clean + rm -f $(TESTS) *~ *.o diff --git a/tests/test-base64.c b/tests/test-base64.c new file mode 100644 index 000000000..747290e74 --- /dev/null +++ b/tests/test-base64.c @@ -0,0 +1,48 @@ +/* + * Base64 encoding/decoding (RFC1341) - test program + * Copyright (c) 2005, Jouni Malinen + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License version 2 as + * published by the Free Software Foundation. + * + * Alternatively, this software may be distributed under the terms of BSD + * license. + * + * See README and COPYING for more details. + */ + +#include "utils/includes.h" +#include "utils/os.h" +#include "utils/base64.h" + +int main(int argc, char *argv[]) +{ + FILE *f; + size_t len, elen; + unsigned char *buf, *e; + + if (argc != 4) { + printf("Usage: base64 \n"); + return -1; + } + + buf = (unsigned char *) os_readfile(argv[2], &len); + if (buf == NULL) + return -1; + + if (strcmp(argv[1], "encode") == 0) + e = base64_encode(buf, len, &elen); + else + e = base64_decode(buf, len, &elen); + if (e == NULL) + return -2; + f = fopen(argv[3], "w"); + if (f == NULL) + return -3; + fwrite(e, 1, elen, f); + fclose(f); + free(e); + + return 0; +}