mirror of
https://github.com/XRPLF/clio.git
synced 2026-04-29 15:37:53 +00:00
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
c88ffa7c92 | ||
|
|
32aeda0ce7 | ||
|
|
f174b47f49 | ||
|
|
80cdb3234a |
17
.github/workflows/clang-tidy.yml
vendored
17
.github/workflows/clang-tidy.yml
vendored
@@ -20,7 +20,7 @@ concurrency:
|
|||||||
|
|
||||||
env:
|
env:
|
||||||
CONAN_PROFILE: clang
|
CONAN_PROFILE: clang
|
||||||
LLVM_TOOLS_VERSION: 20
|
LLVM_TOOLS_VERSION: 21
|
||||||
|
|
||||||
defaults:
|
defaults:
|
||||||
run:
|
run:
|
||||||
@@ -31,7 +31,7 @@ jobs:
|
|||||||
if: github.event_name != 'push' || contains(github.event.head_commit.message, 'clang-tidy auto fixes')
|
if: github.event_name != 'push' || contains(github.event.head_commit.message, 'clang-tidy auto fixes')
|
||||||
runs-on: heavy
|
runs-on: heavy
|
||||||
container:
|
container:
|
||||||
image: ghcr.io/xrplf/clio-ci:14342e087ceb8b593027198bf9ef06a43833c696
|
image: ghcr.io/xrplf/clio-ci:f174b47f4909ae41b80406d836ab52adc39eacc6
|
||||||
|
|
||||||
permissions:
|
permissions:
|
||||||
contents: write
|
contents: write
|
||||||
@@ -84,6 +84,19 @@ jobs:
|
|||||||
pre-commit run --all-files fix-local-includes || true
|
pre-commit run --all-files fix-local-includes || true
|
||||||
pre-commit run --all-files clang-format || true
|
pre-commit run --all-files clang-format || true
|
||||||
|
|
||||||
|
- name: Generate git diff
|
||||||
|
if: ${{ steps.files_changed.outcome != 'success' }}
|
||||||
|
run: |
|
||||||
|
git diff | tee clang-tidy-git-diff.txt
|
||||||
|
|
||||||
|
- name: Upload clang-tidy diff output
|
||||||
|
if: ${{ steps.files_changed.outcome != 'success' }}
|
||||||
|
uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1
|
||||||
|
with:
|
||||||
|
name: clang-tidy-git-diff
|
||||||
|
path: clang-tidy-git-diff.txt
|
||||||
|
retention-days: 30
|
||||||
|
|
||||||
- name: Create an issue
|
- name: Create an issue
|
||||||
if: ${{ (steps.clang_tidy.outcome != 'success' || steps.files_changed.outcome != 'success') && github.event_name != 'pull_request' }}
|
if: ${{ (steps.clang_tidy.outcome != 'success' || steps.files_changed.outcome != 'success') && github.event_name != 'pull_request' }}
|
||||||
id: create_issue
|
id: create_issue
|
||||||
|
|||||||
@@ -61,7 +61,7 @@ RUN pip install -q --no-cache-dir \
|
|||||||
pre-commit
|
pre-commit
|
||||||
|
|
||||||
# Install LLVM tools
|
# Install LLVM tools
|
||||||
ARG LLVM_TOOLS_VERSION=20
|
ARG LLVM_TOOLS_VERSION=21
|
||||||
|
|
||||||
RUN echo "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-${LLVM_TOOLS_VERSION} main" >> /etc/apt/sources.list \
|
RUN echo "deb http://apt.llvm.org/focal/ llvm-toolchain-focal-${LLVM_TOOLS_VERSION} main" >> /etc/apt/sources.list \
|
||||||
&& wget --progress=dot:giga -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
|
&& wget --progress=dot:giga -O - https://apt.llvm.org/llvm-snapshot.gpg.key | apt-key add -
|
||||||
|
|||||||
@@ -14,6 +14,7 @@ The image is based on Ubuntu 20.04 and contains:
|
|||||||
- GDB 17.1
|
- GDB 17.1
|
||||||
- gh 2.83.2
|
- gh 2.83.2
|
||||||
- git-cliff 2.11.0
|
- git-cliff 2.11.0
|
||||||
|
- LLVM Tools 21
|
||||||
- mold 2.40.4
|
- mold 2.40.4
|
||||||
- Ninja 1.13.2
|
- Ninja 1.13.2
|
||||||
- Python 3.8
|
- Python 3.8
|
||||||
|
|||||||
@@ -13,7 +13,7 @@ concept TableSpec = requires {
|
|||||||
// Check that 'row' exists and is a tuple
|
// Check that 'row' exists and is a tuple
|
||||||
// keys types are at the beginning and the other fields types sort in alphabetical order
|
// keys types are at the beginning and the other fields types sort in alphabetical order
|
||||||
typename T::Row;
|
typename T::Row;
|
||||||
requires std::tuple_size<typename T::Row>::value >= 0; // Ensures 'row' is a tuple
|
requires std::tuple_size_v<typename T::Row> >= 0; // Ensures 'row' is a tuple
|
||||||
|
|
||||||
// Check that static constexpr members 'partitionKey' and 'tableName' exist
|
// Check that static constexpr members 'partitionKey' and 'tableName' exist
|
||||||
{ T::kPARTITION_KEY } -> std::convertible_to<char const*>;
|
{ T::kPARTITION_KEY } -> std::convertible_to<char const*>;
|
||||||
|
|||||||
@@ -120,10 +120,10 @@ TEST_F(SubscriptionManagerTest, ReportCurrentSubscriber)
|
|||||||
"book_changes": 2
|
"book_changes": 2
|
||||||
})JSON";
|
})JSON";
|
||||||
web::SubscriptionContextPtr const session1 = std::make_shared<MockSession>();
|
web::SubscriptionContextPtr const session1 = std::make_shared<MockSession>();
|
||||||
MockSession* mockSession1 = dynamic_cast<MockSession*>(session1.get());
|
auto const* mockSession1 = dynamic_cast<MockSession const*>(session1.get());
|
||||||
|
|
||||||
web::SubscriptionContextPtr session2 = std::make_shared<MockSession>();
|
web::SubscriptionContextPtr session2 = std::make_shared<MockSession>();
|
||||||
MockSession* mockSession2 = dynamic_cast<MockSession*>(session2.get());
|
auto const* mockSession2 = dynamic_cast<MockSession const*>(session2.get());
|
||||||
std::vector<web::SubscriptionContextInterface::OnDisconnectSlot> session2OnDisconnectSlots;
|
std::vector<web::SubscriptionContextInterface::OnDisconnectSlot> session2OnDisconnectSlots;
|
||||||
ON_CALL(*mockSession2, onDisconnect).WillByDefault([&session2OnDisconnectSlots](auto slot) {
|
ON_CALL(*mockSession2, onDisconnect).WillByDefault([&session2OnDisconnectSlots](auto slot) {
|
||||||
session2OnDisconnectSlots.push_back(slot);
|
session2OnDisconnectSlots.push_back(slot);
|
||||||
|
|||||||
@@ -166,8 +166,8 @@ TEST_F(RPCServerInfoHandlerTest, NoFeesErrorsOutWithInternal)
|
|||||||
TEST_F(RPCServerInfoHandlerTest, DefaultOutputIsPresent)
|
TEST_F(RPCServerInfoHandlerTest, DefaultOutputIsPresent)
|
||||||
{
|
{
|
||||||
MockLoadBalancer* rawBalancerPtr = mockLoadBalancerPtr_.get();
|
MockLoadBalancer* rawBalancerPtr = mockLoadBalancerPtr_.get();
|
||||||
MockCounters* rawCountersPtr = mockCountersPtr_.get();
|
MockCounters const* rawCountersPtr = mockCountersPtr_.get();
|
||||||
MockETLService* rawETLServicePtr = mockETLServicePtr_.get();
|
MockETLService const* rawETLServicePtr = mockETLServicePtr_.get();
|
||||||
|
|
||||||
auto const ledgerHeader = createLedgerHeader(kLEDGER_HASH, 30, 3); // 3 seconds old
|
auto const ledgerHeader = createLedgerHeader(kLEDGER_HASH, 30, 3); // 3 seconds old
|
||||||
EXPECT_CALL(*backend_, fetchLedgerBySequence).WillOnce(Return(ledgerHeader));
|
EXPECT_CALL(*backend_, fetchLedgerBySequence).WillOnce(Return(ledgerHeader));
|
||||||
@@ -209,8 +209,8 @@ TEST_F(RPCServerInfoHandlerTest, DefaultOutputIsPresent)
|
|||||||
TEST_F(RPCServerInfoHandlerTest, AmendmentBlockedIsPresentIfSet)
|
TEST_F(RPCServerInfoHandlerTest, AmendmentBlockedIsPresentIfSet)
|
||||||
{
|
{
|
||||||
MockLoadBalancer* rawBalancerPtr = mockLoadBalancerPtr_.get();
|
MockLoadBalancer* rawBalancerPtr = mockLoadBalancerPtr_.get();
|
||||||
MockCounters* rawCountersPtr = mockCountersPtr_.get();
|
MockCounters const* rawCountersPtr = mockCountersPtr_.get();
|
||||||
MockETLService* rawETLServicePtr = mockETLServicePtr_.get();
|
MockETLService const* rawETLServicePtr = mockETLServicePtr_.get();
|
||||||
|
|
||||||
auto const ledgerHeader = createLedgerHeader(kLEDGER_HASH, 30, 3); // 3 seconds old
|
auto const ledgerHeader = createLedgerHeader(kLEDGER_HASH, 30, 3); // 3 seconds old
|
||||||
EXPECT_CALL(*backend_, fetchLedgerBySequence).WillOnce(Return(ledgerHeader));
|
EXPECT_CALL(*backend_, fetchLedgerBySequence).WillOnce(Return(ledgerHeader));
|
||||||
@@ -250,8 +250,8 @@ TEST_F(RPCServerInfoHandlerTest, AmendmentBlockedIsPresentIfSet)
|
|||||||
TEST_F(RPCServerInfoHandlerTest, CorruptionDetectedIsPresentIfSet)
|
TEST_F(RPCServerInfoHandlerTest, CorruptionDetectedIsPresentIfSet)
|
||||||
{
|
{
|
||||||
MockLoadBalancer* rawBalancerPtr = mockLoadBalancerPtr_.get();
|
MockLoadBalancer* rawBalancerPtr = mockLoadBalancerPtr_.get();
|
||||||
MockCounters* rawCountersPtr = mockCountersPtr_.get();
|
MockCounters const* rawCountersPtr = mockCountersPtr_.get();
|
||||||
MockETLService* rawETLServicePtr = mockETLServicePtr_.get();
|
MockETLService const* rawETLServicePtr = mockETLServicePtr_.get();
|
||||||
|
|
||||||
auto const ledgerHeader = createLedgerHeader(kLEDGER_HASH, 30, 3); // 3 seconds old
|
auto const ledgerHeader = createLedgerHeader(kLEDGER_HASH, 30, 3); // 3 seconds old
|
||||||
EXPECT_CALL(*backend_, fetchLedgerBySequence).WillOnce(Return(ledgerHeader));
|
EXPECT_CALL(*backend_, fetchLedgerBySequence).WillOnce(Return(ledgerHeader));
|
||||||
@@ -291,7 +291,7 @@ TEST_F(RPCServerInfoHandlerTest, CorruptionDetectedIsPresentIfSet)
|
|||||||
TEST_F(RPCServerInfoHandlerTest, CacheReportsEnabledFlagCorrectly)
|
TEST_F(RPCServerInfoHandlerTest, CacheReportsEnabledFlagCorrectly)
|
||||||
{
|
{
|
||||||
MockLoadBalancer* rawBalancerPtr = mockLoadBalancerPtr_.get();
|
MockLoadBalancer* rawBalancerPtr = mockLoadBalancerPtr_.get();
|
||||||
MockCounters* rawCountersPtr = mockCountersPtr_.get();
|
MockCounters const* rawCountersPtr = mockCountersPtr_.get();
|
||||||
|
|
||||||
auto const ledgerHeader = createLedgerHeader(kLEDGER_HASH, 30, 3); // 3 seconds old
|
auto const ledgerHeader = createLedgerHeader(kLEDGER_HASH, 30, 3); // 3 seconds old
|
||||||
EXPECT_CALL(*backend_, fetchLedgerBySequence).Times(2).WillRepeatedly(Return(ledgerHeader));
|
EXPECT_CALL(*backend_, fetchLedgerBySequence).Times(2).WillRepeatedly(Return(ledgerHeader));
|
||||||
@@ -346,9 +346,9 @@ TEST_F(RPCServerInfoHandlerTest, CacheReportsEnabledFlagCorrectly)
|
|||||||
|
|
||||||
TEST_F(RPCServerInfoHandlerTest, AdminSectionPresentWhenAdminFlagIsSet)
|
TEST_F(RPCServerInfoHandlerTest, AdminSectionPresentWhenAdminFlagIsSet)
|
||||||
{
|
{
|
||||||
MockLoadBalancer* rawBalancerPtr = mockLoadBalancerPtr_.get();
|
MockLoadBalancer const* rawBalancerPtr = mockLoadBalancerPtr_.get();
|
||||||
MockCounters* rawCountersPtr = mockCountersPtr_.get();
|
MockCounters const* rawCountersPtr = mockCountersPtr_.get();
|
||||||
MockETLService* rawETLServicePtr = mockETLServicePtr_.get();
|
MockETLService const* rawETLServicePtr = mockETLServicePtr_.get();
|
||||||
|
|
||||||
auto const empty = json::object{};
|
auto const empty = json::object{};
|
||||||
auto const ledgerHeader = createLedgerHeader(kLEDGER_HASH, 30, 3); // 3 seconds old
|
auto const ledgerHeader = createLedgerHeader(kLEDGER_HASH, 30, 3); // 3 seconds old
|
||||||
@@ -389,9 +389,9 @@ TEST_F(RPCServerInfoHandlerTest, AdminSectionPresentWhenAdminFlagIsSet)
|
|||||||
|
|
||||||
TEST_F(RPCServerInfoHandlerTest, BackendCountersPresentWhenRequestWithParam)
|
TEST_F(RPCServerInfoHandlerTest, BackendCountersPresentWhenRequestWithParam)
|
||||||
{
|
{
|
||||||
MockLoadBalancer* rawBalancerPtr = mockLoadBalancerPtr_.get();
|
MockLoadBalancer const* rawBalancerPtr = mockLoadBalancerPtr_.get();
|
||||||
MockCounters* rawCountersPtr = mockCountersPtr_.get();
|
MockCounters const* rawCountersPtr = mockCountersPtr_.get();
|
||||||
MockETLService* rawETLServicePtr = mockETLServicePtr_.get();
|
MockETLService const* rawETLServicePtr = mockETLServicePtr_.get();
|
||||||
|
|
||||||
auto const empty = json::object{};
|
auto const empty = json::object{};
|
||||||
auto const ledgerHeader = createLedgerHeader(kLEDGER_HASH, 30, 3); // 3 seconds old
|
auto const ledgerHeader = createLedgerHeader(kLEDGER_HASH, 30, 3); // 3 seconds old
|
||||||
@@ -439,9 +439,9 @@ TEST_F(RPCServerInfoHandlerTest, BackendCountersPresentWhenRequestWithParam)
|
|||||||
|
|
||||||
TEST_F(RPCServerInfoHandlerTest, RippledForwardedValuesPresent)
|
TEST_F(RPCServerInfoHandlerTest, RippledForwardedValuesPresent)
|
||||||
{
|
{
|
||||||
MockLoadBalancer* rawBalancerPtr = mockLoadBalancerPtr_.get();
|
MockLoadBalancer const* rawBalancerPtr = mockLoadBalancerPtr_.get();
|
||||||
MockCounters* rawCountersPtr = mockCountersPtr_.get();
|
MockCounters const* rawCountersPtr = mockCountersPtr_.get();
|
||||||
MockETLService* rawETLServicePtr = mockETLServicePtr_.get();
|
MockETLService const* rawETLServicePtr = mockETLServicePtr_.get();
|
||||||
|
|
||||||
auto const empty = json::object{};
|
auto const empty = json::object{};
|
||||||
auto const ledgerHeader = createLedgerHeader(kLEDGER_HASH, 30, 3); // 3 seconds old
|
auto const ledgerHeader = createLedgerHeader(kLEDGER_HASH, 30, 3); // 3 seconds old
|
||||||
@@ -493,9 +493,9 @@ TEST_F(RPCServerInfoHandlerTest, RippledForwardedValuesPresent)
|
|||||||
|
|
||||||
TEST_F(RPCServerInfoHandlerTest, RippledForwardedValuesMissingNoExceptionThrown)
|
TEST_F(RPCServerInfoHandlerTest, RippledForwardedValuesMissingNoExceptionThrown)
|
||||||
{
|
{
|
||||||
MockLoadBalancer* rawBalancerPtr = mockLoadBalancerPtr_.get();
|
MockLoadBalancer const* rawBalancerPtr = mockLoadBalancerPtr_.get();
|
||||||
MockCounters* rawCountersPtr = mockCountersPtr_.get();
|
MockCounters const* rawCountersPtr = mockCountersPtr_.get();
|
||||||
MockETLService* rawETLServicePtr = mockETLServicePtr_.get();
|
MockETLService const* rawETLServicePtr = mockETLServicePtr_.get();
|
||||||
|
|
||||||
auto const empty = json::object{};
|
auto const empty = json::object{};
|
||||||
auto const ledgerHeader = createLedgerHeader(kLEDGER_HASH, 30, 3); // 3 seconds old
|
auto const ledgerHeader = createLedgerHeader(kLEDGER_HASH, 30, 3); // 3 seconds old
|
||||||
|
|||||||
Reference in New Issue
Block a user