test: accept multiple execve error strings in rpc_signer #34590

pull SakshiKasat18 wants to merge 1 commits into bitcoin:master from SakshiKasat18:test/rpc-signer-execve-errno changing 1 files +22 −7
  1. SakshiKasat18 commented at 11:26 am on February 14, 2026: none

    Summary

    Relax the rpc_signer.py test to accept multiple POSIX execve failure messages when the signer command is missing.

    Motivation

    The exact errno text for execve failures can vary across environments (e.g. “No such file or directory” vs “Not a directory”, and may include errno numbers). Matching a single exact string makes the test brittle. Keep the check strict (matching the “execve failed:” prefix) while allowing expected POSIX variants.

    Refs #31506.

    How tested: export DYLD_LIBRARY_PATH="…" python3 build/test/functional/test_runner.py rpc_signer.py

  2. DrahtBot added the label Tests on Feb 14, 2026
  3. DrahtBot commented at 11:26 am on February 14, 2026: contributor

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

    Reviews

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

  4. hebasto commented at 11:50 am on February 14, 2026: member
    The first commit cbada903a3cb7d899ba016e8cbf288d51b5585f1 is empty. Please remove it.
  5. test: accept multiple execve error strings in rpc_signer 66104459c3
  6. SakshiKasat18 force-pushed on Feb 14, 2026
  7. SakshiKasat18 commented at 12:02 pm on February 14, 2026: none

    The first commit cbada90 is empty. Please remove it.

    Removed the empty cbada90 commit via rebase/force-push. The PR now contains only the test change.

  8. DrahtBot added the label CI failed on Feb 14, 2026
  9. DrahtBot removed the label CI failed on Feb 14, 2026
  10. maflcko commented at 7:58 am on February 16, 2026: member
    Was this LLM generated? What are the steps to test this? What is the output before and after the changes here?
  11. SakshiKasat18 commented at 9:57 am on February 16, 2026: none

    @maflcko No, this was not LLM generated. I wrote the change while debugging a failing functional test on my system and investigating why the error string did not match exactly.

    How to test: 1. Build Bitcoin Core as usual. 2. Run the functional test: python3 build/test/functional/test_runner.py rpc_signer.py

    Behavior before this change: The test expected the exact error message: execve failed: No such file or directory

    However, on some systems the actual RPC error message differs slightly. For example, it may include the errno number: execve failed: No such file or directory (2)

    or return a different but valid POSIX message such as: execve failed: Not a directory

    In these cases, the RPC call correctly failed, but the test itself failed with an assertion error because it was matching a single exact string.

    Behavior after this change: The test still verifies that: • the RPC call fails • the message starts with “execve failed:”

    But instead of requiring one exact string, it now allows the expected POSIX variants such as “No such file or directory” and “Not a directory”.

    This keeps the check strict while making the test portable across environments.

  12. maflcko commented at 10:04 am on February 16, 2026: member

    Well, if this wasn’t LLM generated, you could share exact steps to reproduce (copy-paste), ideally starting form a fresh install of the Distro. Also, you could share the exact output before and after.

    So far you haven’t provided neither, which I guess means that you haven’t tested/confimred this at all locally?

  13. maflcko closed this on Feb 16, 2026

  14. SakshiKasat18 commented at 5:35 am on February 17, 2026: none
    Hi @maflcko , thanks for the feedback. You’re right that I should have included exact reproduction steps and the full before/after output. I did test this locally, but I didn’t document it properly in the PR. I’ll prepare a new PR with copy-paste steps starting from a clean upstream master, along with the exact failing output before the change and the passing output after. Appreciate the review.

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-02-17 06:13 UTC

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