test: avoid non-loopback network traffic from node_init_tests/init_test #35193

pull vasild wants to merge 1 commits into bitcoin:master from vasild:avoid_internet_traffic_from_init_test changing 2 files +3 −1
  1. vasild commented at 11:05 AM on May 1, 2026: contributor

    The test node_init_tests/init_test calls: AppInitMain() -> StartMapPort() -> StartThreadMapPort() -> ThreadMapPort() -> ProcessPCP() -> PCPRequestPortMap() -> CreateSock() and on the returned value from CreateSock() it calls the Connect() method.

    Thus, change BasicTestingSetup::BasicTestingSetup() to set -natpmp to 0. This way node_init_tests/init_test or other tests will not do network activity due to ThreadMapPort().

    Also add a comment about natpmp=0 in test/functional/test_framework/util.py.

    <!-- *** Please remove the following help text before submitting: *** Pull requests without a rationale and clear improvement may be closed immediately. GUI-related pull requests should be opened against https://github.com/bitcoin-core/gui first. See CONTRIBUTING.md -->

    <!-- Please provide clear motivation for your patch and explain how it improves Bitcoin Core user experience or Bitcoin Core developer experience significantly: * Any test improvements or new tests that improve coverage are always welcome. * All other changes should have accompanying unit tests (see `src/test/`) or functional tests (see `test/`). Contributors should note which tests cover modified code. If no tests exist for a region of modified code, new tests should accompany the change. * Bug fixes are most welcome when they come with steps to reproduce or an explanation of the potential issue as well as reasoning for the way the bug was fixed. * Features are welcome, but might be rejected due to design or scope issues. If a feature is based on a lot of dependencies, contributors should first consider building the system outside of Bitcoin Core, if possible. * Refactoring changes are only accepted if they are required for a feature or bug fix or otherwise improve developer experience significantly. For example, most "code style" refactoring changes require a thorough explanation why they are useful, what downsides they have and why they *significantly* improve developer experience or avoid serious programming bugs. Note that code style is often a subjective matter. Unless they are explicitly mentioned to be preferred in the [developer notes](/doc/developer-notes.md), stylistic code changes are usually rejected. -->

    <!-- Bitcoin Core has a thorough review process and even the most trivial change needs to pass a lot of eyes and requires non-zero or even substantial time effort to review. There is a huge lack of active reviewers on the project, so patches often sit for a long time. -->

  2. test: avoid non-loopback network traffic from node_init_tests/init_test
    The test calls:
    `AppInitMain()` -> `StartMapPort()` -> `StartThreadMapPort()` ->
    `ThreadMapPort()` -> `ProcessPCP()` -> `PCPRequestPortMap()` ->
    `CreateSock()` and on the returned value from `CreateSock()` it calls
    the `Connect()` method.
    
    Thus, change `BasicTestingSetup::BasicTestingSetup()` to set `-natpmp`
    to 0. This way `node_init_tests/init_test` or other tests will not do
    network activity due to `ThreadMapPort()`.
    
    Also add a comment about `natpmp=0` in
    `test/functional/test_framework/util.py`.
    7545f8dfd3
  3. DrahtBot added the label Tests on May 1, 2026
  4. DrahtBot commented at 11:05 AM on May 1, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

    The following sections might be updated with supplementary metadata relevant to reviewers and maintainers.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process. A summary of reviews will appear here.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  5. vasild commented at 11:18 AM on May 1, 2026: contributor

    @fjahr, @ryanofsky, maybe you would be interested in reviewing this PR because it is part of #31349 which you ACKed before in #31349 (comment) and #31349#pullrequestreview-3589303104

Contributors
Labels

github-metadata-mirror

This is a metadata mirror of the GitHub repository bitcoin/bitcoin. This site is not affiliated with GitHub. Content is generated from a GitHub metadata backup.
generated: 2026-05-02 03:12 UTC

This site is hosted by @0xB10C
More mirrored repositories can be found on mirror.b10c.me