1
0
Fork 0
mirror of https://github.com/NixOS/nix synced 2025-06-25 10:41:16 +02:00

test: Change FAIL to throw

[FAIL()] is a macro with `return`, making it unsuitable for helpers.

This uses std::runtime_error, because gtest does not seem to provide an
exception type of its own for this purpose. [AssertionException] is for
a different use case.

[FAIL()]: https://google.github.io/googletest/reference/assertions.html#FAIL
[AssertionException]: 35d0c36560/docs/reference/testing.md (assertionexception-assertionexception)
This commit is contained in:
Robert Hensing 2024-11-24 13:52:40 +01:00
parent 4eecf3c20a
commit d004c524b8
2 changed files with 3 additions and 4 deletions

View file

@ -40,7 +40,7 @@ void checkGTestWith(Testable && testable, MakeTestParams makeTestParams)
} else { } else {
std::ostringstream ss; std::ostringstream ss;
printResultMessage(result, ss); printResultMessage(result, ss);
FAIL() << ss.str() << std::endl; throw std::runtime_error(ss.str());
} }
} }
} }

View file

@ -26,14 +26,13 @@ protected:
inline void assert_ctx_ok() inline void assert_ctx_ok()
{ {
if (nix_err_code(ctx) == NIX_OK) { if (nix_err_code(ctx) == NIX_OK) {
return; return;
} }
unsigned int n; unsigned int n;
const char * p = nix_err_msg(nullptr, ctx, &n); const char * p = nix_err_msg(nullptr, ctx, &n);
std::string msg(p, n); std::string msg(p, n);
FAIL() << "nix_err_code(ctx) != NIX_OK, message: " << msg; throw std::runtime_error(std::string("nix_err_code(ctx) != NIX_OK, message: ") + msg);
} }
inline void assert_ctx_err() inline void assert_ctx_err()
@ -41,7 +40,7 @@ protected:
if (nix_err_code(ctx) != NIX_OK) { if (nix_err_code(ctx) != NIX_OK) {
return; return;
} }
FAIL() << "Got NIX_OK, but expected an error!"; throw std::runtime_error("Got NIX_OK, but expected an error!");
} }
}; };