diff options
author | Thomas Huth <thuth@redhat.com> | 2021-03-10 07:33:14 +0100 |
---|---|---|
committer | Thomas Huth <thuth@redhat.com> | 2021-03-12 15:46:30 +0100 |
commit | da668aa15b99150a8595c491aee00d5d2426aaf9 (patch) | |
tree | 0463b0a303e807bdab46460f6c702be611bd7179 /tests/test-crypto-ivgen.c | |
parent | 363fc963054d8e82cfd55fa9b9aa130692a8dbd7 (diff) | |
download | qemu-da668aa15b99150a8595c491aee00d5d2426aaf9.zip qemu-da668aa15b99150a8595c491aee00d5d2426aaf9.tar.gz qemu-da668aa15b99150a8595c491aee00d5d2426aaf9.tar.bz2 |
tests: Move unit tests into a separate directory
The main tests directory still looks very crowded, and it's not
clear which files are part of a unit tests and which belong to
a different test subsystem. Let's clean up the mess and move the
unit tests to a separate directory.
Message-Id: <20210310063314.1049838-1-thuth@redhat.com>
Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
Diffstat (limited to 'tests/test-crypto-ivgen.c')
-rw-r--r-- | tests/test-crypto-ivgen.c | 174 |
1 files changed, 0 insertions, 174 deletions
diff --git a/tests/test-crypto-ivgen.c b/tests/test-crypto-ivgen.c deleted file mode 100644 index f581e6a..0000000 --- a/tests/test-crypto-ivgen.c +++ /dev/null @@ -1,174 +0,0 @@ -/* - * QEMU Crypto IV generator algorithms - * - * Copyright (c) 2015-2016 Red Hat, Inc. - * - * This library is free software; you can redistribute it and/or - * modify it under the terms of the GNU Lesser General Public - * License as published by the Free Software Foundation; either - * version 2.1 of the License, or (at your option) any later version. - * - * This library 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 - * Lesser General Public License for more details. - * - * You should have received a copy of the GNU Lesser General Public - * License along with this library; if not, see <http://www.gnu.org/licenses/>. - * - */ - -#include "qemu/osdep.h" -#include "qapi/error.h" -#include "crypto/ivgen.h" - - -struct QCryptoIVGenTestData { - const char *path; - uint64_t sector; - QCryptoIVGenAlgorithm ivalg; - QCryptoHashAlgorithm hashalg; - QCryptoCipherAlgorithm cipheralg; - const uint8_t *key; - size_t nkey; - const uint8_t *iv; - size_t niv; -} test_data[] = { - /* Small */ - { - "/crypto/ivgen/plain/1", - .sector = 0x1, - .ivalg = QCRYPTO_IVGEN_ALG_PLAIN, - .iv = (const uint8_t *)"\x01\x00\x00\x00\x00\x00\x00\x00" - "\x00\x00\x00\x00\x00\x00\x00\x00", - .niv = 16, - }, - /* Big ! */ - { - "/crypto/ivgen/plain/1f2e3d4c", - .sector = 0x1f2e3d4cULL, - .ivalg = QCRYPTO_IVGEN_ALG_PLAIN, - .iv = (const uint8_t *)"\x4c\x3d\x2e\x1f\x00\x00\x00\x00" - "\x00\x00\x00\x00\x00\x00\x00\x00", - .niv = 16, - }, - /* Truncation */ - { - "/crypto/ivgen/plain/1f2e3d4c5b6a7988", - .sector = 0x1f2e3d4c5b6a7988ULL, - .ivalg = QCRYPTO_IVGEN_ALG_PLAIN, - .iv = (const uint8_t *)"\x88\x79\x6a\x5b\x00\x00\x00\x00" - "\x00\x00\x00\x00\x00\x00\x00\x00", - .niv = 16, - }, - /* Small */ - { - "/crypto/ivgen/plain64/1", - .sector = 0x1, - .ivalg = QCRYPTO_IVGEN_ALG_PLAIN64, - .iv = (const uint8_t *)"\x01\x00\x00\x00\x00\x00\x00\x00" - "\x00\x00\x00\x00\x00\x00\x00\x00", - .niv = 16, - }, - /* Big ! */ - { - "/crypto/ivgen/plain64/1f2e3d4c", - .sector = 0x1f2e3d4cULL, - .ivalg = QCRYPTO_IVGEN_ALG_PLAIN64, - .iv = (const uint8_t *)"\x4c\x3d\x2e\x1f\x00\x00\x00\x00" - "\x00\x00\x00\x00\x00\x00\x00\x00", - .niv = 16, - }, - /* No Truncation */ - { - "/crypto/ivgen/plain64/1f2e3d4c5b6a7988", - .sector = 0x1f2e3d4c5b6a7988ULL, - .ivalg = QCRYPTO_IVGEN_ALG_PLAIN64, - .iv = (const uint8_t *)"\x88\x79\x6a\x5b\x4c\x3d\x2e\x1f" - "\x00\x00\x00\x00\x00\x00\x00\x00", - .niv = 16, - }, - /* Small */ - { - "/crypto/ivgen/essiv/1", - .sector = 0x1, - .ivalg = QCRYPTO_IVGEN_ALG_ESSIV, - .cipheralg = QCRYPTO_CIPHER_ALG_AES_128, - .hashalg = QCRYPTO_HASH_ALG_SHA256, - .key = (const uint8_t *)"\x00\x01\x02\x03\x04\x05\x06\x07" - "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", - .nkey = 16, - .iv = (const uint8_t *)"\xd4\x83\x71\xb2\xa1\x94\x53\x88" - "\x1c\x7a\x2d\06\x2d\x0b\x65\x46", - .niv = 16, - }, - /* Big ! */ - { - "/crypto/ivgen/essiv/1f2e3d4c", - .sector = 0x1f2e3d4cULL, - .ivalg = QCRYPTO_IVGEN_ALG_ESSIV, - .cipheralg = QCRYPTO_CIPHER_ALG_AES_128, - .hashalg = QCRYPTO_HASH_ALG_SHA256, - .key = (const uint8_t *)"\x00\x01\x02\x03\x04\x05\x06\x07" - "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", - .nkey = 16, - .iv = (const uint8_t *)"\x5d\x36\x09\x5d\xc6\x9e\x5e\xe9" - "\xe3\x02\x8d\xd8\x7a\x3d\xe7\x8f", - .niv = 16, - }, - /* No Truncation */ - { - "/crypto/ivgen/essiv/1f2e3d4c5b6a7988", - .sector = 0x1f2e3d4c5b6a7988ULL, - .ivalg = QCRYPTO_IVGEN_ALG_ESSIV, - .cipheralg = QCRYPTO_CIPHER_ALG_AES_128, - .hashalg = QCRYPTO_HASH_ALG_SHA256, - .key = (const uint8_t *)"\x00\x01\x02\x03\x04\x05\x06\x07" - "\x08\x09\x0a\x0b\x0c\x0d\x0e\x0f", - .nkey = 16, - .iv = (const uint8_t *)"\x58\xbb\x81\x94\x51\x83\x23\x23" - "\x7a\x08\x93\xa9\xdc\xd2\xd9\xab", - .niv = 16, - }, -}; - - -static void test_ivgen(const void *opaque) -{ - const struct QCryptoIVGenTestData *data = opaque; - uint8_t *iv = g_new0(uint8_t, data->niv); - QCryptoIVGen *ivgen = qcrypto_ivgen_new( - data->ivalg, - data->cipheralg, - data->hashalg, - data->key, - data->nkey, - &error_abort); - - qcrypto_ivgen_calculate(ivgen, - data->sector, - iv, - data->niv, - &error_abort); - - g_assert(memcmp(iv, data->iv, data->niv) == 0); - - qcrypto_ivgen_free(ivgen); - g_free(iv); -} - -int main(int argc, char **argv) -{ - size_t i; - g_test_init(&argc, &argv, NULL); - for (i = 0; i < G_N_ELEMENTS(test_data); i++) { - if (test_data[i].ivalg == QCRYPTO_IVGEN_ALG_ESSIV && - !qcrypto_hash_supports(test_data[i].hashalg)) { - continue; - } - g_test_add_data_func(test_data[i].path, - &(test_data[i]), - test_ivgen); - } - return g_test_run(); -} |