summaryrefslogtreecommitdiff
path: root/src/lib/tests
diff options
context:
space:
mode:
authorDimitri Staessens <dimitri@ouroboros.rocks>2026-04-26 07:56:38 +0200
committerSander Vrijders <sander@ouroboros.rocks>2026-05-06 09:05:02 +0200
commit4cfc607ebbff840991d893a8c0fa3a004caeb416 (patch)
tree5fd8029adab78566a429b55997482c626d6b4542 /src/lib/tests
parent8b5e03fff17dcfcdd73ed40d950ee998d7e9d9f1 (diff)
downloadouroboros-4cfc607ebbff840991d893a8c0fa3a004caeb416.tar.gz
ouroboros-4cfc607ebbff840991d893a8c0fa3a004caeb416.zip
lib: Move CRC implementations to a subfolder
Signed-off-by: Dimitri Staessens <dimitri@ouroboros.rocks> Signed-off-by: Sander Vrijders <sander@ouroboros.rocks>
Diffstat (limited to 'src/lib/tests')
-rw-r--r--src/lib/tests/CMakeLists.txt4
-rw-r--r--src/lib/tests/crc16_test.c67
-rw-r--r--src/lib/tests/crc32_test.c72
-rw-r--r--src/lib/tests/crc64_test.c126
-rw-r--r--src/lib/tests/crc8_test.c67
5 files changed, 0 insertions, 336 deletions
diff --git a/src/lib/tests/CMakeLists.txt b/src/lib/tests/CMakeLists.txt
index afe64884..337d85a6 100644
--- a/src/lib/tests/CMakeLists.txt
+++ b/src/lib/tests/CMakeLists.txt
@@ -10,10 +10,6 @@ create_test_sourcelist(${PARENT_DIR}_tests test_suite.c
auth_test_slh_dsa.c
bitmap_test.c
btree_test.c
- crc8_test.c
- crc16_test.c
- crc32_test.c
- crc64_test.c
crypt_test.c
hash_test.c
kex_test.c
diff --git a/src/lib/tests/crc16_test.c b/src/lib/tests/crc16_test.c
deleted file mode 100644
index 03a5b504..00000000
--- a/src/lib/tests/crc16_test.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Ouroboros - Copyright (C) 2016 - 2026
- *
- * Test of the CRC-16/CCITT-FALSE function
- *
- * Dimitri Staessens <dimitri@ouroboros.rocks>
- * Sander Vrijders <sander@ouroboros.rocks>
- *
- * 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.
- *
- * This program 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 this program; if not, write to the Free Software
- * Foundation, Inc., http://www.fsf.org/about/contact/.
- */
-
-#include "config.h"
-
-#include <ouroboros/crc16.h>
-
-#include <test/test.h>
-
-#include <stddef.h>
-#include <stdint.h>
-#include <stdio.h>
-
-/* reveng-catalog smoke vectors. */
-static int test_crc16_ccitt_false_basic(void)
-{
- uint16_t crc;
-
- TEST_START();
-
- crc = 0;
- crc16_ccitt_false(&crc, "", 0);
- if (crc != 0xffff)
- goto fail;
-
- crc = 0;
- crc16_ccitt_false(&crc, "123456789", 9);
- if (crc != 0x29b1)
- goto fail;
-
- TEST_SUCCESS();
- return TEST_RC_SUCCESS;
- fail:
- TEST_FAIL();
- return TEST_RC_FAIL;
-}
-
-int crc16_test(int argc,
- char ** argv)
-{
- int ret = 0;
-
- (void) argc;
- (void) argv;
-
- ret |= test_crc16_ccitt_false_basic();
- return ret;
-}
diff --git a/src/lib/tests/crc32_test.c b/src/lib/tests/crc32_test.c
deleted file mode 100644
index 5a1ddd87..00000000
--- a/src/lib/tests/crc32_test.c
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Ouroboros - Copyright (C) 2016 - 2026
- *
- * Test of the CRC32 function
- *
- * Dimitri Staessens <dimitri@ouroboros.rocks>
- * Sander Vrijders <sander@ouroboros.rocks>
- *
- * 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.
- *
- * This program 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 this program; if not, write to the Free Software
- * Foundation, Inc., http://www.fsf.org/about/contact/.
- */
-
-#include <ouroboros/crc32.h>
-
-#include <stdlib.h>
-#include <stdint.h>
-#include <assert.h>
-#include <string.h>
-#include <stdio.h>
-
-/*
- * Test vectors calculated at
- * https://www.lammertbies.nl/comm/info/crc-calculation.html
- */
-
-int crc32_test(int argc,
- char ** argv)
-{
- uint32_t crc = 0;
- int i = 0;
-
- (void) argc;
- (void) argv;
-
- crc32(&crc, "0", 1);
- if (crc != 0xF4DBDF21)
- return -1;
-
- crc = 0;
-
- crc32(&crc, "123456789", 9);
- if (crc != 0xCBF43926)
- return -1;
-
- crc = 0;
-
- crc32(&crc, "987654321", 9);
- if (crc != 0x015F0201)
- return -1;
-
- crc32(&crc, "123456789", 9);
- if (crc != 0x806B60E3)
- return -1;
-
- crc = 0;
-
- crc32(&crc, &i , 1);
- if (crc != 0xD202EF8D)
- return -1;
-
- return 0;
-}
diff --git a/src/lib/tests/crc64_test.c b/src/lib/tests/crc64_test.c
deleted file mode 100644
index cf3f5ca3..00000000
--- a/src/lib/tests/crc64_test.c
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Ouroboros - Copyright (C) 2016 - 2026
- *
- * Test of the CRC-64/NVMe function
- *
- * Dimitri Staessens <dimitri@ouroboros.rocks>
- * Sander Vrijders <sander@ouroboros.rocks>
- *
- * 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.
- *
- * This program 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 this program; if not, write to the Free Software
- * Foundation, Inc., http://www.fsf.org/about/contact/.
- */
-
-#include "config.h"
-
-#include <ouroboros/crc64.h>
-#include <ouroboros/random.h>
-
-#include <test/test.h>
-
-#include <stddef.h>
-#include <stdint.h>
-#include <stdio.h>
-
-/* Reference impl, internal to libouroboros-common. */
-extern void crc64_nvme_table(uint64_t * crc,
- const void * buf,
- size_t len);
-
-/* reveng-catalog smoke vectors plus a 16-byte fold-boundary check. */
-static int test_crc64_nvme_basic(void)
-{
- uint64_t crc;
-
- TEST_START();
-
- crc = 0;
- crc64_nvme(&crc, "", 0);
- if (crc != 0x0000000000000000ULL)
- goto fail;
-
- crc = 0;
- crc64_nvme(&crc, "123456789", 9);
- if (crc != 0xae8b14860a799888ULL)
- goto fail;
-
- crc = 0;
- crc64_nvme(&crc, "0123456789abcdef", 16);
- if (crc != 0x091485ca7018730eULL)
- goto fail;
-
- TEST_SUCCESS();
- return TEST_RC_SUCCESS;
- fail:
- TEST_FAIL();
- return TEST_RC_FAIL;
-}
-
-#if defined(HAVE_PCLMUL) || defined(HAVE_PMULL)
-/* Cross-check the accelerated dispatcher path against the byte-table. */
-static int test_crc64_nvme_random(void)
-{
- static const size_t lens[] = {
- 0, 1, 7, 8, 15, 16, 17, 31, 32, 33, 63, 64, 65, 127, 128,
- 129, 255, 256, 257, 1023, 1024, 1025, 4096
- };
- uint8_t buf[4096];
- size_t i;
- uint64_t ref;
- uint64_t got;
-
- TEST_START();
-
- if (random_buffer(buf, sizeof(buf)) < 0) {
- printf("Failed to generate random data.\n");
- goto fail;
- }
-
- for (i = 0; i < sizeof(lens) / sizeof(lens[0]); i++) {
- ref = 0;
- crc64_nvme_table(&ref, buf, lens[i]);
-
- got = 0;
- crc64_nvme(&got, buf, lens[i]);
-
- if (ref == got)
- continue;
-
- printf("Mismatch at len=%zu: table=0x%016lx disp=0x%016lx\n",
- lens[i],
- (unsigned long) ref,
- (unsigned long) got);
- goto fail;
- }
-
- TEST_SUCCESS();
- return TEST_RC_SUCCESS;
- fail:
- TEST_FAIL();
- return TEST_RC_FAIL;
-#endif
-}
-
-int crc64_test(int argc,
- char ** argv)
-{
- int ret = 0;
-
- (void) argc;
- (void) argv;
-
- ret |= test_crc64_nvme_basic();
-#if defined(HAVE_PCLMUL) || defined(HAVE_PMULL)
- ret |= test_crc64_nvme_random();
-#endif
- return ret;
-}
diff --git a/src/lib/tests/crc8_test.c b/src/lib/tests/crc8_test.c
deleted file mode 100644
index f7bb33b8..00000000
--- a/src/lib/tests/crc8_test.c
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Ouroboros - Copyright (C) 2016 - 2026
- *
- * Test of the CRC-8/AUTOSAR function
- *
- * Dimitri Staessens <dimitri@ouroboros.rocks>
- * Sander Vrijders <sander@ouroboros.rocks>
- *
- * 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.
- *
- * This program 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 this program; if not, write to the Free Software
- * Foundation, Inc., http://www.fsf.org/about/contact/.
- */
-
-#include "config.h"
-
-#include <ouroboros/crc8.h>
-
-#include <test/test.h>
-
-#include <stddef.h>
-#include <stdint.h>
-#include <stdio.h>
-
-/* reveng-catalog smoke vectors. */
-static int test_crc8_autosar_basic(void)
-{
- uint8_t crc;
-
- TEST_START();
-
- crc = 0;
- crc8_autosar(&crc, "", 0);
- if (crc != 0x00)
- goto fail;
-
- crc = 0;
- crc8_autosar(&crc, "123456789", 9);
- if (crc != 0xdf)
- goto fail;
-
- TEST_SUCCESS();
- return TEST_RC_SUCCESS;
- fail:
- TEST_FAIL();
- return TEST_RC_FAIL;
-}
-
-int crc8_test(int argc,
- char ** argv)
-{
- int ret = 0;
-
- (void) argc;
- (void) argv;
-
- ret |= test_crc8_autosar_basic();
- return ret;
-}