Files
bitcoin/test/functional/feature_dirsymlinks.py
MarcoFalke fa5f297748 scripted-diff: [doc] Unify stale copyright headers
-BEGIN VERIFY SCRIPT-

 sed --in-place --regexp-extended \
   's;( 20[0-2][0-9])(-20[0-2][0-9])? The Bitcoin Core developers;\1-present The Bitcoin Core developers;g' \
   $( git grep -l 'The Bitcoin Core developers' -- ':(exclude)COPYING' ':(exclude)src/ipc/libmultiprocess' ':(exclude)src/minisketch' )

-END VERIFY SCRIPT-
2025-12-16 22:21:15 +01:00

42 lines
1.1 KiB
Python
Executable File

#!/usr/bin/env python3
# Copyright (c) 2022-present 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 successful startup with symlinked directories.
"""
import os
from test_framework.test_framework import BitcoinTestFramework
def rename_and_link(*, from_name, to_name):
os.rename(from_name, to_name)
os.symlink(to_name, from_name)
assert os.path.islink(from_name) and os.path.isdir(from_name)
class SymlinkTest(BitcoinTestFramework):
def set_test_params(self):
self.num_nodes = 1
def run_test(self):
dir_new_blocks = self.nodes[0].chain_path / "new_blocks"
dir_new_chainstate = self.nodes[0].chain_path / "new_chainstate"
self.stop_node(0)
rename_and_link(
from_name=self.nodes[0].blocks_path,
to_name=dir_new_blocks,
)
rename_and_link(
from_name=self.nodes[0].chain_path / "chainstate",
to_name=dir_new_chainstate,
)
self.start_node(0)
if __name__ == "__main__":
SymlinkTest(__file__).main()