mirror of
https://github.com/Xahau/xahaud.git
synced 2025-11-05 03:05:49 +00:00
Compare commits
6 Commits
2024.9.11-
...
memory-tes
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b5581bafc9 | ||
|
|
b128c75c0c | ||
|
|
04fb4b20f1 | ||
|
|
8acf291a76 | ||
|
|
e40d644113 | ||
|
|
08b3a199a4 |
@@ -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
|
||||||
|
|||||||
@@ -733,7 +733,7 @@ private:
|
|||||||
|
|
||||||
RCLConsensus mConsensus;
|
RCLConsensus mConsensus;
|
||||||
|
|
||||||
ConsensusPhase mLastConsensusPhase;
|
ConsensusPhase mLastConsensusPhase = ConsensusPhase::unknown;
|
||||||
|
|
||||||
LedgerMaster& m_ledgerMaster;
|
LedgerMaster& m_ledgerMaster;
|
||||||
|
|
||||||
|
|||||||
@@ -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,
|
||||||
|
|
||||||
|
|||||||
@@ -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:
|
||||||
|
|||||||
@@ -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();
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
|||||||
93
src/test/app/Memory_test.cpp
Normal file
93
src/test/app/Memory_test.cpp
Normal 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
|
||||||
Reference in New Issue
Block a user