llvm-project/libc/utils/UnitTest
Guillaume Chatelet 83f9b13d8c [libc] Optimized version of memmove
This implementation relies on storing data in registers for sizes up to 128B.
Then depending on whether `dst` is less (resp. greater) than `src` we move data forward (resp. backward) by chunks of 32B.
We first make sure one of the pointers is aligned to increase performance on large move sizes.

Differential Revision: https://reviews.llvm.org/D114637
2022-02-08 11:55:09 +00:00
..
CMakeLists.txt [libc] Optimized version of memmove 2022-02-08 11:55:09 +00: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] Add multithreading support for exhaustive testing and MPFRUtils. 2022-01-13 13:46:14 -05:00
FPMatcher.h [libc] Add multithreading support for exhaustive testing and MPFRUtils. 2022-01-13 13:46:14 -05:00
FuchsiaTest.h [libc][NFC] Add a death test API adaptation macro 2021-02-01 19:19:04 +00:00
LibcTest.cpp [libc] apply formatting to tests 2021-12-22 10:53:25 -08:00
LibcTest.h [libc][NFC] Move utils/CPP to src/__support/CPP. 2021-10-28 15:50:00 +00:00
LibcTestMain.cpp [libc] Add option to run specific tests 2021-07-23 16:08:13 +00:00
MemoryMatcher.cpp [libc] Optimized version of memmove 2022-02-08 11:55:09 +00:00
MemoryMatcher.h [libc] Optimized version of memmove 2022-02-08 11:55:09 +00:00
PlatformDefs.h [libc] Clean up Windows macros 2021-07-23 21:12:36 +00:00
README.md [libc] NFC: Fix trivial typo in comments, documents, and messages 2020-04-06 16:19:34 +09:00
Test.h [libc][NFC] add macro for fuchsia to switch test backend to zxtest 2021-01-13 21:28:02 +00:00

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.