2 # Copyright (c) 2017 The Bitcoin Core developers
3 # Distributed under the MIT software license, see the accompanying
4 # file COPYING or http://www.opensource.org/licenses/mit-license.php.
5 """Test debug logging."""
9 from test_framework
.test_framework
import BitcoinTestFramework
11 class LoggingTest(BitcoinTestFramework
):
12 def set_test_params(self
):
14 self
.setup_clean_chain
= True
17 # test default log file name
18 assert os
.path
.isfile(os
.path
.join(self
.nodes
[0].datadir
, "regtest", "debug.log"))
20 # test alternative log file name in datadir
21 self
.restart_node(0, ["-debuglogfile=foo.log"])
22 assert os
.path
.isfile(os
.path
.join(self
.nodes
[0].datadir
, "regtest", "foo.log"))
24 # test alternative log file name outside datadir
25 tempname
= os
.path
.join(self
.options
.tmpdir
, "foo.log")
26 self
.restart_node(0, ["-debuglogfile=%s" % tempname
])
27 assert os
.path
.isfile(tempname
)
29 # check that invalid log (relative) will cause error
31 self
.assert_start_raises_init_error(0, ["-debuglogfile=ssdksjdf/sdasdfa/sdfsdfsfd"],
32 "Error: Could not open debug log file")
34 # check that invalid log (absolute) will cause error
36 invalidname
= os
.path
.join(self
.options
.tmpdir
, "foo/foo.log")
37 self
.assert_start_raises_init_error(0, ["-debuglogfile=%s" % invalidname
],
38 "Error: Could not open debug log file")
41 if __name__
== '__main__':