tree: c3e6cec5de31c4b28166e802b417a1f0e9abb39f [path history] [tgz]
  1. BazelFilePath.cpp
  2. CmakeFilePath.cpp
  3. CMakeLists.txt
  4. ErrnoSetterMatcher.h
  5. ExecuteFunction.h
  6. ExecuteFunctionUnix.cpp
  7. FPExceptMatcher.cpp
  8. FPExceptMatcher.h
  9. FPMatcher.h
  10. FuchsiaTest.h
  11. HermeticTestUtils.cpp
  12. LibcDeathTestExecutors.cpp
  13. LibcTest.cpp
  14. LibcTest.h
  15. LibcTestMain.cpp
  16. MemoryMatcher.cpp
  17. MemoryMatcher.h
  18. PigweedTest.h
  19. PlatformDefs.h
  20. PrintfMatcher.cpp
  21. PrintfMatcher.h
  22. README.md
  23. RoundingModeUtils.cpp
  24. RoundingModeUtils.h
  25. ScanfMatcher.cpp
  26. ScanfMatcher.h
  27. StringUtils.h
  28. Test.h
  29. TestLogger.cpp
  30. TestLogger.h
test/UnitTest/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.