Merge pull request 'Update peach-lib dependencies and error printing' (#3) from fix_failing_build into main

Reviewed-on: #3
This commit is contained in:
glyph 2021-10-26 12:38:03 +00:00
commit 9225f32a5f
7 changed files with 88 additions and 111 deletions

104
Cargo.lock generated
View File

@ -183,9 +183,9 @@ checksum = "8dead7461c1127cf637931a1e50934eb6eee8bff2f74433ac7909e9afcee04a3"
[[package]]
name = "bitflags"
version = "1.2.1"
version = "1.3.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf1de2fe8c75bc145a2f577add951f8134889b4795d47466a54a5c846d691693"
checksum = "bef38d45163c2f1dde094a7dfd33ccf595c92905c8f8f4fdc18d06fb1037718a"
[[package]]
name = "bitvec"
@ -309,7 +309,7 @@ dependencies = [
"libc",
"num-integer",
"num-traits 0.2.14",
"time 0.1.44",
"time",
"winapi 0.3.9",
]
@ -340,7 +340,7 @@ checksum = "37e58ac78573c40708d45522f0d80fa2f01cc4f9b4e2bf749807255454312002"
dependencies = [
"ansi_term",
"atty",
"bitflags 1.2.1",
"bitflags 1.3.2",
"strsim",
"textwrap",
"unicode-width",
@ -353,7 +353,7 @@ version = "0.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ddfc5b9aa5d4507acaf872de71051dfd0e309860e88966e1051e462a077aac4f"
dependencies = [
"bitflags 1.2.1",
"bitflags 1.3.2",
]
[[package]]
@ -389,7 +389,7 @@ dependencies = [
"percent-encoding 2.1.0",
"rand 0.8.4",
"sha2",
"time 0.1.44",
"time",
]
[[package]]
@ -561,7 +561,7 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf41c59b22b5e3ec0ea55c7847e5f358d340f3a8d6d53a5cf4f1564967f96487"
dependencies = [
"bitflags 1.2.1",
"bitflags 1.3.2",
"proc-macro2 0.4.30",
"quote 0.6.13",
"syn 0.15.44",
@ -726,7 +726,7 @@ version = "0.4.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "5ab7d1bd1bd33cc98b0889831b72da23c0aa4df9cec7e0702f46ecea04b35db6"
dependencies = [
"bitflags 1.2.1",
"bitflags 1.3.2",
"fsevent-sys",
]
@ -761,7 +761,7 @@ version = "0.3.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e9763c69ebaae630ba35f74888db465e49e259ba1bc0eda7d06f4a067615d82"
dependencies = [
"bitflags 1.2.1",
"bitflags 1.3.2",
"fuchsia-zircon-sys",
]
@ -909,7 +909,7 @@ version = "0.8.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "93e3af942408868f6934a7b85134a3230832b9977cf66125df2f9edcfce4ddcc"
dependencies = [
"bitflags 1.2.1",
"bitflags 1.3.2",
"ignore",
"walkdir",
]
@ -920,7 +920,7 @@ version = "0.2.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "04d50743080fbae298c55f0b28dd5ea4b513c53cddeddace6cbdd31db7dda981"
dependencies = [
"bitflags 1.2.1",
"bitflags 1.3.2",
"error-chain",
"libc",
"nix 0.11.1",
@ -1050,7 +1050,7 @@ dependencies = [
"log 0.3.9",
"mime 0.2.6",
"num_cpus",
"time 0.1.44",
"time",
"traitobject",
"typeable",
"unicase 1.4.2",
@ -1075,7 +1075,7 @@ dependencies = [
"net2",
"percent-encoding 1.0.1",
"relay",
"time 0.1.44",
"time",
"tokio-core",
"tokio-io",
"tokio-proto",
@ -1102,7 +1102,7 @@ dependencies = [
"log 0.4.14",
"net2",
"rustc_version 0.2.3",
"time 0.1.44",
"time",
"tokio",
"tokio-buf",
"tokio-executor",
@ -1120,7 +1120,7 @@ version = "0.4.4"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3c0eb3d9b6b02dc2508ee23439170004e44344bab9d53a490eb1f64c885b5003"
dependencies = [
"bitflags 1.2.1",
"bitflags 1.3.2",
"byteorder",
"libc",
"nix 0.14.1",
@ -1171,7 +1171,7 @@ version = "0.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4816c66d2c8ae673df83366c18341538f234a26d65a9ecea5c348b453ac1d02f"
dependencies = [
"bitflags 1.2.1",
"bitflags 1.3.2",
"inotify-sys",
"libc",
]
@ -1439,7 +1439,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6607c62aa161d23d17a9072cc5da0be67cdfc89d3afb1e8d9c842bebc2525ffe"
dependencies = [
"arrayvec",
"bitflags 1.2.1",
"bitflags 1.3.2",
"cfg-if 1.0.0",
"ryu",
"static_assertions",
@ -1447,9 +1447,9 @@ dependencies = [
[[package]]
name = "libc"
version = "0.2.98"
version = "0.2.105"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "320cfe77175da3a483efed4bc0adc1968ca050b098ce4f2f1c13a56626128790"
checksum = "869d572136620d55835903746bcb5cdc54cb2851fd0aeec53220b4bb65ef3013"
[[package]]
name = "linked-hash-map"
@ -1718,7 +1718,7 @@ version = "0.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b7fd5681d13fda646462cfbd4e5f2051279a89a544d50eb98c365b507246839f"
dependencies = [
"bitflags 1.2.1",
"bitflags 1.3.2",
"bytes",
"cfg-if 0.1.10",
"gcc",
@ -1732,7 +1732,7 @@ version = "0.11.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "becb657d662f1cd2ef38c7ad480ec6b8cf9e96b27adb543e594f9cf0f2e6065c"
dependencies = [
"bitflags 1.2.1",
"bitflags 1.3.2",
"cc",
"cfg-if 0.1.10",
"libc",
@ -1745,7 +1745,7 @@ version = "0.14.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6c722bee1037d430d0f8e687bbdbf222f27cc6e4e68d5caf630857bb2b6dbdce"
dependencies = [
"bitflags 1.2.1",
"bitflags 1.3.2",
"cc",
"cfg-if 0.1.10",
"libc",
@ -1758,7 +1758,7 @@ version = "0.20.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fa9b4819da1bc61c0ea48b63b7bc8604064dd43013e7cc325df098d49cd7c18a"
dependencies = [
"bitflags 1.2.1",
"bitflags 1.3.2",
"cc",
"cfg-if 1.0.0",
"libc",
@ -1803,7 +1803,7 @@ version = "4.0.17"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae03c8c853dba7bfd23e571ff0cff7bc9dceb40a4cd684cd1681824183f45257"
dependencies = [
"bitflags 1.2.1",
"bitflags 1.3.2",
"filetime",
"fsevent",
"fsevent-sys",
@ -1889,7 +1889,7 @@ version = "0.10.35"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "549430950c79ae24e6d02e0b7404534ecf311d94cc9f861e9e4020187d13d885"
dependencies = [
"bitflags 1.2.1",
"bitflags 1.3.2",
"cfg-if 1.0.0",
"foreign-types",
"libc",
@ -2053,7 +2053,7 @@ version = "0.1.6"
dependencies = [
"env_logger 0.6.2",
"log 0.4.14",
"peach-lib 1.2.15",
"peach-lib",
]
[[package]]
@ -2076,27 +2076,6 @@ dependencies = [
"snafu 0.6.10",
]
[[package]]
name = "peach-lib"
version = "1.2.15"
source = "git+https://github.com/peachcloud/peach-lib?branch=main#c8918019926461404aca8614f42da1d9ab204c4c"
dependencies = [
"chrono",
"env_logger 0.6.2",
"fslock",
"jsonrpc-client-core",
"jsonrpc-client-http",
"jsonrpc-core 8.0.1",
"log 0.4.14",
"rand 0.8.4",
"regex",
"serde 1.0.127",
"serde_derive",
"serde_json",
"serde_yaml",
"snafu 0.6.10",
]
[[package]]
name = "peach-menu"
version = "0.2.7"
@ -2109,7 +2088,7 @@ dependencies = [
"jsonrpc-http-server",
"jsonrpc-test 11.0.0",
"log 0.4.14",
"peach-lib 1.2.15 (git+https://github.com/peachcloud/peach-lib?branch=main)",
"peach-lib",
"serde 1.0.127",
"serde_json",
"ws",
@ -2177,7 +2156,7 @@ dependencies = [
"jsonrpc-core 14.2.0",
"jsonrpc-test 14.2.0",
"log 0.4.14",
"peach-lib 1.2.15 (git+https://github.com/peachcloud/peach-lib?branch=main)",
"peach-lib",
"regex",
"serde 1.0.127",
"serde_derive",
@ -2210,7 +2189,7 @@ dependencies = [
"log 0.4.14",
"nest",
"openssl",
"peach-lib 1.2.15",
"peach-lib",
"percent-encoding 2.1.0",
"regex",
"rocket",
@ -2330,7 +2309,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f77e66f6d6d898cbbd4a09c48fd3507cfc210b7c83055de02a38b5f7a1e6d216"
dependencies = [
"libc",
"time 0.3.0",
"time",
]
[[package]]
@ -2340,7 +2319,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "4bb02a28631f195f482c19529ec82bec8e4ffa2d96159e67eb1ae9f5c5c902d8"
dependencies = [
"libc",
"time 0.1.44",
"time",
]
[[package]]
@ -2646,7 +2625,7 @@ version = "0.2.10"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "8383f39639269cde97d255a32bdb68c047337295414940c68bdd30c2e13203ff"
dependencies = [
"bitflags 1.2.1",
"bitflags 1.3.2",
]
[[package]]
@ -2699,7 +2678,7 @@ dependencies = [
"rocket_codegen",
"rocket_http",
"state",
"time 0.1.44",
"time",
"toml 0.4.10",
"version_check 0.9.3",
"yansi",
@ -2748,7 +2727,7 @@ dependencies = [
"percent-encoding 1.0.1",
"smallvec 1.6.1",
"state",
"time 0.1.44",
"time",
"unicode-xid 0.1.0",
]
@ -2840,7 +2819,7 @@ version = "2.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "23a2ac85147a3a11d77ecf1bc7166ec0b92febfa4461c37944e180f319ece467"
dependencies = [
"bitflags 1.2.1",
"bitflags 1.3.2",
"core-foundation",
"core-foundation-sys",
"libc",
@ -3225,7 +3204,7 @@ dependencies = [
"lazy_static",
"libc",
"nom 6.2.1",
"time 0.1.44",
"time",
"winapi 0.3.9",
]
@ -3346,15 +3325,6 @@ dependencies = [
"winapi 0.3.9",
]
[[package]]
name = "time"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6cf2535c6456e772ad756a0854ec907ede55d73d0b5a34855d808cb2d2f0942e"
dependencies = [
"libc",
]
[[package]]
name = "tinybmp"
version = "0.1.1"
@ -3977,7 +3947,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "403f3fd505ff930da84156389639932955fb09705b3dccd1a3d60c8e7ff62776"
dependencies = [
"base64 0.10.1",
"bitflags 1.2.1",
"bitflags 1.3.2",
"byteorder",
"bytes",
"futures",

View File

@ -22,8 +22,8 @@ use crate::update::update;
about = "a CLI tool for updating, installing and configuring PeachCloud"
)]
struct Opt {
#[structopt(short, long)]
verbose: bool,
//#[structopt(short, long)]
//verbose: bool,
// SUBCOMMANDS
#[structopt(subcommand)]

View File

@ -37,7 +37,7 @@ jsonrpc-client-http = "0.5.0"
jsonrpc-http-server = "11"
jsonrpc-test = "11"
log = "0.4"
peach-lib = { git = "https://github.com/peachcloud/peach-lib", branch = "main" }
peach-lib = { path = "../peach-lib" }
serde = { version = "1", features = ["derive"] }
serde_json = "1"
ws = "0.8"

View File

@ -247,7 +247,7 @@ mod tests {
use hal::i2cdev::linux::LinuxI2CError;
use jsonrpc_core::ErrorCode;
use nix::Error as NixError;
//use nix::Error as NixError;
use std::io::Error as IoError;
use std::io::ErrorKind;
@ -300,32 +300,34 @@ mod tests {
rpc.request("rpc_i2c_io_error", &()),
r#"{
"code": -32000,
"message": "I2C device error: oh no!"
"message": "Failed to create interface for I2C device: oh no!"
}"#
);
}
// test to ensure correct I2CError error response (nix::Error variant)
#[test]
fn rpc_i2c_nix_error() {
let rpc = {
let mut io = IoHandler::new();
io.add_method("rpc_i2c_nix_error", |_| {
let nix_err = NixError::InvalidPath;
let source = LinuxI2CError::Nix(nix_err);
Err(Error::from(OledError::I2CError { source }))
});
test::Rpc::from(io)
};
/* TODO: fix this test (update nix deps)
// test to ensure correct I2CError error response (nix::Error variant)
#[test]
fn rpc_i2c_nix_error() {
let rpc = {
let mut io = IoHandler::new();
io.add_method("rpc_i2c_nix_error", |_| {
let nix_err = NixError::InvalidPath;
let source = LinuxI2CError::Nix(nix_err);
Err(Error::from(OledError::I2CError { source }))
});
test::Rpc::from(io)
};
assert_eq!(
rpc.request("rpc_i2c_nix_error", &()),
r#"{
"code": -32000,
"message": "I2C device error: Invalid path"
}"#
);
}
assert_eq!(
rpc.request("rpc_i2c_nix_error", &()),
r#"{
"code": -32000,
"message": "I2C device error: Invalid path"
}"#
);
}
*/
// test to ensure correct InvalidCoordinate error response
#[test]

View File

@ -33,7 +33,7 @@ snafu = "0.4.1"
serde = "1.0"
serde_json = "1.0"
serde_derive = "1.0"
peach-lib = { git = "https://github.com/peachcloud/peach-lib", branch = "main" }
peach-lib = { path = "../peach-lib" }
clap = "2.33.3"
const_format = "0.2.10"
regex = "1"

View File

@ -183,13 +183,16 @@ impl PeachProbe {
Err(e) => {
eprintln!("++ {} endpoint is offline", endpoint_name);
match e {
PeachError::JsonRpcHttp(e) => {
eprintln!("Returned JsonRpcHTTP error: {:#?}\n", e)
PeachError::JsonRpcHttp { source } => {
eprintln!("Returned JsonRpcHTTP error: {:#?}\n", source)
}
PeachError::JsonRpcCore(e) => {
eprintln!("Returned JsonRpcCore error: {:#?}\n", e)
PeachError::JsonRpcCore { err } => {
eprintln!("Returned JsonRpcCore error: {:#?}\n", err)
}
PeachError::Serde(_) => eprintln!("Returned Serde Json serialization error\n"),
PeachError::Serde { source } => {
eprintln!("Returned Serde JSON serialization error: {:#?}\n", source)
}
_ => (),
}
result.failures.push(endpoint_name.to_string());
}
@ -211,11 +214,16 @@ impl PeachProbe {
}
Err(e) => {
match e {
PeachError::JsonRpcCore(e) => {
match e.kind() {
PeachError::JsonRpcCore { ref err } => {
match err {
// this is the expected error, all other errors are unexpected
jsonrpc_client_core::ErrorKind::JsonRpcError(err) => {
if err.code.code() == expected_error_code {
//jsonrpc_client_core::ErrorKind::JsonRpcError(err) => {
peach_lib::jsonrpc_core::Error {
code,
message: _,
data: _,
} => {
if code.code() == expected_error_code {
if self.verbose {
println!("++ {} endpoint is online", endpoint_name);
}
@ -226,23 +234,19 @@ impl PeachProbe {
result.failures.push(endpoint_name.to_string());
}
}
_ => {
eprintln!("++ {} endpoint is offline", endpoint_name);
eprintln!("Returned unexpected JsonRpcCore error: {:#?}\n", e);
result.failures.push(endpoint_name.to_string());
}
}
}
PeachError::JsonRpcHttp(e) => {
PeachError::JsonRpcHttp { source } => {
eprintln!("++ {} endpoint is offline", endpoint_name);
eprintln!("Returned JsonRpcHTTP error: {:#?}\n", e);
eprintln!("Returned JsonRpcHTTP error: {:#?}\n", source);
result.failures.push(endpoint_name.to_string());
}
PeachError::Serde(_) => {
PeachError::Serde { source } => {
eprintln!("++ {} endpoint is offline", endpoint_name);
eprintln!("Returned Serde Json serialization error\n");
eprintln!("Returned Serde JSON serialization error: {:#?}\n", source);
result.failures.push(endpoint_name.to_string());
}
_ => (),
}
}
}

View File

@ -3,6 +3,7 @@ use std::io::Read;
use rocket::http::{ContentType, Status};
use rocket::local::Client;
use rocket_contrib::json;
use super::rocket;
use crate::json_api::build_json_response;