mirror of
https://github.com/bitcoin/bitcoin.git
synced 2025-03-04 07:07:45 +01:00
build: Re-enable external signer on Windows
This commit is contained in:
parent
989451d068
commit
1a0d8e178c
2 changed files with 18 additions and 5 deletions
|
@ -13,4 +13,4 @@ export DPKG_ADD_ARCH="i386"
|
||||||
export PACKAGES="python3 nsis g++-mingw-w64-x86-64-posix wine-binfmt wine64 wine32 file"
|
export PACKAGES="python3 nsis g++-mingw-w64-x86-64-posix wine-binfmt wine64 wine32 file"
|
||||||
export RUN_FUNCTIONAL_TESTS=false
|
export RUN_FUNCTIONAL_TESTS=false
|
||||||
export GOAL="deploy"
|
export GOAL="deploy"
|
||||||
export BITCOIN_CONFIG="--enable-reduce-exports --disable-external-signer --disable-gui-tests"
|
export BITCOIN_CONFIG="--enable-reduce-exports --enable-external-signer --disable-gui-tests"
|
||||||
|
|
|
@ -34,6 +34,13 @@ BOOST_AUTO_TEST_CASE(dummy)
|
||||||
|
|
||||||
BOOST_AUTO_TEST_CASE(run_command)
|
BOOST_AUTO_TEST_CASE(run_command)
|
||||||
{
|
{
|
||||||
|
#ifdef WIN32
|
||||||
|
// https://www.winehq.org/pipermail/wine-devel/2008-September/069387.html
|
||||||
|
auto hntdll = GetModuleHandleA("ntdll.dll");
|
||||||
|
assert(hntdll);
|
||||||
|
const bool wine_runtime = GetProcAddress(hntdll, "wine_get_version");
|
||||||
|
#endif
|
||||||
|
|
||||||
{
|
{
|
||||||
const UniValue result = RunCommandParseJSON("");
|
const UniValue result = RunCommandParseJSON("");
|
||||||
BOOST_CHECK(result.isNull());
|
BOOST_CHECK(result.isNull());
|
||||||
|
@ -51,21 +58,27 @@ BOOST_AUTO_TEST_CASE(run_command)
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
// An invalid command is handled by Boost
|
// An invalid command is handled by Boost
|
||||||
|
#ifdef WIN32
|
||||||
|
const int expected_error{wine_runtime ? 6 : 2};
|
||||||
|
#else
|
||||||
|
const int expected_error{2};
|
||||||
|
#endif
|
||||||
BOOST_CHECK_EXCEPTION(RunCommandParseJSON("invalid_command"), boost::process::process_error, [&](const boost::process::process_error& e) {
|
BOOST_CHECK_EXCEPTION(RunCommandParseJSON("invalid_command"), boost::process::process_error, [&](const boost::process::process_error& e) {
|
||||||
BOOST_CHECK(std::string(e.what()).find("RunCommandParseJSON error:") == std::string::npos);
|
BOOST_CHECK(std::string(e.what()).find("RunCommandParseJSON error:") == std::string::npos);
|
||||||
BOOST_CHECK_EQUAL(e.code().value(), 2);
|
BOOST_CHECK_EQUAL(e.code().value(), expected_error);
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
{
|
{
|
||||||
// Return non-zero exit code, no output to stderr
|
// Return non-zero exit code, no output to stderr
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
const std::string command{"cmd.exe /c call"};
|
const std::string command{"cmd.exe /c exit 1"};
|
||||||
#else
|
#else
|
||||||
const std::string command{"false"};
|
const std::string command{"false"};
|
||||||
#endif
|
#endif
|
||||||
BOOST_CHECK_EXCEPTION(RunCommandParseJSON(command), std::runtime_error, [&](const std::runtime_error& e) {
|
BOOST_CHECK_EXCEPTION(RunCommandParseJSON(command), std::runtime_error, [&](const std::runtime_error& e) {
|
||||||
BOOST_CHECK(std::string(e.what()).find(strprintf("RunCommandParseJSON error: process(%s) returned 1: \n", command)) != std::string::npos);
|
const std::string what{e.what()};
|
||||||
|
BOOST_CHECK(what.find(strprintf("RunCommandParseJSON error: process(%s) returned 1: \n", command)) != std::string::npos);
|
||||||
return true;
|
return true;
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
@ -73,7 +86,7 @@ BOOST_AUTO_TEST_CASE(run_command)
|
||||||
// Return non-zero exit code, with error message for stderr
|
// Return non-zero exit code, with error message for stderr
|
||||||
#ifdef WIN32
|
#ifdef WIN32
|
||||||
const std::string command{"cmd.exe /c dir nosuchfile"};
|
const std::string command{"cmd.exe /c dir nosuchfile"};
|
||||||
const std::string expected{"File Not Found"};
|
const std::string expected{wine_runtime ? "File not found." : "File Not Found"};
|
||||||
#else
|
#else
|
||||||
const std::string command{"ls nosuchfile"};
|
const std::string command{"ls nosuchfile"};
|
||||||
const std::string expected{"No such file or directory"};
|
const std::string expected{"No such file or directory"};
|
||||||
|
|
Loading…
Add table
Reference in a new issue