bitcoincore growth – Bitcoin Core: Unit Take a look at Failure: system_tests.cpp: Line 48 BOOST_AUTO_TEST(run_command)


I cloned the Bitcoin Core and did the construct. However, I’m experiencing a Unit Take a look at Failure in system_tests.cpp, Line 48 BOOST_AUTO_TEST(run_command).

First, my setting:

  1. {Hardware}: Intel i7-8550U @1.80GHz 2001 Mhz, 4 Cores, 8 Logical Processors, x64.
  2. OS: Home windows 10 House
  3. Toolchain: Visible Studios 2019 v142, Configuration: Launch, Platform x64.

The construct completes with out errors, however I do get the next message:

C:Usersnamesourcereposbitcoin-firstbuild_msvctest_bitcointest_bitcoin.vcxproj : warning : Wildcards in venture gadgets aren’t supported in VC tasks and might trigger surprising habits, instability and efficiency degradation within the Visible Studio IDE. Please check with for supported choices.

Operating test_bitcoin, all checks go besides run_command from supply system_tests.cpp line 48. I get the next error:

struct enhance::course of::process_error: CreateProcess failed: The system can’t discover the file specified.

VS Take a look at Explorer offers moreover:

unknown location(0): exception in “run_command”: struct enhance::course of::process_error: CreateProcess failed: The system can’t discover the file specified. system_tests.cpp(52): final checkpoint:

The related code from system_tests.cpp (Please disregard any spacing syntax points after the road numbers. I manually added them in and they don’t seem to be at problem):

48 BOOST_AUTO_TEST_CASE(run_command)
49 {
50    {
51        const UniValue consequence = RunCommandParseJSON("");
52        BOOST_CHECK(consequence.isNull());
53    }
54    {
55 #ifdef WIN32
56       // Home windows requires single quotes to forestall escaping double quotes from the JSON...
57       // const UniValue consequence = RunCommandParseJSON("cmd.exe /c echo '{"success": true}'");
58        const UniValue consequence = RunCommandParseJSON("echo '{"success": true}'");
60 #else
61        // ... however Linux and macOS echo a single quote if it is used
62        const UniValue consequence = RunCommandParseJSON("echo "{"success": true}"");
63 #endif
64        BOOST_CHECK(consequence.isObject());
65        const UniValue& success = find_value(consequence, "success");
66        BOOST_CHECK(!success.isNull());
67        BOOST_CHECK_EQUAL(success.getBool(), true);
68    }
69    {
70        // An invalid command is dealt with by Enhance
71        BOOST_CHECK_EXCEPTION(RunCommandParseJSON("invalid_command"), enhance::course of::process_error, checkMessage); // Command failed
72    }
73    {
74        // Return non-zero exit code, no output to stderr
75        BOOST_CHECK_EXCEPTION(RunCommandParseJSON("false"), std::runtime_error, checkMessageFalse);
76    }
77    {
78        // Return non-zero exit code, with error message for stderr
79        BOOST_CHECK_EXCEPTION(RunCommandParseJSON("ls nosuchfile"), std::runtime_error, checkMessageStdErr);
80    }
81    {
82        BOOST_REQUIRE_THROW(RunCommandParseJSON("echo "{""), std::runtime_error); // Unable to parse JSON
83    }
84    // Take a look at std::in, apart from Home windows
85 #ifndef WIN32
86    {
87        const UniValue consequence = RunCommandParseJSON("cat", "{"success": true}");
88        BOOST_CHECK(consequence.isObject());
89        const UniValue& success = find_value(consequence, "success");
90        BOOST_CHECK(!success.isNull());
91        BOOST_CHECK_EQUAL(success.getBool(), true);
92    }
93 #endif
94 }

Line 58 is failing. Based mostly on this, I commented out line 58 and added the next Line 57:

57  const UniValue consequence = RunCommandParseJSON("cmd.exe /c echo '{"success": true}'");

Operating once more the system_tests.cpp will get me previous the CreateProcess failure, however produces the next failure in system_tests.cpp line 48, run_command():

class std::runtime_error: Unable to parse JSON: ‘{“success”: true}’.

VS Take a look at Explorer moreover states:

unknown location(0): exception in “run_command”: class std::runtime_error: Unable to parse JSON: ‘{“success”: true}’
system_tests.cpp(52): final checkpoint:

I am having a tough time believing the take a look at is incorrect–I’ve discovered nothing about this failure. As an alternative, I think I didn’t accurately set some swap or choice or configuration someplace.

Any feedback or assist can be drastically appreciated.

Supply hyperlink

Leave a reply