llvm-project/libc/utils/UnitTest
Tue Ly b80f535879 [libc][math] Implement full multiplication and quick_mul_hi for UInt class.
Implement full multiplication `UInt<A> * UInt<B> -> UInt<A + B>` and
`quick_mul_hi` that returns the higher half of the product `UInt<A> * UInt<A>`.
These 2 functions will be used for dyadic floating point class.

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D138541
2022-12-02 17:53:38 -05:00
..
CMakeLists.txt [libc] add scanf parser and core utilities 2022-10-28 10:52:51 -07:00
FPExceptMatcher.cpp [libc][NFC] Move test related pieces from FPUtil to util/UnitTest. 2021-10-29 15:37:30 +00:00
FPExceptMatcher.h [libc][NFC] Move test related pieces from FPUtil to util/UnitTest. 2021-10-29 15:37:30 +00:00
FPMatcher.cpp [libc][NFC] Use STL case for type_traits 2022-07-29 09:57:03 +00:00
FPMatcher.h [libc] Resolve NaN/implementation-defined behavior of floating-point tests 2022-10-06 21:11:47 -07:00
FuchsiaTest.h [libc] Add Fuchsia implementation of ::testing::Test 2022-06-13 21:03:51 +00:00
LibcTest.cpp [libc][math] Implement full multiplication and quick_mul_hi for UInt class. 2022-12-02 17:53:38 -05:00
LibcTest.h [libc] Add a testing macro for MPFR matchers skipping `explainError` calls. 2022-10-26 18:11:45 -04:00
LibcTestMain.cpp
MemoryMatcher.cpp [libc][test] Better reporting for MemoryMatcher 2022-09-29 12:14:05 +00:00
MemoryMatcher.h [libc][test] Better reporting for MemoryMatcher 2022-09-29 12:14:05 +00:00
PlatformDefs.h
PrintfMatcher.cpp [libc] move printf to use StringViews 2022-08-24 10:28:31 -07:00
PrintfMatcher.h [libc] add scanf parser and core utilities 2022-10-28 10:52:51 -07:00
README.md
ScanfMatcher.cpp [libc] add scanf parser and core utilities 2022-10-28 10:52:51 -07:00
ScanfMatcher.h [libc] add scanf parser and core utilities 2022-10-28 10:52:51 -07:00
StringUtils.h [libc][NFC] Use STL case for type_traits 2022-07-29 09:57:03 +00:00
Test.h

README.md

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.