Michael D Kinney
d29ff296fb
UnitTestFrameworkPkg/UnitTestDebugAssertLibHost: Fix clang error
...
Fix error reported by clang in UnitTestDebugAssertLibHost
that the function snprintf() is undefined. Add include of
<stdio.h> to resolve error.
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
2025-12-23 01:10:46 +00:00
Michael D Kinney
2cb8bf6c69
UnitTestFrameworkPkg: Fix false positives from address sanitizer
...
PR #6408 introduced a host specific NORETURN function to resolve
false positives from the address sanitizer when LongJump() is
called and the stack is reset to a previous stack frame.
This approach was discussed here:
https://github.com/tianocore/edk2/pull/6408/files#r1918810499
False positives are still being observed with this initial
solution.
The address sanitizer provides __asan_handle_no_return()
to clean up shadow memory before a NORETURN function is
called and provides a simpler implementation for this
issue without having to introduce a host specific
NORETURN function.
https://github.com/llvm/llvm-project/blob/main/compiler-rt/include/sanitizer/asan_interface.h
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
2025-01-29 19:35:30 +00:00
Michael D Kinney
5f97d5391e
UnitTestFrameworkPkg/UnitTestLib: Reduce sanitizer false positive
...
Use snprintf() in host based unit tests to format log messages
and add host specific wrapper for LongJump() that is decorated
with NORETURN to provide hint to address sanitizer that LongJump()
never returns.
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
2025-01-21 05:02:38 +00:00
Michael D Kinney
2d144d7e14
UnitTestFrameworkPkg/UnitTestDebugAssertLib: Add GoogleTest support
...
REF: https://bugzilla.tianocore.org/show_bug.cgi?id=4683
Add an C++ implementation of UnitTestDebugAssert() API for
host-based environments. GoogleTest based environments throw
a C++ exception of type std::runtime_error when an ASSERT() is
triggered with a description that contains the filename, line
number, and the expression that triggered the ASSERT().
Cc: Michael Kubacki <mikuback@linux.microsoft.com >
Cc: Sean Brogan <sean.brogan@microsoft.com >
Signed-off-by: Michael D Kinney <michael.d.kinney@intel.com >
Reviewed-by: Michael Kubacki <michael.kubacki@microsoft.com >
2024-02-14 02:37:16 +00:00