ci: Put space and non-ASCII char in scratch dir #34614

pull maflcko wants to merge 3 commits into bitcoin:master from maflcko:2602-ci-space changing 6 files +25 −17
  1. maflcko commented at 1:48 PM on February 18, 2026: member

    It seems unlikely that many users have a space in their paths, but it seems a use-case worth enough to be tested by CI, so that it does not have to be done manually. Ref #33929 (review) / https://mirror.b10c.me/bitcoin-bitcoin/33929/#discussion_r2590523065

    So do that here, and also add a non-ASCII char while touching.

    Also, fix all tests that are broken and assume no space exists in paths.

  2. DrahtBot renamed this:
    ci: Put space and non-ASCII char in scratch dir
    ci: Put space and non-ASCII char in scratch dir
    on Feb 18, 2026
  3. DrahtBot added the label Tests on Feb 18, 2026
  4. DrahtBot commented at 1:48 PM on February 18, 2026: contributor

    <!--e57a25ab6845829454e8d69fc972939a-->

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

    <!--006a51241073e994b41acfe9ec718e94-->

    Code Coverage & Benchmarks

    For details see: https://corecheck.dev/bitcoin/bitcoin/pulls/34614.

    <!--021abf342d371248e50ceaed478a90ca-->

    Reviews

    See the guideline for information on the review process.

    Type Reviewers
    ACK hebasto, sedited

    If your review is incorrectly listed, please copy-paste <code>&lt;!--meta-tag:bot-skip--&gt;</code> into the comment that the bot should ignore.

    <!--174a7506f384e20aa4161008e828411d-->

    Conflicts

    No conflicts as of last run.

    <!--5faf32d7da4f0f540f40219e4f7537a3-->

  5. maflcko force-pushed on Feb 19, 2026
  6. maflcko force-pushed on Feb 19, 2026
  7. DrahtBot added the label CI failed on Feb 19, 2026
  8. maflcko force-pushed on Feb 19, 2026
  9. maflcko force-pushed on Feb 19, 2026
  10. maflcko force-pushed on Feb 19, 2026
  11. maflcko force-pushed on Feb 19, 2026
  12. maflcko force-pushed on Feb 19, 2026
  13. DrahtBot removed the label CI failed on Feb 19, 2026
  14. hebasto commented at 3:31 PM on February 19, 2026: member

    Concept ACK.

  15. maflcko commented at 3:33 PM on February 19, 2026: member

    Sorry for the force pushes, but building on Windows with a space in the path is not possible, it seems, so I've just put a space in the functional test runner temp dir.

  16. hebasto commented at 4:26 PM on February 19, 2026: member

    ... but building on Windows with a space in the path is not possible, it seems...

    True, though that appears to be a vcpkg-related issue rather than one on our end :)

    A workaround is already documented here.

    Feel free to grab changes from https://github.com/hebasto/bitcoin/commit/90470acdb9f3a8f27ab669824c37b1db816ca1dd, which is based on the previous iteration of this PR.

    UPDATE

    From the CI:

    rpc_signer.py                                                                    | βœ– Failed  | 1 s
    wallet_signer.py                                                                 | βœ– Failed  | 1 s
    
  17. DrahtBot added the label Needs rebase on Mar 4, 2026
  18. sedited commented at 10:31 AM on May 14, 2026: contributor

    @maflcko are you still working on this change?

  19. ci: Require $FILE_ENV
    The ci fails when $FILE_ENV is not set, so fail early with a clearer
    error message by setting nounset:
    
    > bash: FILE_ENV: unbound variable
    fa38759823
  20. ci: Put space and non-ASCII char in scratch dir
    Also, add a missing quote around -DCMAKE_INSTALL_PREFIX to avoid word
    splitting.
    Otherwise, cmake would warn:
    
    ```
    + cmake -S /home/runner/work/_temp -B /home/runner/work/_temp/build -DCMAKE_COMPILE_WARNING_AS_ERROR=ON -DBUILD_BENCH=ON -DBUILD_FUZZ_BINARY=ON -DCMAKE_INSTALL_PREFIX=/home/runner/work/_temp/ci/scratch_ β‚ΏπŸ§ͺ_/out -Werror=dev --preset=dev-mode -DSANITIZERS=address,float-divide-by-zero,integer,undefined -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -DCMAKE_C_FLAGS=-ftrivial-auto-var-init=pattern -DCMAKE_CXX_FLAGS=-ftrivial-auto-var-init=pattern -DCMAKE_EXE_LINKER_FLAGS=-fuse-ld=mold -DAPPEND_CXXFLAGS=-std=c++23 '-DAPPEND_CPPFLAGS=-DARENA_DEBUG -DDEBUG_LOCKORDER'
    CMake Warning:
      Ignoring extra path from command line:
       "β‚ΏπŸ§ͺ_/out"
    ```
    
    Also, allow spaces in the debug log file regex in a test.
    Otherwise, the test would fail:
    
    ```
    TestFramework (ERROR): Unexpected exception:
    Traceback (most recent call last):
      File "./test/functional/test_framework/test_framework.py", line 142, in main
        self.run_test()
        ~~~~~~~~~~~~~^^
      File "./test/functional/feature_logging.py", line 40, in run_test
        self.nodes[0].assert_start_raises_init_error([f"-debuglogfile={invalidname}"], exp_stderr, match=ErrorMatch.FULL_REGEX)
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "./test/functional/test_framework/test_node.py", line 743, in assert_start_raises_init_error
        self._raise_assertion_error(
        ~~~~~~~~~~~~~~~~~~~~~~~~~~~^
            'Expected message "{}" does not fully match stderr:\n"{}"'.format(expected_msg, stderr))
            ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "./test/functional/test_framework/test_node.py", line 229, in _raise_assertion_error
        raise AssertionError(self._node_msg(msg))
    AssertionError: [node 0] Expected message "Error: Could not open debug log file \S+$" does not fully match stderr:
    "Error: Could not open debug log file /Users/runner/work/bitcoin-core-with-ci/bitcoin-core-with-ci/repo_archive/ci/scratch_ β‚ΏπŸ§ͺ_/test_runner/test_runner_β‚Ώ_πŸƒ_20260218_095938/feature_logging_31/node0/regtest/foo/foo.log"
    ```
    
    Also, add missing quotes in a test. Otherwise, the test would fail:
    
    ```
    455/455 - feature_notifications.py failed, Duration: 402 s
    stdout:
    TestFramework (INFO): Initializing test directory /home/runner/work/_temp/ci/scratch_ β‚ΏπŸ§ͺ_/test_runner/test_runner_β‚Ώ_πŸƒ_20260218_113529/feature_notifications_128
    TestFramework (INFO): test -blocknotify
    TestFramework.utils (ERROR): wait_until() failed. Predicate: ''''
            self.wait_until(lambda: len(os.listdir(self.blocknotify_dir)) == block_count, timeout=10)
    '''
    fac6c4270d
  21. ci: Use path with spaces on windows as well 7777a92a92
  22. maflcko force-pushed on May 14, 2026
  23. DrahtBot removed the label Needs rebase on May 14, 2026
  24. maflcko commented at 2:31 PM on May 14, 2026: member

    rpc_signer.py | βœ– Failed | 1 s

    This is a bug on current master, fwiw, it also happens on Linux:

    # ./bld/test/functional/wallet_signer.py                                                                                                                                                              2026-05-14T14:22:41.612481Z TestFramework (INFO): PRNG seed is: 3369038516972251728
    2026-05-14T14:22:41.663316Z TestFramework (INFO): Initializing test directory /tmp/bitcoin_func_test_nvzneow1
    2026-05-14T14:22:42.826016Z TestFramework (ERROR): Unexpected exception:
    Traceback (most recent call last):
      File "/b-c/b_ _c/test/functional/test_framework/test_framework.py", line 143, in main
        self.run_test()
        ~~~~~~~~~~~~~^^
      File "/b-c/b_ _c/./bld/test/functional/wallet_signer.py", line 58, in run_test
        self.test_valid_signer()
        ~~~~~~~~~~~~~~~~~~~~~~^^
      File "/b-c/b_ _c/./bld/test/functional/wallet_signer.py", line 71, in test_valid_signer
        self.nodes[1].createwallet(wallet_name='hww', disable_private_keys=True, external_signer=True)
        ~~~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
      File "/b-c/b_ _c/test/functional/test_framework/coverage.py", line 50, in __call__
        return_val = self.auth_service_proxy_instance.__call__(*args, **kwargs)
      File "/b-c/b_ _c/test/functional/test_framework/authproxy.py", line 153, in __call__
        raise JSONRPCException(response['error'], status)
    test_framework.authproxy.JSONRPCException: {'code': -1, 'message': "RunCommandParseJSON error: process(/usr/bin/python3 /b-c/b_ _c/test/functional/mocks/signer.py enumerate) returned 2: /usr/bin/python3: can't open file '/b-c/b_': [Errno 2] No such file or directory\n"} [http_status=200]
    

    @maflcko are you still working on this change?

    Ah, this fell off the table. Went ahead and rebased it.

  25. maflcko commented at 2:13 PM on May 21, 2026: member

    cc @hebasto Mind taking another look here. I can open a tracking issue for the remaining issue, but fixing that will be a non-ci change.

  26. hebasto approved
  27. hebasto commented at 11:21 AM on May 22, 2026: member

    ACK 7777a92a927c5d34a4c1a58855a3e902a9a3854f.

  28. sedited approved
  29. sedited commented at 11:28 AM on May 22, 2026: contributor

    ACK 7777a92a927c5d34a4c1a58855a3e902a9a3854f

  30. sedited merged this on May 22, 2026
  31. sedited closed this on May 22, 2026

  32. maflcko deleted the branch on May 22, 2026
  33. maflcko commented at 12:05 PM on May 22, 2026: member

    Moved the subprocess.h bug to https://github.com/bitcoin/bitcoin/pull/35356

  34. fanquake commented at 12:55 PM on May 22, 2026: member

    Is this causing #35360?

    edit: Thought this was on a merge commit, but it's an open PR.


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-06-10 22:51 UTC

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