Inside Bitcoin
Opening the selected file…
Inside Bitcoin
Opening the selected file…
The code behind the network, with room to understand it.
Release published 2026-10-28 · Snapshot fetched 2026-11-01. Latest stable release at fetch time; development branches and Git history are excluded. Only the selected code window and visible folders load here.
1#!/usr/bin/env python32# Copyright (c) 2020-present The Bitcoin Core developers3# Distributed under the MIT software license, see the accompanying4# file COPYING or http://www.opensource.org/licenses/mit-license.php.5"""Test -startupnotify."""6from test_framework.test_framework import BitcoinTestFramework7from test_framework.util import (8assert_equal,9)11NODE_DIR = "node0"12FILE_NAME = "test.txt"15class StartupNotifyTest(BitcoinTestFramework):16def set_test_params(self):17self.num_nodes = 119def run_test(self):20tmpdir_file = self.nodes[0].datadir_path / FILE_NAME21assert not tmpdir_file.exists()23self.log.info("Test -startupnotify command is run when node starts")24self.restart_node(0, extra_args=[f"-startupnotify=echo '{FILE_NAME}' >> {NODE_DIR}/{FILE_NAME}"])25self.wait_until(lambda: tmpdir_file.exists())27self.log.info("Test -startupnotify is executed once")29def get_count():30with open(tmpdir_file, "r") as f:31file_content = f.read()32return file_content.count(FILE_NAME)34self.wait_until(lambda: get_count() > 0)35assert_equal(get_count(), 1)37self.log.info("Test node is fully started")38assert_equal(self.nodes[0].getblockcount(), 200)41if __name__ == '__main__':42StartupNotifyTest(__file__).main()
Independent explanations by MyBitcoinExplorer. Not affiliated with or endorsed by Bitcoin Core. Guides are educational and do not replace the source or its tests.
Bitcoin Core source © its contributors, distributed under the MIT license. Original notices and bundled third-party licenses are retained in the source tree.