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.
This commit is contained in:
Jia Tan 2022-06-10 21:35:18 +08:00 committed by Lasse Collin
parent 5c8ffdca20
commit aa75c5563a
3 changed files with 48 additions and 0 deletions

1
.gitignore vendored
View File

@ -51,6 +51,7 @@ build-aux/test-driver
/tests/test_block_header
/tests/test_check
/tests/test_filter_flags
/tests/test_hardware
/tests/test_index
/tests/test_stream_flags
/tests/xzgrep_test_1.xz

View File

@ -39,6 +39,7 @@ LDADD += $(LTLIBINTL)
check_PROGRAMS = \
create_compress_files \
test_check \
test_hardware \
test_stream_flags \
test_filter_flags \
test_block_header \
@ -47,6 +48,7 @@ check_PROGRAMS = \
TESTS = \
test_check \
test_hardware \
test_stream_flags \
test_filter_flags \
test_block_header \

45
tests/test_hardware.c Normal file
View File

@ -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();
}