Skip to content

Commit a288887

Browse files
Phase 2: Complete RPC tracing — interface, macros, attributes, tests
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
1 parent ff3a7a0 commit a288887

36 files changed

+1421
-689
lines changed

.clang-tidy

Lines changed: 147 additions & 156 deletions
Original file line numberDiff line numberDiff line change
@@ -1,198 +1,189 @@
11
---
22
Checks: "-*,
3-
bugprone-argument-comment,
4-
bugprone-assert-side-effect,
5-
bugprone-bad-signal-to-kill-thread,
6-
bugprone-bool-pointer-implicit-conversion,
7-
bugprone-casting-through-void,
8-
bugprone-chained-comparison,
9-
bugprone-compare-pointer-to-member-virtual-function,
10-
bugprone-copy-constructor-init,
11-
bugprone-dangling-handle,
12-
bugprone-dynamic-static-initializers,
13-
bugprone-fold-init-type,
14-
bugprone-forward-declaration-namespace,
15-
bugprone-inaccurate-erase,
16-
bugprone-incorrect-enable-if,
17-
bugprone-incorrect-roundings,
18-
bugprone-infinite-loop,
19-
bugprone-integer-division,
20-
bugprone-lambda-function-name,
21-
bugprone-macro-parentheses,
22-
bugprone-macro-repeated-side-effects,
23-
bugprone-misplaced-operator-in-strlen-in-alloc,
24-
bugprone-misplaced-pointer-arithmetic-in-alloc,
25-
bugprone-misplaced-widening-cast,
26-
bugprone-multi-level-implicit-pointer-conversion,
27-
bugprone-multiple-new-in-one-expression,
28-
bugprone-multiple-statement-macro,
29-
bugprone-no-escape,
30-
bugprone-non-zero-enum-to-bool-conversion,
31-
bugprone-parent-virtual-call,
32-
bugprone-posix-return,
33-
bugprone-redundant-branch-condition,
34-
bugprone-shared-ptr-array-mismatch,
35-
bugprone-signal-handler,
36-
bugprone-signed-char-misuse,
37-
bugprone-sizeof-container,
38-
bugprone-spuriously-wake-up-functions,
39-
bugprone-standalone-empty,
40-
bugprone-string-constructor,
41-
bugprone-string-integer-assignment,
42-
bugprone-string-literal-with-embedded-nul,
43-
bugprone-stringview-nullptr,
44-
bugprone-suspicious-enum-usage,
45-
bugprone-suspicious-include,
46-
bugprone-suspicious-memory-comparison,
47-
bugprone-suspicious-memset-usage,
48-
bugprone-suspicious-realloc-usage,
49-
bugprone-suspicious-semicolon,
50-
bugprone-suspicious-string-compare,
51-
bugprone-swapped-arguments,
52-
bugprone-terminating-continue,
53-
bugprone-throw-keyword-missing,
54-
bugprone-undefined-memory-manipulation,
55-
bugprone-undelegated-constructor,
56-
bugprone-unhandled-exception-at-new,
57-
bugprone-unique-ptr-array-mismatch,
58-
bugprone-unsafe-functions,
59-
bugprone-virtual-near-miss,
60-
cppcoreguidelines-no-suspend-with-lock,
61-
cppcoreguidelines-virtual-class-destructor,
62-
hicpp-ignored-remove-result,
63-
misc-definitions-in-headers,
64-
misc-header-include-cycle,
65-
misc-misplaced-const,
66-
misc-static-assert,
67-
misc-throw-by-value-catch-by-reference,
68-
misc-unused-alias-decls,
69-
misc-unused-using-decls,
70-
readability-duplicate-include,
71-
readability-enum-initial-value,
72-
readability-misleading-indentation,
73-
readability-non-const-parameter,
74-
readability-redundant-declaration,
75-
readability-reference-to-constructed-temporary,
76-
modernize-deprecated-headers,
77-
modernize-make-shared,
78-
modernize-make-unique,
79-
performance-implicit-conversion-in-loop,
80-
performance-move-constructor-init,
81-
performance-trivially-destructible
3+
bugprone-argument-comment
824
"
83-
# ---
84-
# checks that have some issues that need to be resolved:
85-
#
86-
# bugprone-empty-catch,
5+
# bugprone-assert-side-effect,
6+
# bugprone-bad-signal-to-kill-thread,
7+
# bugprone-bool-pointer-implicit-conversion,
8+
# bugprone-casting-through-void,
9+
# bugprone-chained-comparison,
10+
# bugprone-compare-pointer-to-member-virtual-function,
11+
# bugprone-copy-constructor-init,
8712
# bugprone-crtp-constructor-accessibility,
13+
# bugprone-dangling-handle,
14+
# bugprone-dynamic-static-initializers,
15+
# bugprone-empty-catch,
16+
# bugprone-fold-init-type,
17+
# bugprone-forward-declaration-namespace,
18+
# bugprone-inaccurate-erase,
8819
# bugprone-inc-dec-in-conditions,
89-
# bugprone-reserved-identifier,
20+
# bugprone-incorrect-enable-if,
21+
# bugprone-incorrect-roundings,
22+
# bugprone-infinite-loop,
23+
# bugprone-integer-division,
24+
# bugprone-lambda-function-name,
25+
# bugprone-macro-parentheses,
26+
# bugprone-macro-repeated-side-effects,
27+
# bugprone-misplaced-operator-in-strlen-in-alloc,
28+
# bugprone-misplaced-pointer-arithmetic-in-alloc,
29+
# bugprone-misplaced-widening-cast,
9030
# bugprone-move-forwarding-reference,
91-
# bugprone-unused-local-non-trivial-variable,
31+
# bugprone-multi-level-implicit-pointer-conversion,
32+
# bugprone-multiple-new-in-one-expression,
33+
# bugprone-multiple-statement-macro,
34+
# bugprone-no-escape,
35+
# bugprone-non-zero-enum-to-bool-conversion,
36+
# bugprone-optional-value-conversion,
37+
# bugprone-parent-virtual-call,
38+
# bugprone-pointer-arithmetic-on-polymorphic-object,
39+
# bugprone-posix-return,
40+
# bugprone-redundant-branch-condition,
41+
# bugprone-reserved-identifier,
9242
# bugprone-return-const-ref-from-parameter,
93-
# bugprone-switch-missing-default-case,
43+
# bugprone-shared-ptr-array-mismatch,
44+
# bugprone-signal-handler,
45+
# bugprone-signed-char-misuse,
46+
# bugprone-sizeof-container,
9447
# bugprone-sizeof-expression,
95-
# bugprone-suspicious-stringview-data-usage,
48+
# bugprone-spuriously-wake-up-functions,
49+
# bugprone-standalone-empty,
50+
# bugprone-string-constructor,
51+
# bugprone-string-integer-assignment,
52+
# bugprone-string-literal-with-embedded-nul,
53+
# bugprone-stringview-nullptr,
54+
# bugprone-suspicious-enum-usage,
55+
# bugprone-suspicious-include,
56+
# bugprone-suspicious-memory-comparison,
57+
# bugprone-suspicious-memset-usage,
9658
# bugprone-suspicious-missing-comma,
97-
# bugprone-pointer-arithmetic-on-polymorphic-object,
98-
# bugprone-optional-value-conversion,
59+
# bugprone-suspicious-realloc-usage,
60+
# bugprone-suspicious-semicolon,
61+
# bugprone-suspicious-string-compare,
62+
# bugprone-suspicious-stringview-data-usage,
63+
# bugprone-swapped-arguments,
64+
# bugprone-switch-missing-default-case,
65+
# bugprone-terminating-continue,
66+
# bugprone-throw-keyword-missing,
9967
# bugprone-too-small-loop-variable,
100-
# bugprone-unused-return-value,
101-
# bugprone-use-after-move,
68+
# bugprone-undefined-memory-manipulation,
69+
# bugprone-undelegated-constructor,
70+
# bugprone-unhandled-exception-at-new,
10271
# bugprone-unhandled-self-assignment,
72+
# bugprone-unique-ptr-array-mismatch,
73+
# bugprone-unsafe-functions,
74+
# bugprone-unused-local-non-trivial-variable,
10375
# bugprone-unused-raii,
104-
#
105-
# cppcoreguidelines-misleading-capture-default-by-value,
76+
# bugprone-unused-return-value,
77+
# bugprone-use-after-move,
78+
# bugprone-virtual-near-miss,
10679
# cppcoreguidelines-init-variables,
80+
# cppcoreguidelines-misleading-capture-default-by-value,
81+
# cppcoreguidelines-no-suspend-with-lock,
10782
# cppcoreguidelines-pro-type-member-init,
10883
# cppcoreguidelines-pro-type-static-cast-downcast,
109-
# cppcoreguidelines-use-default-member-init,
11084
# cppcoreguidelines-rvalue-reference-param-not-moved,
111-
#
85+
# cppcoreguidelines-use-default-member-init,
86+
# cppcoreguidelines-virtual-class-destructor,
87+
# hicpp-ignored-remove-result,
11288
# llvm-namespace-comment,
11389
# misc-const-correctness,
90+
# misc-definitions-in-headers,
91+
# misc-header-include-cycle,
11492
# misc-include-cleaner,
93+
# misc-misplaced-const,
11594
# misc-redundant-expression,
116-
#
95+
# misc-static-assert,
96+
# misc-throw-by-value-catch-by-reference,
97+
# misc-unused-alias-decls,
98+
# misc-unused-using-decls,
99+
# modernize-concat-nested-namespaces,
100+
# modernize-deprecated-headers,
101+
# modernize-make-shared,
102+
# modernize-make-unique,
103+
# modernize-pass-by-value,
104+
# modernize-type-traits,
105+
# modernize-use-designated-initializers,
106+
# modernize-use-emplace,
107+
# modernize-use-equals-default,
108+
# modernize-use-equals-delete,
109+
# modernize-use-override,
110+
# modernize-use-ranges,
111+
# modernize-use-starts-ends-with,
112+
# modernize-use-std-numbers,
113+
# modernize-use-using,
114+
# performance-faster-string-find,
115+
# performance-for-range-copy,
116+
# performance-implicit-conversion-in-loop,
117+
# performance-inefficient-vector-operation,
118+
# performance-move-const-arg,
119+
# performance-move-constructor-init,
120+
# performance-no-automatic-move,
121+
# performance-trivially-destructible,
117122
# readability-avoid-nested-conditional-operator,
118123
# readability-avoid-return-with-void-value,
119124
# readability-braces-around-statements,
125+
# readability-const-return-type,
120126
# readability-container-contains,
121127
# readability-container-size-empty,
122128
# readability-convert-member-functions-to-static,
123-
# readability-const-return-type,
129+
# readability-duplicate-include,
124130
# readability-else-after-return,
131+
# readability-enum-initial-value,
125132
# readability-implicit-bool-conversion,
126133
# readability-inconsistent-declaration-parameter-name,
127134
# readability-identifier-naming,
128135
# readability-make-member-function-const,
129136
# readability-math-missing-parentheses,
137+
# readability-misleading-indentation,
138+
# readability-non-const-parameter,
139+
# readability-redundant-casting,
140+
# readability-redundant-declaration,
130141
# readability-redundant-inline-specifier,
131142
# readability-redundant-member-init,
132-
# readability-redundant-casting,
133143
# readability-redundant-string-init,
144+
# readability-reference-to-constructed-temporary,
134145
# readability-simplify-boolean-expr,
146+
# readability-static-accessed-through-instance,
135147
# readability-static-definition-in-anonymous-namespace,
136148
# readability-suspicious-call-argument,
137-
# readability-use-std-min-max,
138-
# readability-static-accessed-through-instance,
139-
#
140-
# modernize-concat-nested-namespaces,
141-
# modernize-pass-by-value,
142-
# modernize-type-traits,
143-
# modernize-use-designated-initializers,
144-
# modernize-use-emplace,
145-
# modernize-use-equals-default,
146-
# modernize-use-equals-delete,
147-
# modernize-use-override,
148-
# modernize-use-ranges,
149-
# modernize-use-starts-ends-with,
150-
# modernize-use-std-numbers,
151-
# modernize-use-using,
152-
#
153-
# performance-faster-string-find,
154-
# performance-for-range-copy,
155-
# performance-inefficient-vector-operation,
156-
# performance-move-const-arg,
157-
# performance-no-automatic-move,
158-
# ---
149+
# readability-use-std-min-max
159150
#
160-
CheckOptions:
161-
# readability-braces-around-statements.ShortStatementLines: 2
162-
# readability-identifier-naming.MacroDefinitionCase: UPPER_CASE
163-
# readability-identifier-naming.ClassCase: CamelCase
164-
# readability-identifier-naming.StructCase: CamelCase
165-
# readability-identifier-naming.UnionCase: CamelCase
166-
# readability-identifier-naming.EnumCase: CamelCase
167-
# readability-identifier-naming.EnumConstantCase: CamelCase
168-
# readability-identifier-naming.ScopedEnumConstantCase: CamelCase
169-
# readability-identifier-naming.GlobalConstantCase: UPPER_CASE
170-
# readability-identifier-naming.GlobalConstantPrefix: "k"
171-
# readability-identifier-naming.GlobalVariableCase: CamelCase
172-
# readability-identifier-naming.GlobalVariablePrefix: "g"
173-
# readability-identifier-naming.ConstexprFunctionCase: camelBack
174-
# readability-identifier-naming.ConstexprMethodCase: camelBack
175-
# readability-identifier-naming.ClassMethodCase: camelBack
176-
# readability-identifier-naming.ClassMemberCase: camelBack
177-
# readability-identifier-naming.ClassConstantCase: UPPER_CASE
178-
# readability-identifier-naming.ClassConstantPrefix: "k"
179-
# readability-identifier-naming.StaticConstantCase: UPPER_CASE
180-
# readability-identifier-naming.StaticConstantPrefix: "k"
181-
# readability-identifier-naming.StaticVariableCase: UPPER_CASE
182-
# readability-identifier-naming.StaticVariablePrefix: "k"
183-
# readability-identifier-naming.ConstexprVariableCase: UPPER_CASE
184-
# readability-identifier-naming.ConstexprVariablePrefix: "k"
185-
# readability-identifier-naming.LocalConstantCase: camelBack
186-
# readability-identifier-naming.LocalVariableCase: camelBack
187-
# readability-identifier-naming.TemplateParameterCase: CamelCase
188-
# readability-identifier-naming.ParameterCase: camelBack
189-
# readability-identifier-naming.FunctionCase: camelBack
190-
# readability-identifier-naming.MemberCase: camelBack
191-
# readability-identifier-naming.PrivateMemberSuffix: _
192-
# readability-identifier-naming.ProtectedMemberSuffix: _
193-
# readability-identifier-naming.PublicMemberSuffix: ""
194-
# readability-identifier-naming.FunctionIgnoredRegexp: ".*tag_invoke.*"
195-
bugprone-unsafe-functions.ReportMoreUnsafeFunctions: true
151+
# CheckOptions:
152+
# readability-braces-around-statements.ShortStatementLines: 2
153+
# readability-identifier-naming.MacroDefinitionCase: UPPER_CASE
154+
# readability-identifier-naming.ClassCase: CamelCase
155+
# readability-identifier-naming.StructCase: CamelCase
156+
# readability-identifier-naming.UnionCase: CamelCase
157+
# readability-identifier-naming.EnumCase: CamelCase
158+
# readability-identifier-naming.EnumConstantCase: CamelCase
159+
# readability-identifier-naming.ScopedEnumConstantCase: CamelCase
160+
# readability-identifier-naming.GlobalConstantCase: UPPER_CASE
161+
# readability-identifier-naming.GlobalConstantPrefix: "k"
162+
# readability-identifier-naming.GlobalVariableCase: CamelCase
163+
# readability-identifier-naming.GlobalVariablePrefix: "g"
164+
# readability-identifier-naming.ConstexprFunctionCase: camelBack
165+
# readability-identifier-naming.ConstexprMethodCase: camelBack
166+
# readability-identifier-naming.ClassMethodCase: camelBack
167+
# readability-identifier-naming.ClassMemberCase: camelBack
168+
# readability-identifier-naming.ClassConstantCase: UPPER_CASE
169+
# readability-identifier-naming.ClassConstantPrefix: "k"
170+
# readability-identifier-naming.StaticConstantCase: UPPER_CASE
171+
# readability-identifier-naming.StaticConstantPrefix: "k"
172+
# readability-identifier-naming.StaticVariableCase: UPPER_CASE
173+
# readability-identifier-naming.StaticVariablePrefix: "k"
174+
# readability-identifier-naming.ConstexprVariableCase: UPPER_CASE
175+
# readability-identifier-naming.ConstexprVariablePrefix: "k"
176+
# readability-identifier-naming.LocalConstantCase: camelBack
177+
# readability-identifier-naming.LocalVariableCase: camelBack
178+
# readability-identifier-naming.TemplateParameterCase: CamelCase
179+
# readability-identifier-naming.ParameterCase: camelBack
180+
# readability-identifier-naming.FunctionCase: camelBack
181+
# readability-identifier-naming.MemberCase: camelBack
182+
# readability-identifier-naming.PrivateMemberSuffix: _
183+
# readability-identifier-naming.ProtectedMemberSuffix: _
184+
# readability-identifier-naming.PublicMemberSuffix: ""
185+
# readability-identifier-naming.FunctionIgnoredRegexp: ".*tag_invoke.*"
186+
# bugprone-unsafe-functions.ReportMoreUnsafeFunctions: true
196187
# bugprone-unused-return-value.CheckedReturnTypes: ::std::error_code;::std::error_condition;::std::errc
197188
# misc-include-cleaner.IgnoreHeaders: '.*/(detail|impl)/.*;.*(expected|unexpected).*;.*ranges_lower_bound\.h;time.h;stdlib.h;__chrono/.*;fmt/chrono.h;boost/uuid/uuid_hash.hpp'
198189
#

