Subject: bug#64977: 29.1; `auth-source-macos-keychain-search' handles :user key incorrectly

From: LdBeth <[email-masked]>
Date: Sat, 12 Aug 2023 10:40:36 -0500

I think it is possible to use cl-left to redefine
`auth-source-macos-keychain-search-items' to avoid calling external
security command and just check the argument passed to
`call-process'.

Something like:

(cl-letf (((symbol-function 'call-process) (lambda (&rest r) (print r))))
  (auth-source-search :user "ldb" :port "irc"))

("/usr/bin/security" nil t nil "find-internet-password" "-g" "-a" "ldb" "-r" "irc ")

("/usr/bin/security" nil t nil "find-generic-password" "-g" "-a" "ldb" "-s" "irc")

ldb

>>>>> In <[email-masked]> 
>>>>>	Michael Albinus <[email-masked]> wrote:
> LdBeth <[email-masked]> writes:

> Hi,

>> To test this function, first add password using:
>>
>> $ security add-internet-password -s irc.libera.chat -a ldb -r 'irc ' -w 'passwd'
>>
>> In emacs, use something like
>>
>> (auth-source-search :user "ldb" :port "irc")
>>
>> should about to retrieve the password.

> Thanbks.

> Do you believe it is possible to add corresponding tests to
> auth-source-tests.el, like we have for the netrc and secrets backends?

>> ldb

> Best regards, Michael.