Skip to content

Commit

Permalink
fix abort_test for limited Windows regex. Refs mesonbuild/wrapdb#1611
Browse files Browse the repository at this point in the history
PiperOrigin-RevId: 662785270
  • Loading branch information
jan-wassenberg authored and copybara-github committed Aug 19, 2024
1 parent 605cbae commit f0efe64
Showing 1 changed file with 17 additions and 14 deletions.
31 changes: 17 additions & 14 deletions hwy/abort_test.cc
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,8 @@

#include "hwy/abort.h"

#include <stdio.h>

#include <string>

#include "hwy/base.h"
Expand All @@ -27,23 +29,24 @@ TEST(AbortDeathTest, AbortDefault) {
}

TEST(AbortDeathTest, AbortOverride) {
std::string expected =
std::string("Test Abort from [0-9]+ of ") + GetBaseName(__FILE__);

ASSERT_DEATH(
{
AbortFunc CustomAbortHandler = [](const char* file, int line,
const AbortFunc CustomAbortHandler = [](const char* file, int line,
const char* formatted_err) -> void {
fprintf(stderr, "%s from %d of %s", formatted_err, line,
GetBaseName(file).data());
};
fprintf(stderr, "%s from %02d of %s", formatted_err, line,
GetBaseName(file).data());
};

SetAbortFunc(CustomAbortHandler);

SetAbortFunc(CustomAbortHandler);
HWY_ABORT("Test %s", "Abort");
},
expected);
// googletest regex does not support `+` for digits on Windows?!
// https://google.github.io/googletest/advanced.html#regular-expression-syntax
// Hence we insert the expected line number manually.
char buf[100];
const std::string file = GetBaseName(__FILE__);
const int line = __LINE__ + 2; // from which HWY_ABORT is called
snprintf(buf, sizeof(buf), "Test Abort from %02d of %s", line, file.c_str());
ASSERT_DEATH({ HWY_ABORT("Test %s", "Abort"); }, buf);
}
#endif
#endif // GTEST_HAS_DEATH_TEST

TEST(AbortTest, AbortOverrideChain) {
AbortFunc FirstHandler = [](const char* file, int line,
Expand Down

0 comments on commit f0efe64

Please sign in to comment.