Handle almost all errors as errors, instead of causing a panic
Instead of calling Result::unwrap or Result::expect, which panic if the result is not Ok, we return the error to the caller. That will hopefully be logged and thus visible to the user in a way that is easier to deal with than a panic
This leaves only a few JoinHandle::join results that are handled in a way that causes a panic. JoinHandle returns errors that do not implement the std::error::Error trait, which makes them a little harder to handle the way other errors are handled. Specifically, thiserror doesn’t like them as source errors. I’m ignoring the join errors for now.
Every other error is handled. The only unwrap or expect method calls now are for the join errors or for Options.
Signed-off-by: Lars Wirzenius liw@liw.fi
11 files changed
+289
-184
4acabd5f
→
0a8925d9
modified build.rs
@@ -23,5 +23,8 @@ fn main() {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
modified src/adapter.rs
@@ -223,17 +223,17 @@ mod test {
|
|
|
|
|
|
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -250,7 +250,7 @@ echo '{"response":"finished","result":"success"}'
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -271,7 +271,7 @@ echo '{"response":"finished","result":"failure"}'
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -299,7 +299,7 @@ exit 1
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -320,7 +320,7 @@ kill -9 $BASHPID
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -345,7 +345,7 @@ kill -9 $BASHPID
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -368,7 +368,7 @@ kill -9 $BASHPID
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -390,7 +390,7 @@ echo '{"response":"finished","result":"success","bad":"field"}'
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -414,7 +414,7 @@ echo '{"response":"finished","result":"success"}'
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -442,7 +442,7 @@ echo '{"response":"finished","result":"success"}'
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -462,7 +462,7 @@ echo '{"response":"finished","result":"success"}'
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -490,7 +490,7 @@ echo '{"response":"finished","result":"success"}'
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -522,7 +522,7 @@ echo '{"response":"finished","result":"success"}'
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
modified src/bin/cib.rs
@@ -91,8 +91,10 @@ struct ConfigCmd {
|
|
|
|
|
|
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -225,6 +227,9 @@ enum CibError {
|
|
|
|
|
|
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -259,6 +264,10 @@ impl CibError {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
modified src/bin/cibtool.rs
@@ -341,7 +341,8 @@ impl AddEvent {
|
|
|
|
|
|
| - | |
| + | |
| + | |
|
|
|
|
|
@@ -356,7 +357,8 @@ impl AddEvent {
|
|
|
|
|
|
| - | |
| + | |
| + | |
|
|
|
|
|
@@ -441,12 +443,12 @@ impl ShowEvent {
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
|
|
|
|
| + | |
| + | |
|
|
|
|
|
@@ -485,12 +487,12 @@ impl RemoveEvent {
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
|
|
|
|
| + | |
| + | |
|
|
|
|
|
@@ -513,7 +515,8 @@ impl Shutdown {
|
|
|
|
|
|
| - | |
| + | |
| + | |
|
|
|
|
|
@@ -625,7 +628,7 @@ impl AddRun {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -644,7 +647,10 @@ impl ListRuns {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -761,7 +767,8 @@ impl TriggerCmd {
|
|
|
|
|
|
| - | |
| + | |
| + | |
|
|
|
|
|
@@ -770,7 +777,8 @@ impl TriggerCmd {
|
|
|
|
|
|
| - | |
| + | |
| + | |
|
|
|
|
|
@@ -864,9 +872,24 @@ enum CibToolError {
|
|
|
|
|
|
| + | |
| + | |
| + | |
|
|
|
|
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
modified src/broker.rs
@@ -98,7 +98,7 @@ impl Broker {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -135,15 +135,19 @@ impl Broker {
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -193,38 +197,38 @@ mod test {
|
|
|
|
|
|
| - | |
| - | |
| + | |
| + | |
|
|
|
|
| - | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
| - | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| - | |
| + | |
| + | |
|
|
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -232,13 +236,13 @@ mod test {
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
| - | |
| - | |
| + | |
| + | |
|
|
|
|
|
@@ -246,9 +250,9 @@ mod test {
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
|
@@ -256,9 +260,9 @@ mod test {
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
|
@@ -268,14 +272,14 @@ mod test {
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -292,16 +296,16 @@ echo '{"response":"finished","result":"success"}'
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -325,16 +329,16 @@ exit 1
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
modified src/config.rs
@@ -42,8 +42,8 @@ impl Config {
|
|
|
|
|
|
| - | |
| - | |
| + | |
| + | |
|
|
|
|
|
@@ -88,4 +88,8 @@ pub enum ConfigError {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
|
modified src/db.rs
@@ -248,10 +248,10 @@ impl Db {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -391,7 +391,7 @@ impl Db {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -429,10 +429,10 @@ impl Db {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -516,6 +516,10 @@ impl QueuedEvent {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -558,6 +562,10 @@ pub enum DbError {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -587,6 +595,10 @@ pub enum DbError {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -639,6 +651,10 @@ impl DbError {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
modified src/event.rs
@@ -91,15 +91,15 @@ impl NodeEventSource {
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -117,7 +117,7 @@ impl NodeEventSource {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -155,6 +155,10 @@ impl NodeEventSource {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -190,6 +194,10 @@ pub enum NodeEventError {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -366,14 +374,18 @@ impl BrokerEvent {
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
| - | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -392,7 +404,7 @@ impl BrokerEvent {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -401,28 +413,32 @@ impl BrokerEvent {
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
|
|
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
| - | |
| + | |
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -434,36 +450,37 @@ impl BrokerEvent {
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| - | |
| + | |
| + | |
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
|
|
| - | |
| - | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -473,12 +490,13 @@ mod test_broker_event {
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
| + | |
|
|
|
|
|
@@ -488,35 +506,36 @@ mod test_broker_event {
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
| - | |
| + | |
| + | |
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
| - | |
| + | |
| + | |
|
|
|
|
|
|
| - | |
| - | |
| + | |
| + | |
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
|
|
| - | |
| + | |
| + | |
|
|
|
|
|
@@ -544,32 +563,35 @@ pub enum ParsedRef {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
| - | |
| + | |
| + | |
|
|
|
|
|
|
|
|
|
|
| - | |
| + | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
|
|
| - | |
| + | |
| + | |
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -586,41 +608,45 @@ mod test_parse_ref {
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| + | |
| + | |
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
| + | |
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
| + | |
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
| - | |
| - | |
| + | |
| + | |
|
|
| + | |
|
|
|
|
|
@@ -649,25 +675,26 @@ mod test {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
|
|
|
|
| - | |
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
| + | |
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -676,14 +703,16 @@ mod test {
|
|
|
|
|
|
| + | |
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
| - | |
| + | |
|
|
| + | |
|
|
|
|
|
modified src/msg.rs
@@ -153,7 +153,7 @@ impl<'a> RequestBuilder<'a> {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -192,7 +192,7 @@ impl<'a> RequestBuilder<'a> {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -369,7 +369,7 @@ fn did_to_author(profile: &Profile, did: &Did) -> Result<Author, MessageError> {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -741,6 +741,10 @@ pub enum MessageError {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -795,8 +799,7 @@ pub mod tests {
|
|
|
|
|
|
| - | |
| - | |
| + | |
|
|
|
|
|
@@ -864,8 +867,7 @@ pub mod tests {
|
|
|
|
|
|
| - | |
| - | |
| + | |
|
|
|
|
|
modified src/pages.rs
@@ -37,6 +37,10 @@ const UPDATE_INTERVAL: Duration = Duration::from_secs(60);
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -48,6 +52,12 @@ pub enum PageError {
|
|
|
|
|
|
| + | |
| + | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
@@ -77,7 +87,7 @@ impl PageBuilder {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -89,9 +99,9 @@ impl PageBuilder {
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
|
@@ -106,7 +116,7 @@ struct PageData {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -142,7 +152,7 @@ impl PageData {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -229,7 +239,7 @@ impl PageData {
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -459,33 +469,38 @@ impl StatusPage {
|
|
|
|
|
|
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
|
|
|
|
|
|
|
|
| - | |
| - | |
| - | |
| + | |
| + | |
| + | |
| + | |
|
|
|
|
| - | |
| - | |
| + | |
| + | |
|
|
|
|
| + | |
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
| - | |
| + | |
|
|
|
|
|
|
| + | |
|
|
|
|
|
@@ -532,9 +547,9 @@ impl StatusPage {
|
|
|
|
|
|
| - | |
| + | |
|
|
| - | |
| + | |
|
|
|
|
|
@@ -548,10 +563,11 @@ impl StatusPage {
|
|
|
|
|
|
| - | |
| + | |
| + | |
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -562,18 +578,16 @@ impl StatusPage {
|
|
|
|
|
|
| - | |
| - | |
| + | |
| + | |
|
|
|
|
| - | |
| - | |
| - | |
| + | |
|
|
|
|
|
|
|
|
| - | |
| + | |
|
|
|
|
|
@@ -599,8 +613,8 @@ struct StatusData {
|
|
|
|
|
|
| - | |
| - | |
| + | |
| + | |
|
|
|
|
|
modified src/run.rs
@@ -179,8 +179,9 @@ mod test {
|
|
|
|
|
|
| - | |
| - | |
| + | |
| + | |
|
|
| + | |
|
|
|