From 7d1b784ae14e9bb4ab0b18ffdcef8e61f219da51 Mon Sep 17 00:00:00 2001 From: Muir Manders Date: Thu, 17 Mar 2022 11:11:53 -0700 Subject: [PATCH] pyerror: convert more eden api errors to HttpError Summary: I'm expanding HttpError to mean something like "we had a problem when making an http request". It isn't used very much in Python, and I'm co-opting it to be one of the key triggers for running the network doctor automatically. Reviewed By: DurhamG Differential Revision: D34739986 fbshipit-source-id: daea571b06bf030257c6acf534af45abbbf2048c --- .../tests/integration/test-edenapi-set-bookmark.t | 12 ++++++------ .../bindings/modules/pyerror/src/lib.rs | 13 +++++++------ 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/eden/mononoke/tests/integration/test-edenapi-set-bookmark.t b/eden/mononoke/tests/integration/test-edenapi-set-bookmark.t index 27e1c92872..d35d179486 100644 --- a/eden/mononoke/tests/integration/test-edenapi-set-bookmark.t +++ b/eden/mononoke/tests/integration/test-edenapi-set-bookmark.t @@ -111,8 +111,8 @@ Inspect results Test move bookmark failure (invalid from) - $ hgedenapi debugapi -e setbookmark -i "'master_bookmark'" -i "'$D'" -i "'$C'" 2>&1 | grep 'error.RustError' - error.RustError: expected response, but none returned by the server + $ hgedenapi debugapi -e setbookmark -i "'master_bookmark'" -i "'$D'" -i "'$C'" 2>&1 | grep 'error.HttpError' + error.HttpError: expected response, but none returned by the server Inspect results $ hgedenapi pull -q @@ -130,8 +130,8 @@ Inspect results Test delete bookmark failure (invalid from) - $ hgedenapi debugapi -e setbookmark -i "'create_bookmark'" -i "None" -i "'$D'" 2>&1 | grep 'error.RustError' - error.RustError: expected response, but none returned by the server + $ hgedenapi debugapi -e setbookmark -i "'create_bookmark'" -i "None" -i "'$D'" 2>&1 | grep 'error.HttpError' + error.HttpError: expected response, but none returned by the server Inspect results $ hgedenapi pull -q @@ -149,8 +149,8 @@ Inspect results Test create bookmark failure (already exists) - $ hgedenapi debugapi -e setbookmark -i "'create_bookmark'" -i "'$D'" -i "None" 2>&1 | grep 'error.RustError' - error.RustError: expected response, but none returned by the server + $ hgedenapi debugapi -e setbookmark -i "'create_bookmark'" -i "'$D'" -i "None" 2>&1 | grep 'error.HttpError' + error.HttpError: expected response, but none returned by the server Inspect results $ hgedenapi pull -q diff --git a/eden/scm/edenscmnative/bindings/modules/pyerror/src/lib.rs b/eden/scm/edenscmnative/bindings/modules/pyerror/src/lib.rs index 5c731456b9..7ce812c843 100644 --- a/eden/scm/edenscmnative/bindings/modules/pyerror/src/lib.rs +++ b/eden/scm/edenscmnative/bindings/modules/pyerror/src/lib.rs @@ -140,13 +140,14 @@ fn register_error_handlers() { py, cpython_ext::Str::from(format!("{:?}", e)), )) - } else if let Some(edenapi::EdenApiError::Http(e)) = - e.downcast_ref::() - { + } else if let Some(e) = e.downcast_ref::() { match e { - http_client::HttpClientError::Tls(http_client::TlsError { source: e, .. }) => Some( - PyErr::new::(py, cpython_ext::Str::from(e.to_string())), - ), + edenapi::EdenApiError::Http(http_client::HttpClientError::Tls( + http_client::TlsError { source: e, .. }, + )) => Some(PyErr::new::( + py, + cpython_ext::Str::from(e.to_string()), + )), _ => Some(PyErr::new::( py, cpython_ext::Str::from(e.to_string()),