Skip to content

Test http_auth_offered fails on Windows #4591

Closed
@ehuss

Description

The test http_auth_offered is failing for me on Windows 10 with the following output:

---- http_auth_offered stdout ----
        running `H:\Proj\rust\cargo\target\debug\cargo.exe build -v`
running `H:\Proj\rust\cargo\target\debug\cargo.exe build`
thread 'http_auth_offered' panicked at '
Expected: execs
    but: differences:
 11 - |attempted to find username/password via `credential.helper`, but [..]|
    + |attempted to find username/password via git's `credential.helper` support, but failed|

The reason this happens is because this code in the git2 package assumes you have a Bourne shell in your path. Even if you have a Bourne shell (such as Git Bash or Cygwin), they often do not support Windows-style paths (in this case, the gitconfig is configured with a path like helper = H:\\Proj\\rust\\cargo\\target\\cit\\t1\\script\\target\\debug\\script.exe).

Is there something about my environment that should be different? Or does this problem happen for other people? I'm not sure what an appropriate fix would be. The official git client seems to avoid using a shell if there are no shell characters in the command (see prepare_shell_cmd), but even that assumes a backslash implies escaping, so the paths may need to be created in a unix-style.

Metadata

Assignees

No one assigned

    Labels

    A-cargo-apiArea: cargo-the-library API and internal code issuesA-testing-cargo-itselfArea: cargo's testsC-bugCategory: bugO-windowsOS: Windows

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions