llvm-project/libc/test/UnitTest
Roland McGrath 4e298c32d5 [libc] Make string tests compatible with the Fuchsia build
Some test code was doing loose conversions caught by compiler
warnings in  the Fuchsia build.  This included duplicated code
in a few tests that was reconsolidated with the existing header
file copy of the same functions.

The MemoryMatcher abstraction presumes gtest-style matcher support,
which is not available in Fuchsia's zxtest library.  It's avoided
in favor of simpler memory-comparing assertions.

Reviewed By: abrachet

Differential Revision: https://reviews.llvm.org/D146343
2023-03-20 10:22:52 -07:00
..
CMakeLists.txt
FPExceptMatcher.cpp
FPExceptMatcher.h [libc][NFC] Make tuning macros start with LIBC_COPT_ 2023-02-15 10:00:16 +00:00
FPMatcher.cpp
FPMatcher.h [libc][math] Switch math functions to use libc_errno and fix some errno and floating point exceptions. 2023-03-07 00:51:16 -05:00
FuchsiaTest.h
LibcTest.cpp
LibcTest.h
LibcTestMain.cpp
MemoryMatcher.cpp
MemoryMatcher.h [libc] Make string tests compatible with the Fuchsia build 2023-03-20 10:22:52 -07:00
PigweedTest.h [libc] Support running tests for Pigweed 2023-02-16 16:39:09 +00:00
PlatformDefs.h
PrintfMatcher.cpp
PrintfMatcher.h
README.md
ScanfMatcher.cpp
ScanfMatcher.h
StringUtils.h
Test.h [libc] Support running tests for Pigweed 2023-02-16 16:39:09 +00:00

The LLVM libc unit test framework

This directory contains a lightweight implementation of a gtest like unit test framework for LLVM libc.

Why not gtest?

While gtest is great, featureful and time tested, it uses the C and C++ standard libraries. Hence, using it to test LLVM libc (which is also an implementation of the C standard libraries) causes various kinds of mixup/conflict problems.

How is it different from gtest?

LLVM libc's unit test framework is much less featureful as compared to gtest. But, what is available strives to be exactly like gtest.

Will it be made as featureful as gtest in future?

It is not clear if LLVM libc needs/will need every feature of gtest. We only intend to extend it on an as needed basis. Hence, it might never be as featureful as gtest.