@@ -36,17 +36,15 @@ impl<'a> Credential for CredentialProcessCredential {
3636 cmd. stdin ( Stdio :: piped ( ) ) ;
3737 cmd. arg ( "--cargo-plugin" ) ;
3838 log:: debug!( "credential-process: {cmd:?}" ) ;
39- let mut child = cmd. spawn ( ) . with_context ( || {
40- format ! (
41- "failed to spawn credential process `{}`" ,
42- self . path. display( )
43- )
44- } ) ?;
39+ let mut child = cmd. spawn ( ) . context ( "failed to spawn credential process" ) ?;
4540 let mut output_from_child = BufReader :: new ( child. stdout . take ( ) . unwrap ( ) ) ;
4641 let mut input_to_child = child. stdin . take ( ) . unwrap ( ) ;
4742 let mut buffer = String :: new ( ) ;
48- output_from_child. read_line ( & mut buffer) ?;
49- let credential_hello: CredentialHello = serde_json:: from_str ( & buffer) ?;
43+ output_from_child
44+ . read_line ( & mut buffer)
45+ . context ( "failed to read hello from credential provider" ) ?;
46+ let credential_hello: CredentialHello =
47+ serde_json:: from_str ( & buffer) . context ( "failed to deserialize hello" ) ?;
5048 log:: debug!( "credential-process > {credential_hello:?}" ) ;
5149
5250 let req = CredentialRequest {
@@ -55,17 +53,19 @@ impl<'a> Credential for CredentialProcessCredential {
5553 registry : registry. clone ( ) ,
5654 args : args. to_vec ( ) ,
5755 } ;
58- let request = serde_json:: to_string ( & req) ?;
56+ let request = serde_json:: to_string ( & req) . context ( "failed to serialize request" ) ?;
5957 log:: debug!( "credential-process < {req:?}" ) ;
60- writeln ! ( input_to_child, "{request}" ) ?;
58+ writeln ! ( input_to_child, "{request}" ) . context ( "failed to write to credential provider" ) ?;
6159
6260 buffer. clear ( ) ;
63- output_from_child. read_line ( & mut buffer) ?;
61+ output_from_child
62+ . read_line ( & mut buffer)
63+ . context ( "failed to read response from credential provider" ) ?;
6464 let response: Result < CredentialResponse , cargo_credential:: Error > =
65- serde_json:: from_str ( & buffer) ?;
65+ serde_json:: from_str ( & buffer) . context ( "failed to deserialize response" ) ?;
6666 log:: debug!( "credential-process > {response:?}" ) ;
6767 drop ( input_to_child) ;
68- let status = child. wait ( ) . expect ( "credential process never started" ) ;
68+ let status = child. wait ( ) . context ( "credential process never started" ) ? ;
6969 if !status. success ( ) {
7070 return Err ( anyhow:: anyhow!(
7171 "credential process `{}` failed with status {}`" ,
0 commit comments