diff options
| author | jakob <jakob@memeware.net> | 2017-03-04 09:51:22 -0500 |
|---|---|---|
| committer | jakob <jakob@memeware.net> | 2017-03-04 09:51:22 -0500 |
| commit | c6e28ae622cfd86f5b0ca796d27953ac8ecd37b1 (patch) | |
| tree | 10ee1736889d33ad4cb1c92f8da7d011fd0df21d | |
| parent | 79db4fa8975cd445958f88a046c75243300b7b69 (diff) | |
Updated test code
| -rw-r--r-- | test/test_crypto.c | 41 | ||||
| -rw-r--r-- | test/test_crypto.h | 23 | ||||
| -rw-r--r-- | test/test_encoding.c | 6 | ||||
| -rw-r--r-- | test/test_run.c | 3 |
4 files changed, 70 insertions, 3 deletions
diff --git a/test/test_crypto.c b/test/test_crypto.c new file mode 100644 index 0000000..db66d7e --- /dev/null +++ b/test/test_crypto.c @@ -0,0 +1,41 @@ +/* test_crypto.c -- MinUnit test cases for crypto.c + + Copyright (C) 2017 Jakob Tsar-Fox, All Rights Reserved. + + This file is part of Nekopack. + + Nekopack is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation, either version 3 of the License, or (at + your option) any later version. + + Nekopack is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Nekopack. If not, see <http://www.gnu.org/licenses/>. */ + +#include <stddef.h> +#include <stdint.h> + +#include "minunit.h" + +#include "crypto.h" + +extern int tests_run; + + +char *test_derive_initial(void) { + struct game_key k = get_key(NEKOPARA_VOLUME_0); + mu_assert("Initial key failure", derive_initial(k, 0xdeadbeefcafebabe) == 0x22); + return NULL; +} + + +char *test_derive_primary(void) { + struct game_key k = get_key(NEKOPARA_VOLUME_1); + mu_assert("Initial key failure", derive_primary(k, 0xdeadbeefcafebabe) == 0x13); + return NULL; +} diff --git a/test/test_crypto.h b/test/test_crypto.h new file mode 100644 index 0000000..ee2e4ec --- /dev/null +++ b/test/test_crypto.h @@ -0,0 +1,23 @@ +/* test_crypto.h -- MinUnit test cases for crypto.c + + Copyright (C) 2017 Jakob Tsar-Fox, All Rights Reserved. + + This file is part of Nekopack. + + Nekopack is free software: you can redistribute it and/or modify it + under the terms of the GNU General Public License as published by the + Free Software Foundation, either version 3 of the License, or (at + your option) any later version. + + Nekopack is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received a copy of the GNU General Public License + along with Nekopack. If not, see <http://www.gnu.org/licenses/>. */ + +#pragma once + +char *test_derive_initial(void); +char *test_derive_primary(void); diff --git a/test/test_encoding.c b/test/test_encoding.c index f5c91c2..50a0466 100644 --- a/test/test_encoding.c +++ b/test/test_encoding.c @@ -26,9 +26,9 @@ char *test_decode_utf16le(void) { - char *in = "\x41\x00\x00\x00", *out = malloc(4); - utf16le_decode(in, out, 4); - mu_assert("UTF16-LE decoding failure", !strcmp(out, "A")); + char *in = "\x41\x00\x42\x00\x43\x00\x00\x00", *out = malloc(8); + utf16le_decode(in, out, 8); + mu_assert("UTF16-LE decoding failure", !strcmp(out, "ABC")); free(out); return NULL; } diff --git a/test/test_run.c b/test/test_run.c index 42183c4..9b5be20 100644 --- a/test/test_run.c +++ b/test/test_run.c @@ -22,6 +22,7 @@ #include "minunit.h" #include "test_cli.h" +#include "test_crypto.h" #include "test_encoding.h" #include "test_header.h" #include "test_io.h" @@ -32,6 +33,8 @@ int tests_run = 0; static char *run_all_tests(void) { mu_run_test(test_out_path); + mu_run_test(test_derive_initial); + mu_run_test(test_derive_primary); mu_run_test(test_stream_obj); mu_run_test(test_stream_rw); mu_run_test(test_stream_dump); |