Page Menu
Home
Phabricator
Search
Configure Global Search
Log In
Files
F28027369
rpc_help.py
No One
Temporary
Actions
Download File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
2 KB
Subscribers
None
rpc_help.py
View Options
#!/usr/bin/env python3
# Copyright (c) 2018 The Bitcoin Core developers
# Distributed under the MIT software license, see the accompanying
# file COPYING or http://www.opensource.org/licenses/mit-license.php.
"""Test RPC help output."""
from
test_framework.test_framework
import
BitcoinTestFramework
from
test_framework.util
import
assert_equal
,
assert_raises_rpc_error
import
os
class
HelpRpcTest
(
BitcoinTestFramework
):
def
set_test_params
(
self
):
self
.
num_nodes
=
1
self
.
supports_cli
=
False
def
run_test
(
self
):
self
.
test_categories
()
self
.
dump_help
()
def
test_categories
(
self
):
node
=
self
.
nodes
[
0
]
# wrong argument count
assert_raises_rpc_error
(
-
1
,
'help'
,
node
.
help
,
'foo'
,
'bar'
)
# invalid argument
assert_raises_rpc_error
(
-
1
,
'JSON value is not a string as expected'
,
node
.
help
,
0
)
# help of unknown command
assert_equal
(
node
.
help
(
'foo'
),
'help: unknown command: foo'
)
# command titles
titles
=
[
line
[
3
:
-
3
]
for
line
in
node
.
help
()
.
splitlines
()
if
line
.
startswith
(
'=='
)]
components
=
[
'Avalanche'
,
'Blockchain'
,
'Control'
,
'Generating'
,
'Mining'
,
'Network'
,
'Rawtransactions'
,
'Util'
]
if
self
.
is_wallet_compiled
():
components
.
append
(
'Wallet'
)
if
self
.
is_zmq_compiled
():
components
.
append
(
'Zmq'
)
assert_equal
(
titles
,
components
)
def
dump_help
(
self
):
dump_dir
=
os
.
path
.
join
(
self
.
options
.
tmpdir
,
'rpc_help_dump'
)
os
.
mkdir
(
dump_dir
)
calls
=
[
line
.
split
(
' '
,
1
)[
0
]
for
line
in
self
.
nodes
[
0
]
.
help
(
)
.
splitlines
()
if
line
and
not
line
.
startswith
(
'=='
)]
for
call
in
calls
:
with
open
(
os
.
path
.
join
(
dump_dir
,
call
),
'w'
,
encoding
=
'utf-8'
)
as
f
:
# Make sure the node can generate the help at runtime without
# crashing
f
.
write
(
self
.
nodes
[
0
]
.
help
(
call
))
if
__name__
==
'__main__'
:
HelpRpcTest
()
.
main
()
File Metadata
Details
Attached
Mime Type
text/x-python
Expires
Mon, Nov 17, 01:08 (8 h, 15 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
7015745
Default Alt Text
rpc_help.py (2 KB)
Attached To
rABC Bitcoin ABC
Event Timeline
Log In to Comment