.github/scripts/levelization/results/ordering.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,8 +174,10 @@ test.toplevel > test.csf
174174
test.toplevel > xrpl.json
175175
test.unit_test > xrpl.basics
176176
tests.libxrpl > xrpl.basics
177+
tests.libxrpl > xrpld.telemetry
177178
tests.libxrpl > xrpl.json
178179
tests.libxrpl > xrpl.net
180+
tests.libxrpl > xrpl.telemetry
179181
xrpl.conditions > xrpl.basics
180182
xrpl.conditions > xrpl.protocol
181183
xrpl.core > xrpl.basics

.github/workflows/reusable-build-test-config.yml

Lines changed: 2 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,7 @@ jobs:
101101
steps:
102102
- name: Cleanup workspace (macOS and Windows)
103103
if: ${{ runner.os == 'macOS' || runner.os == 'Windows' }}
104-
uses: XRPLF/actions/cleanup-workspace@c7d9ce5ebb03c752a354889ecd870cadfc2b1cd4
104+
uses: XRPLF/actions/cleanup-workspace@cf0433aa74563aead044a1e395610c96d65a37cf
105105

106106
- name: Checkout repository
107107
uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
@@ -229,21 +229,8 @@ jobs:
229229
env:
230230
BUILD_NPROC: ${{ steps.nproc.outputs.nproc }}
231231
run: |
232-
set -o pipefail
233-
./xrpld --unittest --unittest-jobs "${BUILD_NPROC}" 2>&1 | tee unittest.log
232+
./xrpld --unittest --unittest-jobs "${BUILD_NPROC}"
234233
235-
- name: Show test failure summary
236-
if: ${{ failure() && !inputs.build_only }}
237-
working-directory: ${{ runner.os == 'Windows' && format('{0}/{1}', env.BUILD_DIR, inputs.build_type) || env.BUILD_DIR }}
238-
run: |
239-
if [ ! -f unittest.log ]; then
240-
echo "unittest.log not found; embedded tests may not have run."
241-
exit 0
242-
fi
243-
244-
if ! grep -E "failed" unittest.log; then
245-
echo "Log present but no failure lines found in unittest.log."
246-
fi
247234
- name: Debug failure (Linux)
248235
if: ${{ failure() && runner.os == 'Linux' && !inputs.build_only }}
249236
run: |

0 commit comments

Comments
 (0)