18#include <boost/test/unit_test.hpp>
29 if (!
name)
return false;
30 const std::string_view n{
name};
31 if (n ==
"valid_json") {
32 std::cout << R
"({"success": true})" << std::endl;
35 if (n ==
"nonzeroexit_nooutput") {
38 if (n ==
"nonzeroexit_stderroutput") {
39 std::cerr <<
"err" << std::endl;
42 if (n ==
"invalid_json") {
43 std::cout <<
"{" << std::endl;
46 if (n ==
"pass_stdin_to_stdout") {
48 std::getline(std::cin, s);
49 std::cout <<
s << std::endl;
52 std::cerr <<
"Unknown mock process: " << n << std::endl;
66 return {boost::unit_test::framework::master_test_suite().argv[0]};
85 const std::string expected{
"CreateProcess failed: "};
87 const std::string expected{
"execve failed: "};
95 const std::string what{
e.what()};
103 const std::string expected{
"err"};
105 const std::string what(
e.what());
107 BOOST_CHECK(what.find(expected) != std::string::npos);
BOOST_CHECK_EXCEPTION predicates to check the specific validation error.
const UniValue & find_value(std::string_view key) const
BOOST_FIXTURE_TEST_SUITE(cuckoocache_tests, BasicTestingSetup)
Test Suite for CuckooCache.
BOOST_AUTO_TEST_SUITE_END()
BOOST_CHECK_EXCEPTION(HTTPHeaders{}.Read(reader), std::runtime_error, HasReason{"Empty HTTP header name"})
auto Join(const C &container, const S &separator, UnaryOp unary_op)
Join all container items.
#define BOOST_CHECK_EQUAL(v1, v2)
#define BOOST_CHECK(expr)
UniValue RunCommandParseJSON(const std::vector< std::string > &cmd_args, const std::string &str_std_in)
Execute a command which returns JSON, and parse the result.
static std::vector< std::string > mock_executable(const std::string &name)
BOOST_AUTO_TEST_CASE(run_command)
constexpr auto Ticks(Dur2 d)
Helper to count the seconds of a duration/time_point.