public inbox for git@vger.kernel.org
 help / color / mirror / Atom feed
* Test "t0300-credentials" is failing on Arch/Artix: asks to enter the Username/Password in an infinite loop
@ 2026-03-06  0:42 Ivan Ivanov
  2026-03-06  1:05 ` Ivan Ivanov
  0 siblings, 1 reply; 12+ messages in thread
From: Ivan Ivanov @ 2026-03-06  0:42 UTC (permalink / raw)
  To: git

Good day! While trying to rebuild git for Arch/Artix, I run into the
following problem: shortly after "*** prove (shell & unit tests) ***"
I get asked the Username/Password in an endless loop. Below are the
full logs, as well as the contents of
./test-results/t0300-credentials.out file, hope this is helpful for
debugging. Please note that I have all the dependencies installed,
even the optional ones like Apache HTTPD (some online manuals
suggested doing that, but didn't help to pass this test)

==> Starting check()...
    GEN git-difftool--helper
    GEN git-filter-branch
    GEN git-merge-octopus
    GEN git-merge-one-file
    GEN git-merge-resolve
    GEN git-mergetool
    GEN git-quiltimport
    GEN git-request-pull
    GEN git-submodule
    GEN git-web--browse
    GEN git-archimport
    GEN git-cvsexportcommit
    GEN git-cvsimport
    GEN git-cvsserver
    GEN git-send-email
    GEN git-svn
    GEN git-p4
    GEN git-instaweb
    GEN git-mergetool--lib
    GEN git-sh-i18n
    GEN git-sh-setup
    SUBDIR git-gui
    SUBDIR gitk-git
    SUBDIR templates
    GEN perl/build/lib/Git.pm
    GEN perl/build/lib/Git/I18N.pm
    GEN perl/build/lib/Git/IndexInfo.pm
    GEN perl/build/lib/Git/LoadCPAN.pm
    GEN perl/build/lib/Git/Packet.pm
    GEN perl/build/lib/Git/SVN.pm
    GEN perl/build/lib/Git/LoadCPAN/Error.pm
    GEN perl/build/lib/Git/SVN/Editor.pm
    GEN perl/build/lib/Git/SVN/Fetcher.pm
    GEN perl/build/lib/Git/SVN/GlobSpec.pm
    GEN perl/build/lib/Git/SVN/Log.pm
    GEN perl/build/lib/Git/SVN/Migration.pm
    GEN perl/build/lib/Git/SVN/Prompt.pm
    GEN perl/build/lib/Git/SVN/Ra.pm
    GEN perl/build/lib/Git/SVN/Utils.pm
    GEN perl/build/lib/Git/LoadCPAN/Mail/Address.pm
    GEN perl/build/lib/Git/SVN/Memoize/YAML.pm
make -C t/ all
make[1]: Entering directory '/home/username/artix_git/src/git/t'
rm -f -r 'test-results'
*** prove (shell & unit tests) ***
Username for 'http://example.com':
Password for 'http://example.com':
Username for 'http://example.com':
Password for 'http://example.com':

/src/git/t$ cat ./test-results/t0300-credentials.out
Initialized empty Git repository in /dev/shm/git-test/trash
directory.t0300-credentials/.git/
expecting success of 0300.1 'setup helper scripts':
    cat >dump <<-\EOF &&
    whoami=$(echo $0 | sed s/.*git-credential-//)
    echo >&2 "$whoami: $*"
    OIFS=$IFS
    IFS==
    while read key value; do
        echo >&2 "$whoami: $key=$value"
        if test -z "${key%%*\[\]}"
        then
            key=${key%%\[\]}
            eval "$key=\"\$$key $value\""
        else
            eval "$key=$value"
        fi
    done
    IFS=$OIFS
    EOF

    write_script git-credential-useless <<-\EOF &&
    . ./dump
    exit 0
    EOF

    write_script git-credential-quit <<-\EOF &&
    . ./dump
    echo quit=1
    EOF

    write_script git-credential-verbatim <<-\EOF &&
    user=$1; shift
    pass=$1; shift
    . ./dump
    test -z "$user" || echo username=$user
    test -z "$pass" || echo password=$pass
    EOF

    write_script git-credential-verbatim-cred <<-\EOF &&
    authtype=$1; shift
    credential=$1; shift
    . ./dump
    echo capability[]=authtype
    echo capability[]=state
    test -z "${capability##*authtype*}" || exit 0
    test -z "$authtype" || echo authtype=$authtype
    test -z "$credential" || echo credential=$credential
    test -z "${capability##*state*}" || exit 0
    echo state[]=verbatim-cred:foo
    EOF

    write_script git-credential-verbatim-ephemeral <<-\EOF &&
    authtype=$1; shift
    credential=$1; shift
    . ./dump
    echo capability[]=authtype
    test -z "${capability##*authtype*}" || exit 0
    test -z "$authtype" || echo authtype=$authtype
    test -z "$credential" || echo credential=$credential
    echo "ephemeral=1"
    EOF

    write_script git-credential-verbatim-with-expiry <<-\EOF &&
    user=$1; shift
    pass=$1; shift
    pexpiry=$1; shift
    . ./dump
    test -z "$user" || echo username=$user
    test -z "$pass" || echo password=$pass
    test -z "$pexpiry" || echo password_expiry_utc=$pexpiry
    EOF

    write_script git-credential-cntrl-in-username <<-\EOF &&
    printf "username=\\007latrix Lestrange\\n"
    EOF

    PATH="$PWD:$PATH"

ok 1 - setup helper scripts

expecting success of 0300.2 'credential_fill invokes helper':
    check fill "verbatim foo bar" <<-\EOF
    protocol=http
    host=example.com
    --
    protocol=http
    host=example.com
    username=foo
    password=bar
    --
    verbatim: get
    verbatim: protocol=http
    verbatim: host=example.com
    EOF

--- expect-stdout    2026-03-06 00:33:02.009338195 +0000
+++ stdout    2026-03-06 00:33:07.569338321 +0000
@@ -1,4 +1,4 @@
 protocol=http
 host=example.com
-username=foo
-password=bar
+username=
+password=
not ok 2 - credential_fill invokes helper
#
#        check fill "verbatim foo bar" <<-\EOF
#        protocol=http
#        host=example.com
#        --
#        protocol=http
#        host=example.com
#        username=foo
#        password=bar
#        --
#        verbatim: get
#        verbatim: protocol=http
#        verbatim: host=example.com
#        EOF
#

expecting success of 0300.3 'credential_fill invokes helper with credential':
    check fill "verbatim-cred Bearer token" <<-\EOF
    capability[]=authtype
    protocol=http
    host=example.com
    --
    capability[]=authtype
    authtype=Bearer
    credential=token
    protocol=http
    host=example.com
    --
    verbatim-cred: get
    verbatim-cred: capability[]=authtype
    verbatim-cred: protocol=http
    verbatim-cred: host=example.com
    EOF

--- expect-stdout    2026-03-06 00:33:07.581338322 +0000
+++ stdout    2026-03-06 00:33:08.191338336 +0000
@@ -1,5 +1,4 @@
-capability[]=authtype
-authtype=Bearer
-credential=token
 protocol=http
 host=example.com
+username=
+password=
not ok 3 - credential_fill invokes helper with credential
#
#        check fill "verbatim-cred Bearer token" <<-\EOF
#        capability[]=authtype
#        protocol=http
#        host=example.com
#        --
#        capability[]=authtype
#        authtype=Bearer
#        credential=token
#        protocol=http
#        host=example.com
#        --
#        verbatim-cred: get
#        verbatim-cred: capability[]=authtype
#        verbatim-cred: protocol=http
#        verbatim-cred: host=example.com
#        EOF
#

expecting success of 0300.4 'credential_fill invokes helper with
ephemeral credential':
    check fill "verbatim-ephemeral Bearer token" <<-\EOF
    capability[]=authtype
    protocol=http
    host=example.com
    --
    capability[]=authtype
    authtype=Bearer
    credential=token
    ephemeral=1
    protocol=http
    host=example.com
    --
    verbatim-ephemeral: get
    verbatim-ephemeral: capability[]=authtype
    verbatim-ephemeral: protocol=http
    verbatim-ephemeral: host=example.com
    EOF

^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2026-03-06 21:17 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-03-06  0:42 Test "t0300-credentials" is failing on Arch/Artix: asks to enter the Username/Password in an infinite loop Ivan Ivanov
2026-03-06  1:05 ` Ivan Ivanov
2026-03-06  1:23   ` brian m. carlson
2026-03-06  1:44     ` Ivan Ivanov
2026-03-06  1:59       ` brian m. carlson
2026-03-06  2:14         ` Ivan Ivanov
2026-03-06  2:19           ` Ivan Ivanov
2026-03-06  4:38           ` Jeff King
2026-03-06 14:14             ` Ivan Ivanov
2026-03-06 16:01               ` Jeff King
2026-03-06 17:36                 ` Ivan Ivanov
2026-03-06 21:17                   ` brian m. carlson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox