test: Add test for `-debuglogfile`
[bitcoinplatinum.git] / test / functional / feature_logging.py
blob24591e176f73395e22ae036b889d96191fce6a2d
1 #!/usr/bin/env python3
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."""
7 import os
9 from test_framework.test_framework import BitcoinTestFramework
11 class LoggingTest(BitcoinTestFramework):
12 def set_test_params(self):
13 self.num_nodes = 1
14 self.setup_clean_chain = True
16 def run_test(self):
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
30 self.stop_node(0)
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
35 self.stop_node(0)
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__':
42 LoggingTest().main()