aboutsummaryrefslogtreecommitdiff
path: root/tests/test_hardware.c
diff options
context:
space:
mode:
authorJia Tan <jiat0218@gmail.com>2022-06-10 21:35:18 +0800
committerLasse Collin <lasse.collin@tukaani.org>2022-06-10 16:58:47 +0300
commitaa75c5563a760aea3aa23d997d519e702e82726b (patch)
tree6c1219bf5d268cb1be4744a868ae9cfc20035d8d /tests/test_hardware.c
parentTests: Convert test_check to tuktest. (diff)
downloadxz-aa75c5563a760aea3aa23d997d519e702e82726b.tar.xz
Tests: Created tests for hardware functions.
Created tests for all API functions exported in src/liblzma/api/lzma/hardware.h. The tests are fairly trivial but are helpful because they will inform users if their machines cannot support these functions. They also improve the code coverage metrics.
Diffstat (limited to 'tests/test_hardware.c')
-rw-r--r--tests/test_hardware.c45
1 files changed, 45 insertions, 0 deletions
diff --git a/tests/test_hardware.c b/tests/test_hardware.c
new file mode 100644
index 00000000..34d07892
--- /dev/null
+++ b/tests/test_hardware.c
@@ -0,0 +1,45 @@
+///////////////////////////////////////////////////////////////////////////////
+//
+/// \file test_hardware.c
+/// \brief Tests src/liblzma/api/lzma/hardware.h API functions
+///
+/// Since the output values of these functions are hardware dependent, these
+/// tests are trivial. They are simply used to detect errors and machines
+/// that these function are not supported on.
+//
+// Author: Jia Tan
+//
+// This file has been put into the public domain.
+// You can do whatever you want with this file.
+//
+///////////////////////////////////////////////////////////////////////////////
+
+#include "tests.h"
+
+
+static void
+test_lzma_physmem(void)
+{
+ // NOTE: Use _skip instead of _fail because 0 can also mean that we
+ // don't know how to get this information on this operating system.
+ if (lzma_physmem() == 0)
+ assert_skip("Could not determine amount of physical memory");
+}
+
+
+static void
+test_lzma_cputhreads(void)
+{
+ if (lzma_cputhreads() == 0)
+ assert_skip("Could not determine cpu core count");
+}
+
+
+extern int
+main(int argc, char **argv)
+{
+ tuktest_start(argc, argv);
+ tuktest_run(test_lzma_physmem);
+ tuktest_run(test_lzma_cputhreads);
+ return tuktest_end();
+}