Compare commits

...

6 Commits

Author SHA1 Message Date
Denis Angell
b5581bafc9 Update Memory_test.cpp 2024-10-08 00:30:50 +02:00
Denis Angell
b128c75c0c Update Memory_test.cpp 2024-10-07 23:32:39 +02:00
Denis Angell
04fb4b20f1 Update Memory_test.cpp 2024-10-07 23:13:25 +02:00
Denis Angell
8acf291a76 Update json_value.cpp 2024-10-07 22:10:37 +02:00
Denis Angell
e40d644113 Update Door.h 2024-10-07 21:39:34 +02:00
Denis Angell
08b3a199a4 misc 2024-10-07 19:54:20 +02:00
6 changed files with 119 additions and 15 deletions

View File

@@ -726,6 +726,7 @@ if (tests)
src/test/app/LedgerReplay_test.cpp src/test/app/LedgerReplay_test.cpp
src/test/app/LoadFeeTrack_test.cpp src/test/app/LoadFeeTrack_test.cpp
src/test/app/Manifest_test.cpp src/test/app/Manifest_test.cpp
src/test/app/Memory_test.cpp
src/test/app/MultiSign_test.cpp src/test/app/MultiSign_test.cpp
src/test/app/NetworkID_test.cpp src/test/app/NetworkID_test.cpp
src/test/app/NFToken_test.cpp src/test/app/NFToken_test.cpp

View File

@@ -733,7 +733,7 @@ private:
RCLConsensus mConsensus; RCLConsensus mConsensus;
ConsensusPhase mLastConsensusPhase; ConsensusPhase mLastConsensusPhase = ConsensusPhase::unknown;
LedgerMaster& m_ledgerMaster; LedgerMaster& m_ledgerMaster;

View File

@@ -101,6 +101,9 @@ to_string(ConsensusMode m)
consensus will internally go back to open (see Consensus::handleWrongLedger). consensus will internally go back to open (see Consensus::handleWrongLedger).
*/ */
enum class ConsensusPhase { enum class ConsensusPhase {
//! We dont know the ConsensusPhase
unknown,
//! We haven't closed our ledger yet, but others might have //! We haven't closed our ledger yet, but others might have
open, open,

View File

@@ -182,6 +182,7 @@ Value::Value(ValueType type) : type_(type), allocated_(0)
switch (type) switch (type)
{ {
case nullValue: case nullValue:
value_.map_ = nullptr;
break; break;
case intValue: case intValue:

View File

@@ -201,24 +201,30 @@ Door<Handler>::Detector::do_detect(boost::asio::yield_context do_yield)
buf.data(), buf.data(),
std::move(stream_))) std::move(stream_)))
sp->run(); sp->run();
return;
} }
if (auto sp = ios().template emplace<PlainHTTPPeer<Handler>>( else
port_, {
handler_, if (auto sp = ios().template emplace<PlainHTTPPeer<Handler>>(
ioc_, port_,
j_, handler_,
remote_address_, ioc_,
buf.data(), j_,
std::move(stream_))) remote_address_,
sp->run(); buf.data(),
return; std::move(stream_)))
sp->run();
}
} }
if (ec != boost::asio::error::operation_aborted) else
{ {
JLOG(j_.trace()) << "Error detecting ssl: " << ec.message() << " from " if (ec != boost::asio::error::operation_aborted)
<< remote_address_; {
JLOG(j_.trace()) << "Error detecting ssl: " << ec.message() << " from "
<< remote_address_;
}
} }
this->close();
} }
//------------------------------------------------------------------------------ //------------------------------------------------------------------------------

View File

@@ -0,0 +1,93 @@
//------------------------------------------------------------------------------
/*
This file is part of rippled: https://github.com/ripple/rippled
Copyright (c) 2023 XRPL-Labs
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL , DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
*/
//==============================================================================
#include <ripple/protocol/Feature.h>
#include <ripple/protocol/TxFlags.h>
#include <ripple/protocol/jss.h>
#include <test/jtx.h>
namespace ripple {
namespace test {
class Memory_test : public beast::unit_test::suite
{
void
testPayment(FeatureBitset features)
{
testcase("payment");
using namespace test::jtx;
using namespace std::literals;
Env env{*this, envconfig(), features};
auto const account = Account("alice");
env.fund(XRP(1000), account);
env.close();
}
void
testHook(FeatureBitset features)
{
testcase("hook");
using namespace test::jtx;
using namespace std::literals;
Env env{*this, envconfig(), features};
auto const account = Account("alice");
auto const dest = Account("bob");
env.fund(XRP(10000), account, dest);
env.close();
env(genesis::setAcceptHook(account), fee(XRP(2)));
env.close();
env(genesis::setAcceptHook(dest), fee(XRP(2)));
env.close();
for (int i = 0; i < 2; ++i)
{
env(pay(account, dest, XRP(2)), fee(XRP(1)));
env.close();
}
}
void
testWithFeats(FeatureBitset features)
{
// testPayment(features);
testHook(features);
}
public:
void
run() override
{
using namespace test::jtx;
auto const sa = supported_amendments();
testWithFeats(sa);
}
};
BEAST_DEFINE_TESTSUITE(Memory, app, ripple);
} // namespace test
} // namespace ripple