[INFO] updating cached repository https://github.com/adambezecny/gdf-testing [INFO] running `"git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "-c" "remote.origin.fetch=refs/heads/*:refs/heads/*" "fetch" "origin" "--force" "--prune"` [INFO] [stderr] From https://github.com/adambezecny/gdf-testing [INFO] [stderr] 0338427..184bf63 master -> master [INFO] running `"git" "rev-parse" "HEAD"` [INFO] [stdout] 184bf63bffd0da48c6a156ed7f77957b9c72cce4 [INFO] testing adambezecny/gdf-testing against master#28742a1146f10a4f09369baad027a464acb7a766 for pr-71274 [INFO] running `"git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fadambezecny%2Fgdf-testing" "/workspace/builds/worker-6/source"` [INFO] [stderr] Cloning into '/workspace/builds/worker-6/source'... [INFO] [stderr] done. [INFO] validating manifest of git repo https://github.com/adambezecny/gdf-testing on toolchain 28742a1146f10a4f09369baad027a464acb7a766 [INFO] running `"/workspace/cargo-home/bin/cargo" "+28742a1146f10a4f09369baad027a464acb7a766" "read-manifest" "--manifest-path" "Cargo.toml"` [INFO] started tweaking git repo https://github.com/adambezecny/gdf-testing [INFO] finished tweaking git repo https://github.com/adambezecny/gdf-testing [INFO] tweaked toml for git repo https://github.com/adambezecny/gdf-testing written to /workspace/builds/worker-6/source/Cargo.toml [INFO] crate git repo https://github.com/adambezecny/gdf-testing already has a lockfile, it will not be regenerated [INFO] running `"/workspace/cargo-home/bin/cargo" "+28742a1146f10a4f09369baad027a464acb7a766" "fetch" "--locked" "--manifest-path" "Cargo.toml"` [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+28742a1146f10a4f09369baad027a464acb7a766" "build" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] a3b16d563056c992bf704d6f1a8ee2c09681a590456115643eef2afee1b0e3d9 [INFO] running `"docker" "start" "-a" "a3b16d563056c992bf704d6f1a8ee2c09681a590456115643eef2afee1b0e3d9"` [INFO] [stderr] Compiling memchr v2.3.3 [INFO] [stderr] Compiling itoa v0.4.5 [INFO] [stderr] Compiling serde v1.0.105 [INFO] [stderr] Compiling slab v0.4.2 [INFO] [stderr] Compiling bytes v0.5.4 [INFO] [stderr] Compiling ryu v1.0.3 [INFO] [stderr] Compiling futures-core v0.3.4 [INFO] [stderr] Compiling pin-project-lite v0.1.4 [INFO] [stderr] Compiling debug-builders v0.1.0 [INFO] [stderr] Compiling debugtrace v0.1.0 [INFO] [stderr] Compiling foreign-types-shared v0.1.1 [INFO] [stderr] Compiling openssl v0.10.28 [INFO] [stderr] Compiling httparse v1.3.4 [INFO] [stderr] Compiling futures-io v0.3.4 [INFO] [stderr] Compiling futures-task v0.3.4 [INFO] [stderr] Compiling custom_derive v0.1.7 [INFO] [stderr] Compiling smallvec v1.2.0 [INFO] [stderr] Compiling futures-sink v0.3.4 [INFO] [stderr] Compiling pin-utils v0.1.0-alpha.4 [INFO] [stderr] Compiling native-tls v0.2.4 [INFO] [stderr] Compiling deunicode v0.4.3 [INFO] [stderr] Compiling either v0.1.7 [INFO] [stderr] Compiling rustc-demangle v0.1.16 [INFO] [stderr] Compiling openssl-probe v0.1.2 [INFO] [stderr] Compiling rand_core v0.4.2 [INFO] [stderr] Compiling base64 v0.11.0 [INFO] [stderr] Compiling regex-syntax v0.6.17 [INFO] [stderr] Compiling tower-service v0.3.0 [INFO] [stderr] Compiling spin v0.5.2 [INFO] [stderr] Compiling dtoa v0.4.5 [INFO] [stderr] Compiling untrusted v0.7.0 [INFO] [stderr] Compiling linked-hash-map v0.5.2 [INFO] [stderr] Compiling proc-macro-error-attr v0.4.11 [INFO] [stderr] Compiling proc-macro-error v0.4.11 [INFO] [stderr] Compiling backtrace-sys v0.1.35 [INFO] [stderr] Compiling indexmap v1.3.2 [INFO] [stderr] Compiling num-bigint v0.2.6 [INFO] [stderr] Compiling ring v0.16.11 [INFO] [stderr] Compiling thread_local v1.0.1 [INFO] [stderr] Compiling dbghelp-sys v0.2.0 [INFO] [stderr] Compiling openssl-sys v0.9.54 [INFO] [stderr] Compiling futures-channel v0.3.4 [INFO] [stderr] Compiling foreign-types v0.3.2 [INFO] [stderr] Compiling conv v0.3.3 [INFO] [stderr] Compiling unicode-normalization v0.1.12 [INFO] [stderr] Compiling http v0.2.1 [INFO] [stderr] Compiling slug v0.1.4 [INFO] [stderr] Compiling rand_core v0.3.1 [INFO] [stderr] Compiling yaml-rust v0.4.3 [INFO] [stderr] Compiling encoding_rs v0.8.22 [INFO] [stderr] Compiling net2 v0.2.33 [INFO] [stderr] Compiling iovec v0.1.4 [INFO] [stderr] Compiling time v0.1.42 [INFO] [stderr] Compiling rand v0.5.6 [INFO] [stderr] Compiling want v0.3.0 [INFO] [stderr] Compiling futures-util v0.3.4 [INFO] [stderr] Compiling aho-corasick v0.7.10 [INFO] [stderr] Compiling idna v0.2.0 [INFO] [stderr] Compiling mio v0.6.21 [INFO] [stderr] Compiling syn v1.0.16 [INFO] [stderr] Compiling http-body v0.3.1 [INFO] [stderr] Compiling backtrace v0.1.8 [INFO] [stderr] Compiling backtrace v0.3.46 [INFO] [stderr] Compiling url v2.1.1 [INFO] [stderr] Compiling tokio v0.2.13 [INFO] [stderr] Compiling chrono v0.4.11 [INFO] [stderr] Compiling regex v1.3.5 [INFO] [stderr] Compiling chomp v0.3.1 [INFO] [stderr] Compiling simple_asn1 v0.4.0 [INFO] [stderr] Compiling pem v0.7.0 [INFO] [stderr] Compiling guid-parser v0.1.0 [INFO] [stderr] Compiling tokio-util v0.2.0 [INFO] [stderr] Compiling tokio-tls v0.3.0 [INFO] [stderr] Compiling h2 v0.2.3 [INFO] [stderr] Compiling syn-mid v0.5.0 [INFO] [stderr] Compiling synstructure v0.12.3 [INFO] [stderr] Compiling serde_derive v1.0.105 [INFO] [stderr] Compiling pin-project-internal v0.4.8 [INFO] [stderr] Compiling failure_derive v0.1.7 [INFO] [stderr] Compiling failure v0.1.7 [INFO] [stderr] Compiling extend v0.1.1 [INFO] [stderr] Compiling guid v0.1.0 [INFO] [stderr] Compiling guid-create v0.1.1 [INFO] [stderr] Compiling pin-project v0.4.8 [INFO] [stderr] Compiling hyper v0.13.4 [INFO] [stderr] Compiling hyper-tls v0.4.1 [INFO] [stderr] Compiling serde_json v1.0.44 [INFO] [stderr] Compiling serde_urlencoded v0.6.1 [INFO] [stderr] Compiling assert-json-diff v1.0.3 [INFO] [stderr] Compiling reqwest v0.10.4 [INFO] [stderr] Compiling jsonwebtoken v7.1.0 [INFO] [stderr] Compiling jmespath v0.2.0 [INFO] [stderr] Compiling gdf_testing v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `std::error::Error` [INFO] [stderr] --> src/json_parser.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `jmespath::JmespathError` [INFO] [stderr] --> src/json_parser.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use jmespath::JmespathError; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/json_parser.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `assert_json_eq` [INFO] [stderr] --> src/json_parser.rs:9:24 [INFO] [stderr] | [INFO] [stderr] 9 | use assert_json_diff::{assert_json_eq, assert_json_eq_no_panic}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ErrorKind` [INFO] [stderr] --> src/json_parser.rs:11:29 [INFO] [stderr] | [INFO] [stderr] 11 | use crate::errors::{Result, ErrorKind}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/json_parser.rs:91:8 [INFO] [stderr] | [INFO] [stderr] 91 | if (variable.is_object() == true) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde_json::from_str` [INFO] [stderr] --> src/gdf.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use serde_json::from_str; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/gdf.rs:111:58 [INFO] [stderr] | [INFO] [stderr] 111 | headers.insert("Content-Type", HeaderValue::from_str(("application/x-www-form-urlencoded"))?); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/gdf.rs:117:140 [INFO] [stderr] | [INFO] [stderr] 117 | pub fn call_dialogflow (payload: String, project_id: &str, conv_id: &str, http_client: &reqwest::blocking::Client, bearer: &str) -> Result<(String)> { [INFO] [stderr] | ^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/gdf.rs:120:59 [INFO] [stderr] | [INFO] [stderr] 120 | headers.insert("Authorization", HeaderValue::from_str((&bearer_str)).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `reqwest` [INFO] [stderr] --> src/executor/mod.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use reqwest; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `guid_create::GUID` [INFO] [stderr] --> src/executor/mod.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use guid_create::GUID; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/executor/mod.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `YamlLoader`, `Yaml` [INFO] [stderr] --> src/executor/mod.rs:4:17 [INFO] [stderr] | [INFO] [stderr] 4 | use yaml_rust::{YamlLoader, Yaml}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Error` [INFO] [stderr] --> src/executor/mod.rs:6:91 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::errors::{Result, ErrorKind, new_service_call_error, new_error, new_error_from, Error}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Test` [INFO] [stderr] --> src/executor/mod.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | Test, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `call_dialogflow`, `file_to_gdf_credentials`, `get_google_api_token`, `prepare_dialogflow_request` [INFO] [stderr] --> src/executor/mod.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | get_google_api_token, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 22 | prepare_dialogflow_request, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 23 | call_dialogflow, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 24 | file_to_gdf_credentials [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `YamlLoader`, `Yaml` [INFO] [stderr] --> src/executor/gdf_executor.rs:3:17 [INFO] [stderr] | [INFO] [stderr] 3 | use yaml_rust::{YamlLoader, Yaml}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/executor/gdf_executor.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Error`, `new_error_from` [INFO] [stderr] --> src/executor/gdf_executor.rs:6:64 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::errors::{Result, ErrorKind, new_service_call_error, new_error_from, Error}; [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `JmespathType` [INFO] [stderr] --> src/executor/gdf_executor.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | JmespathType [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TestAssertionResponseCheckOperator`, `TestAssertionResponseCheckValue`, `TestAssertionResponseCheck`, `TestSuiteType`, `Test` [INFO] [stderr] --> src/executor/gdf_executor.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | Test, [INFO] [stderr] | ^^^^ [INFO] [stderr] 13 | TestAssertion, [INFO] [stderr] 14 | TestSuiteType, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 15 | TestSuite, [INFO] [stderr] 16 | TestAssertionResponseCheckOperator, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 17 | TestAssertionResponseCheckValue, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 18 | TestAssertionResponseCheck [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `TestSuiteExecutor` [INFO] [stderr] --> src/executor/gdf_executor.rs:29:37 [INFO] [stderr] | [INFO] [stderr] 29 | use crate::executor::{TestExecutor, TestSuiteExecutor}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `YamlLoader`, `Yaml` [INFO] [stderr] --> src/executor/vap_executor.rs:1:17 [INFO] [stderr] | [INFO] [stderr] 1 | use yaml_rust::{YamlLoader, Yaml}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/executor/vap_executor.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TestAssertionResponseCheckOperator`, `TestAssertionResponseCheckValue`, `TestAssertionResponseCheck`, `TestSuiteType`, `Test` [INFO] [stderr] --> src/executor/vap_executor.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | Test, [INFO] [stderr] | ^^^^ [INFO] [stderr] 8 | TestAssertion, [INFO] [stderr] 9 | TestSuiteType, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 10 | TestSuite, [INFO] [stderr] 11 | TestAssertionResponseCheckOperator, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 12 | TestAssertionResponseCheckValue, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 13 | TestAssertionResponseCheck [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `JmespathType` [INFO] [stderr] --> src/executor/vap_executor.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | JmespathType [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Error`, `new_error_from`, `new_error` [INFO] [stderr] --> src/executor/vap_executor.rs:20:64 [INFO] [stderr] | [INFO] [stderr] 20 | use crate::errors::{Result, ErrorKind, new_service_call_error, new_error_from, new_error, Error}; [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `TestSuiteExecutor` [INFO] [stderr] --> src/executor/vap_executor.rs:21:37 [INFO] [stderr] | [INFO] [stderr] 21 | use crate::executor::{TestExecutor, TestSuiteExecutor}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/executor/vap_executor.rs:58:111 [INFO] [stderr] | [INFO] [stderr] 58 | fn call_vap (payload: String, conv_id: &str, http_client: &HttpClient, bearer: &str, vap_url: &str) -> Result<(String)> { [INFO] [stderr] | ^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/executor/vap_executor.rs:61:59 [INFO] [stderr] | [INFO] [stderr] 61 | headers.insert("Authorization", HeaderValue::from_str((&bearer_str)).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/executor/mod.rs:169:9 [INFO] [stderr] | [INFO] [stderr] 169 | /// HELPER closures /// [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 170 | / let process_bool_equals = |bool_val_expected: &bool| -> Result<()> { [INFO] [stderr] 171 | | let parser = JsonParser::new(response); [INFO] [stderr] 172 | | let search_result = parser.search(&response_check.expression)?; [INFO] [stderr] 173 | | [INFO] [stderr] ... | [INFO] [stderr] 185 | | } [INFO] [stderr] 186 | | }; [INFO] [stderr] | |__________- rustdoc does not generate documentation for statements [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/executor/mod.rs:378:9 [INFO] [stderr] | [INFO] [stderr] 378 | /// MAIN processing logic of the function utilizing closures defined above /// [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 379 | / match &response_check.value { [INFO] [stderr] 380 | | [INFO] [stderr] 381 | | TestAssertionResponseCheckValue::BoolVal(bool_val_expected) => { [INFO] [stderr] 382 | | [INFO] [stderr] ... | [INFO] [stderr] 430 | | } [INFO] [stderr] 431 | | } [INFO] [stderr] | |_________- rustdoc does not generate documentation for expressions [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:33:44 [INFO] [stderr] | [INFO] [stderr] 33 | ErrorKind::HttpInvocationError(err) => write!(f, "HttpInvocationError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:34:41 [INFO] [stderr] | [INFO] [stderr] 34 | ErrorKind::YamlParsingError(err) => write!(f, "YamlParsingError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:35:41 [INFO] [stderr] | [INFO] [stderr] 35 | ErrorKind::YamlLoadingError(err) => write!(f, "YamlLoadingError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:36:41 [INFO] [stderr] | [INFO] [stderr] 36 | ErrorKind::JsonParsingError(err) => write!(f, "JsonParsingError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:37:32 [INFO] [stderr] | [INFO] [stderr] 37 | ErrorKind::IOError(err) => write!(f, "IOError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:38:37 [INFO] [stderr] | [INFO] [stderr] 38 | ErrorKind::JsonSerDeser(err) => write!(f, "JsonSerDeser"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:39:36 [INFO] [stderr] | [INFO] [stderr] 39 | ErrorKind::JWTCreation(err) => write!(f, "JWTCreation"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:40:37 [INFO] [stderr] | [INFO] [stderr] 40 | ErrorKind::GenericError(err) => write!(f, "GenericError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:41:48 [INFO] [stderr] | [INFO] [stderr] 41 | ErrorKind::InvalidHeaderValueError(err) => write!(f, "InvalidHeaderValueError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:103:41 [INFO] [stderr] | [INFO] [stderr] 103 | ErrorKind::YamlParsingError(ref err) => None, [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:109:37 [INFO] [stderr] | [INFO] [stderr] 109 | ErrorKind::GenericError(ref err) => None, [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `test` [INFO] [stderr] --> src/executor/mod.rs:130:27 [INFO] [stderr] | [INFO] [stderr] 130 | for (idx, test) in test_suite.tests.iter().enumerate() { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_test` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `test` [INFO] [stderr] --> src/executor/mod.rs:154:27 [INFO] [stderr] | [INFO] [stderr] 154 | for (idx, test) in test_suite.tests.iter().enumerate() { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_test` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `conv_id` [INFO] [stderr] --> src/executor/vap_executor.rs:58:31 [INFO] [stderr] | [INFO] [stderr] 58 | fn call_vap (payload: String, conv_id: &str, http_client: &HttpClient, bearer: &str, vap_url: &str) -> Result<(String)> { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conv_id` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/thread_pool.rs:95:37 [INFO] [stderr] | [INFO] [stderr] 95 | Message::NewJob(mut job) => { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pem_file_to_str` [INFO] [stderr] --> src/gdf.rs:44:4 [INFO] [stderr] | [INFO] [stderr] 44 | fn pem_file_to_str(file_name: &str) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pem_to_encoding_key` [INFO] [stderr] --> src/gdf.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | fn pem_to_encoding_key(file_name: &str) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pem_to_decoding_key` [INFO] [stderr] --> src/gdf.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | fn pem_to_decoding_key<'a>(file_bytes: &'a Vec) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `new_token` [INFO] [stderr] --> src/gdf.rs:71:4 [INFO] [stderr] | [INFO] [stderr] 71 | fn new_token(client_email: &str, priv_key_file: &str) -> Result { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `vap_svc_account_email` [INFO] [stderr] --> src/executor/vap_executor.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | vap_svc_account_email: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `vap_svc_account_password` [INFO] [stderr] --> src/executor/vap_executor.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | vap_svc_account_password: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `test_suite` [INFO] [stderr] --> src/executor/mod.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 93 | test_suite: TestSuite, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `realIntentName` should have a snake case name [INFO] [stderr] --> src/executor/gdf_executor.rs:82:13 [INFO] [stderr] | [INFO] [stderr] 82 | let realIntentName = parser.search("queryResult.intent.displayName")?; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `real_intent_name` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `realIntentName` should have a snake case name [INFO] [stderr] --> src/executor/gdf_executor.rs:83:13 [INFO] [stderr] | [INFO] [stderr] 83 | let realIntentName = JsonParser::extract_as_string(&realIntentName); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `real_intent_name` [INFO] [stderr] [INFO] [stderr] warning: variable `intentName` should have a snake case name [INFO] [stderr] --> src/executor/gdf_executor.rs:85:21 [INFO] [stderr] | [INFO] [stderr] 85 | if let Some(intentName) = realIntentName { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `intent_name` [INFO] [stderr] [INFO] [stderr] warning: structure field `userId` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | userId: String, [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `user_id` [INFO] [stderr] [INFO] [stderr] warning: structure field `allowedServices` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | allowedServices: Vec [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `allowed_services` [INFO] [stderr] [INFO] [stderr] warning: structure field `accessToken` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | pub accessToken: String, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `access_token` [INFO] [stderr] [INFO] [stderr] warning: variable `realIntentName` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:162:13 [INFO] [stderr] | [INFO] [stderr] 162 | let realIntentName = parser.search("dfResponse.queryResult.intent.displayName")?; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `real_intent_name` [INFO] [stderr] [INFO] [stderr] warning: variable `realIntentName` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:163:13 [INFO] [stderr] | [INFO] [stderr] 163 | let realIntentName = JsonParser::extract_as_string(&realIntentName); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `real_intent_name` [INFO] [stderr] [INFO] [stderr] warning: variable `intentName` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:165:21 [INFO] [stderr] | [INFO] [stderr] 165 | if let Some(intentName) = realIntentName { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `intent_name` [INFO] [stderr] [INFO] [stderr] warning: 64 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: denote infinite loops with `loop { ... }` [INFO] [stderr] --> src/main.rs:55:11 [INFO] [stderr] | [INFO] [stderr] 55 | while true { [INFO] [stderr] | ^^^^^^^^^^ help: use `loop` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(while_true)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:48:7 [INFO] [stderr] | [INFO] [stderr] 48 | let mut suite_executor = TestSuiteExecutor::new(suite)?; [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished dev [unoptimized + debuginfo] target(s) in 2m 46s [INFO] running `"docker" "inspect" "a3b16d563056c992bf704d6f1a8ee2c09681a590456115643eef2afee1b0e3d9"` [INFO] running `"docker" "rm" "-f" "a3b16d563056c992bf704d6f1a8ee2c09681a590456115643eef2afee1b0e3d9"` [INFO] [stdout] a3b16d563056c992bf704d6f1a8ee2c09681a590456115643eef2afee1b0e3d9 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+28742a1146f10a4f09369baad027a464acb7a766" "test" "--frozen" "--no-run"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] 70bf973957991a39a59e4cc8e3d758c833cb6bd5e9bf6ace29a587b316bf8a58 [INFO] running `"docker" "start" "-a" "70bf973957991a39a59e4cc8e3d758c833cb6bd5e9bf6ace29a587b316bf8a58"` [INFO] [stderr] Blocking waiting for file lock on package cache [INFO] [stderr] Compiling gdf_testing v0.1.0 (/opt/rustwide/workdir) [INFO] [stderr] warning: unused import: `std::error::Error` [INFO] [stderr] --> src/json_parser.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `jmespath::JmespathError` [INFO] [stderr] --> src/json_parser.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use jmespath::JmespathError; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/json_parser.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `assert_json_eq` [INFO] [stderr] --> src/json_parser.rs:9:24 [INFO] [stderr] | [INFO] [stderr] 9 | use assert_json_diff::{assert_json_eq, assert_json_eq_no_panic}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ErrorKind` [INFO] [stderr] --> src/json_parser.rs:11:29 [INFO] [stderr] | [INFO] [stderr] 11 | use crate::errors::{Result, ErrorKind}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/json_parser.rs:91:8 [INFO] [stderr] | [INFO] [stderr] 91 | if (variable.is_object() == true) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde_json::from_str` [INFO] [stderr] --> src/gdf.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use serde_json::from_str; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/gdf.rs:111:58 [INFO] [stderr] | [INFO] [stderr] 111 | headers.insert("Content-Type", HeaderValue::from_str(("application/x-www-form-urlencoded"))?); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/gdf.rs:117:140 [INFO] [stderr] | [INFO] [stderr] 117 | pub fn call_dialogflow (payload: String, project_id: &str, conv_id: &str, http_client: &reqwest::blocking::Client, bearer: &str) -> Result<(String)> { [INFO] [stderr] | ^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/gdf.rs:120:59 [INFO] [stderr] | [INFO] [stderr] 120 | headers.insert("Authorization", HeaderValue::from_str((&bearer_str)).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `reqwest` [INFO] [stderr] --> src/executor/mod.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use reqwest; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `guid_create::GUID` [INFO] [stderr] --> src/executor/mod.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use guid_create::GUID; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/executor/mod.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `YamlLoader`, `Yaml` [INFO] [stderr] --> src/executor/mod.rs:4:17 [INFO] [stderr] | [INFO] [stderr] 4 | use yaml_rust::{YamlLoader, Yaml}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Error` [INFO] [stderr] --> src/executor/mod.rs:6:91 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::errors::{Result, ErrorKind, new_service_call_error, new_error, new_error_from, Error}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Test` [INFO] [stderr] --> src/executor/mod.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | Test, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `call_dialogflow`, `file_to_gdf_credentials`, `get_google_api_token`, `prepare_dialogflow_request` [INFO] [stderr] --> src/executor/mod.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | get_google_api_token, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 22 | prepare_dialogflow_request, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 23 | call_dialogflow, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 24 | file_to_gdf_credentials [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `YamlLoader`, `Yaml` [INFO] [stderr] --> src/executor/gdf_executor.rs:3:17 [INFO] [stderr] | [INFO] [stderr] 3 | use yaml_rust::{YamlLoader, Yaml}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/executor/gdf_executor.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Error`, `new_error_from` [INFO] [stderr] --> src/executor/gdf_executor.rs:6:64 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::errors::{Result, ErrorKind, new_service_call_error, new_error_from, Error}; [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `JmespathType` [INFO] [stderr] --> src/executor/gdf_executor.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | JmespathType [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TestAssertionResponseCheckOperator`, `TestAssertionResponseCheckValue`, `TestAssertionResponseCheck`, `TestSuiteType`, `Test` [INFO] [stderr] --> src/executor/gdf_executor.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | Test, [INFO] [stderr] | ^^^^ [INFO] [stderr] 13 | TestAssertion, [INFO] [stderr] 14 | TestSuiteType, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 15 | TestSuite, [INFO] [stderr] 16 | TestAssertionResponseCheckOperator, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 17 | TestAssertionResponseCheckValue, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 18 | TestAssertionResponseCheck [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `TestSuiteExecutor` [INFO] [stderr] --> src/executor/gdf_executor.rs:29:37 [INFO] [stderr] | [INFO] [stderr] 29 | use crate::executor::{TestExecutor, TestSuiteExecutor}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `YamlLoader`, `Yaml` [INFO] [stderr] --> src/executor/vap_executor.rs:1:17 [INFO] [stderr] | [INFO] [stderr] 1 | use yaml_rust::{YamlLoader, Yaml}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/executor/vap_executor.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TestAssertionResponseCheckOperator`, `TestAssertionResponseCheckValue`, `TestAssertionResponseCheck`, `TestSuiteType`, `Test` [INFO] [stderr] --> src/executor/vap_executor.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | Test, [INFO] [stderr] | ^^^^ [INFO] [stderr] 8 | TestAssertion, [INFO] [stderr] 9 | TestSuiteType, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 10 | TestSuite, [INFO] [stderr] 11 | TestAssertionResponseCheckOperator, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 12 | TestAssertionResponseCheckValue, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 13 | TestAssertionResponseCheck [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `JmespathType` [INFO] [stderr] --> src/executor/vap_executor.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | JmespathType [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Error`, `new_error_from`, `new_error` [INFO] [stderr] --> src/executor/vap_executor.rs:20:64 [INFO] [stderr] | [INFO] [stderr] 20 | use crate::errors::{Result, ErrorKind, new_service_call_error, new_error_from, new_error, Error}; [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `TestSuiteExecutor` [INFO] [stderr] --> src/executor/vap_executor.rs:21:37 [INFO] [stderr] | [INFO] [stderr] 21 | use crate::executor::{TestExecutor, TestSuiteExecutor}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/executor/vap_executor.rs:58:111 [INFO] [stderr] | [INFO] [stderr] 58 | fn call_vap (payload: String, conv_id: &str, http_client: &HttpClient, bearer: &str, vap_url: &str) -> Result<(String)> { [INFO] [stderr] | ^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/executor/vap_executor.rs:61:59 [INFO] [stderr] | [INFO] [stderr] 61 | headers.insert("Authorization", HeaderValue::from_str((&bearer_str)).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/executor/mod.rs:169:9 [INFO] [stderr] | [INFO] [stderr] 169 | /// HELPER closures /// [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 170 | / let process_bool_equals = |bool_val_expected: &bool| -> Result<()> { [INFO] [stderr] 171 | | let parser = JsonParser::new(response); [INFO] [stderr] 172 | | let search_result = parser.search(&response_check.expression)?; [INFO] [stderr] 173 | | [INFO] [stderr] ... | [INFO] [stderr] 185 | | } [INFO] [stderr] 186 | | }; [INFO] [stderr] | |__________- rustdoc does not generate documentation for statements [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/executor/mod.rs:378:9 [INFO] [stderr] | [INFO] [stderr] 378 | /// MAIN processing logic of the function utilizing closures defined above /// [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 379 | / match &response_check.value { [INFO] [stderr] 380 | | [INFO] [stderr] 381 | | TestAssertionResponseCheckValue::BoolVal(bool_val_expected) => { [INFO] [stderr] 382 | | [INFO] [stderr] ... | [INFO] [stderr] 430 | | } [INFO] [stderr] 431 | | } [INFO] [stderr] | |_________- rustdoc does not generate documentation for expressions [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:33:44 [INFO] [stderr] | [INFO] [stderr] 33 | ErrorKind::HttpInvocationError(err) => write!(f, "HttpInvocationError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:34:41 [INFO] [stderr] | [INFO] [stderr] 34 | ErrorKind::YamlParsingError(err) => write!(f, "YamlParsingError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:35:41 [INFO] [stderr] | [INFO] [stderr] 35 | ErrorKind::YamlLoadingError(err) => write!(f, "YamlLoadingError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:36:41 [INFO] [stderr] | [INFO] [stderr] 36 | ErrorKind::JsonParsingError(err) => write!(f, "JsonParsingError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:37:32 [INFO] [stderr] | [INFO] [stderr] 37 | ErrorKind::IOError(err) => write!(f, "IOError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:38:37 [INFO] [stderr] | [INFO] [stderr] 38 | ErrorKind::JsonSerDeser(err) => write!(f, "JsonSerDeser"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:39:36 [INFO] [stderr] | [INFO] [stderr] 39 | ErrorKind::JWTCreation(err) => write!(f, "JWTCreation"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:40:37 [INFO] [stderr] | [INFO] [stderr] 40 | ErrorKind::GenericError(err) => write!(f, "GenericError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:41:48 [INFO] [stderr] | [INFO] [stderr] 41 | ErrorKind::InvalidHeaderValueError(err) => write!(f, "InvalidHeaderValueError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:103:41 [INFO] [stderr] | [INFO] [stderr] 103 | ErrorKind::YamlParsingError(ref err) => None, [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:109:37 [INFO] [stderr] | [INFO] [stderr] 109 | ErrorKind::GenericError(ref err) => None, [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `test` [INFO] [stderr] --> src/executor/mod.rs:130:27 [INFO] [stderr] | [INFO] [stderr] 130 | for (idx, test) in test_suite.tests.iter().enumerate() { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_test` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `test` [INFO] [stderr] --> src/executor/mod.rs:154:27 [INFO] [stderr] | [INFO] [stderr] 154 | for (idx, test) in test_suite.tests.iter().enumerate() { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_test` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `conv_id` [INFO] [stderr] --> src/executor/vap_executor.rs:58:31 [INFO] [stderr] | [INFO] [stderr] 58 | fn call_vap (payload: String, conv_id: &str, http_client: &HttpClient, bearer: &str, vap_url: &str) -> Result<(String)> { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conv_id` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/thread_pool.rs:95:37 [INFO] [stderr] | [INFO] [stderr] 95 | Message::NewJob(mut job) => { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pem_file_to_str` [INFO] [stderr] --> src/gdf.rs:44:4 [INFO] [stderr] | [INFO] [stderr] 44 | fn pem_file_to_str(file_name: &str) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pem_to_encoding_key` [INFO] [stderr] --> src/gdf.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | fn pem_to_encoding_key(file_name: &str) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pem_to_decoding_key` [INFO] [stderr] --> src/gdf.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | fn pem_to_decoding_key<'a>(file_bytes: &'a Vec) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `new_token` [INFO] [stderr] --> src/gdf.rs:71:4 [INFO] [stderr] | [INFO] [stderr] 71 | fn new_token(client_email: &str, priv_key_file: &str) -> Result { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `vap_svc_account_email` [INFO] [stderr] --> src/executor/vap_executor.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | vap_svc_account_email: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `vap_svc_account_password` [INFO] [stderr] --> src/executor/vap_executor.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | vap_svc_account_password: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `test_suite` [INFO] [stderr] --> src/executor/mod.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 93 | test_suite: TestSuite, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `realIntentName` should have a snake case name [INFO] [stderr] --> src/executor/gdf_executor.rs:82:13 [INFO] [stderr] | [INFO] [stderr] 82 | let realIntentName = parser.search("queryResult.intent.displayName")?; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `real_intent_name` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `realIntentName` should have a snake case name [INFO] [stderr] --> src/executor/gdf_executor.rs:83:13 [INFO] [stderr] | [INFO] [stderr] 83 | let realIntentName = JsonParser::extract_as_string(&realIntentName); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `real_intent_name` [INFO] [stderr] [INFO] [stderr] warning: variable `intentName` should have a snake case name [INFO] [stderr] --> src/executor/gdf_executor.rs:85:21 [INFO] [stderr] | [INFO] [stderr] 85 | if let Some(intentName) = realIntentName { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `intent_name` [INFO] [stderr] [INFO] [stderr] warning: structure field `userId` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | userId: String, [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `user_id` [INFO] [stderr] [INFO] [stderr] warning: structure field `allowedServices` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | allowedServices: Vec [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `allowed_services` [INFO] [stderr] [INFO] [stderr] warning: structure field `accessToken` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | pub accessToken: String, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `access_token` [INFO] [stderr] [INFO] [stderr] warning: variable `realIntentName` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:162:13 [INFO] [stderr] | [INFO] [stderr] 162 | let realIntentName = parser.search("dfResponse.queryResult.intent.displayName")?; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `real_intent_name` [INFO] [stderr] [INFO] [stderr] warning: variable `realIntentName` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:163:13 [INFO] [stderr] | [INFO] [stderr] 163 | let realIntentName = JsonParser::extract_as_string(&realIntentName); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `real_intent_name` [INFO] [stderr] [INFO] [stderr] warning: variable `intentName` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:165:21 [INFO] [stderr] | [INFO] [stderr] 165 | if let Some(intentName) = realIntentName { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `intent_name` [INFO] [stderr] [INFO] [stderr] warning: 64 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: denote infinite loops with `loop { ... }` [INFO] [stderr] --> src/main.rs:55:11 [INFO] [stderr] | [INFO] [stderr] 55 | while true { [INFO] [stderr] | ^^^^^^^^^^ help: use `loop` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(while_true)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:48:7 [INFO] [stderr] | [INFO] [stderr] 48 | let mut suite_executor = TestSuiteExecutor::new(suite)?; [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: denote infinite loops with `loop { ... }` [INFO] [stderr] --> src/main.rs:55:11 [INFO] [stderr] | [INFO] [stderr] 55 | while true { [INFO] [stderr] | ^^^^^^^^^^ help: use `loop` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(while_true)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused imports: `from_str`, `json` [INFO] [stderr] --> src/yaml_parser.rs:377:22 [INFO] [stderr] | [INFO] [stderr] 377 | use serde_json::{json, from_str}; [INFO] [stderr] | ^^^^ ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::error::Error` [INFO] [stderr] --> src/json_parser.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `jmespath::JmespathError` [INFO] [stderr] --> src/json_parser.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use jmespath::JmespathError; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/json_parser.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/json_parser.rs:91:8 [INFO] [stderr] | [INFO] [stderr] 91 | if (variable.is_object() == true) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde_json::from_str` [INFO] [stderr] --> src/gdf.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use serde_json::from_str; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:48:7 [INFO] [stderr] | [INFO] [stderr] 48 | let mut suite_executor = TestSuiteExecutor::new(suite)?; [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/gdf.rs:111:58 [INFO] [stderr] | [INFO] [stderr] 111 | headers.insert("Content-Type", HeaderValue::from_str(("application/x-www-form-urlencoded"))?); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/gdf.rs:117:140 [INFO] [stderr] | [INFO] [stderr] 117 | pub fn call_dialogflow (payload: String, project_id: &str, conv_id: &str, http_client: &reqwest::blocking::Client, bearer: &str) -> Result<(String)> { [INFO] [stderr] | ^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/gdf.rs:120:59 [INFO] [stderr] | [INFO] [stderr] 120 | headers.insert("Authorization", HeaderValue::from_str((&bearer_str)).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused imports: `HeaderMap`, `HeaderValue` [INFO] [stderr] --> src/gdf.rs:144:27 [INFO] [stderr] | [INFO] [stderr] 144 | use reqwest::header::{HeaderMap, HeaderValue}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `reqwest` [INFO] [stderr] --> src/executor/mod.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use reqwest; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `guid_create::GUID` [INFO] [stderr] --> src/executor/mod.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use guid_create::GUID; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/executor/mod.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `YamlLoader`, `Yaml` [INFO] [stderr] --> src/executor/mod.rs:4:17 [INFO] [stderr] | [INFO] [stderr] 4 | use yaml_rust::{YamlLoader, Yaml}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Error` [INFO] [stderr] --> src/executor/mod.rs:6:91 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::errors::{Result, ErrorKind, new_service_call_error, new_error, new_error_from, Error}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Test` [INFO] [stderr] --> src/executor/mod.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | Test, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `call_dialogflow`, `file_to_gdf_credentials`, `get_google_api_token`, `prepare_dialogflow_request` [INFO] [stderr] --> src/executor/mod.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | get_google_api_token, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 22 | prepare_dialogflow_request, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 23 | call_dialogflow, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 24 | file_to_gdf_credentials [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/executor/gdf_executor.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Error`, `new_error_from` [INFO] [stderr] --> src/executor/gdf_executor.rs:6:64 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::errors::{Result, ErrorKind, new_service_call_error, new_error_from, Error}; [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `JmespathType` [INFO] [stderr] --> src/executor/gdf_executor.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | JmespathType [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TestAssertionResponseCheckOperator`, `TestAssertionResponseCheckValue`, `TestAssertionResponseCheck`, `TestSuiteType`, `Test` [INFO] [stderr] --> src/executor/gdf_executor.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | Test, [INFO] [stderr] | ^^^^ [INFO] [stderr] 13 | TestAssertion, [INFO] [stderr] 14 | TestSuiteType, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 15 | TestSuite, [INFO] [stderr] 16 | TestAssertionResponseCheckOperator, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 17 | TestAssertionResponseCheckValue, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 18 | TestAssertionResponseCheck [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: denote infinite loops with `loop { ... }` [INFO] [stderr] --> src/executor/gdf_executor.rs:136:9 [INFO] [stderr] | [INFO] [stderr] 136 | while true { [INFO] [stderr] | ^^^^^^^^^^ help: use `loop` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(while_true)]` on by default [INFO] [stderr] [INFO] [stderr] warning: denote infinite loops with `loop { ... }` [INFO] [stderr] --> src/executor/gdf_executor.rs:217:17 [INFO] [stderr] | [INFO] [stderr] 217 | while true { [INFO] [stderr] | ^^^^^^^^^^ help: use `loop` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/executor/vap_executor.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TestAssertionResponseCheckOperator`, `TestAssertionResponseCheckValue`, `TestAssertionResponseCheck`, `TestSuiteType`, `Test` [INFO] [stderr] --> src/executor/vap_executor.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | Test, [INFO] [stderr] | ^^^^ [INFO] [stderr] 8 | TestAssertion, [INFO] [stderr] 9 | TestSuiteType, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 10 | TestSuite, [INFO] [stderr] 11 | TestAssertionResponseCheckOperator, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 12 | TestAssertionResponseCheckValue, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 13 | TestAssertionResponseCheck [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `JmespathType` [INFO] [stderr] --> src/executor/vap_executor.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | JmespathType [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Error`, `new_error_from`, `new_error` [INFO] [stderr] --> src/executor/vap_executor.rs:20:64 [INFO] [stderr] | [INFO] [stderr] 20 | use crate::errors::{Result, ErrorKind, new_service_call_error, new_error_from, new_error, Error}; [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/executor/vap_executor.rs:58:111 [INFO] [stderr] | [INFO] [stderr] 58 | fn call_vap (payload: String, conv_id: &str, http_client: &HttpClient, bearer: &str, vap_url: &str) -> Result<(String)> { [INFO] [stderr] | ^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/executor/vap_executor.rs:61:59 [INFO] [stderr] | [INFO] [stderr] 61 | headers.insert("Authorization", HeaderValue::from_str((&bearer_str)).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: denote infinite loops with `loop { ... }` [INFO] [stderr] --> src/executor/vap_executor.rs:272:9 [INFO] [stderr] | [INFO] [stderr] 272 | while true { [INFO] [stderr] | ^^^^^^^^^^ help: use `loop` [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/executor/mod.rs:169:9 [INFO] [stderr] | [INFO] [stderr] 169 | /// HELPER closures /// [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 170 | / let process_bool_equals = |bool_val_expected: &bool| -> Result<()> { [INFO] [stderr] 171 | | let parser = JsonParser::new(response); [INFO] [stderr] 172 | | let search_result = parser.search(&response_check.expression)?; [INFO] [stderr] 173 | | [INFO] [stderr] ... | [INFO] [stderr] 185 | | } [INFO] [stderr] 186 | | }; [INFO] [stderr] | |__________- rustdoc does not generate documentation for statements [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/executor/mod.rs:378:9 [INFO] [stderr] | [INFO] [stderr] 378 | /// MAIN processing logic of the function utilizing closures defined above /// [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 379 | / match &response_check.value { [INFO] [stderr] 380 | | [INFO] [stderr] 381 | | TestAssertionResponseCheckValue::BoolVal(bool_val_expected) => { [INFO] [stderr] 382 | | [INFO] [stderr] ... | [INFO] [stderr] 430 | | } [INFO] [stderr] 431 | | } [INFO] [stderr] | |_________- rustdoc does not generate documentation for expressions [INFO] [stderr] [INFO] [stderr] warning: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:33:44 [INFO] [stderr] | [INFO] [stderr] 33 | ErrorKind::HttpInvocationError(err) => write!(f, "HttpInvocationError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:34:41 [INFO] [stderr] | [INFO] [stderr] 34 | ErrorKind::YamlParsingError(err) => write!(f, "YamlParsingError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:35:41 [INFO] [stderr] | [INFO] [stderr] 35 | ErrorKind::YamlLoadingError(err) => write!(f, "YamlLoadingError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:36:41 [INFO] [stderr] | [INFO] [stderr] 36 | ErrorKind::JsonParsingError(err) => write!(f, "JsonParsingError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:37:32 [INFO] [stderr] | [INFO] [stderr] 37 | ErrorKind::IOError(err) => write!(f, "IOError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:38:37 [INFO] [stderr] | [INFO] [stderr] 38 | ErrorKind::JsonSerDeser(err) => write!(f, "JsonSerDeser"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:39:36 [INFO] [stderr] | [INFO] [stderr] 39 | ErrorKind::JWTCreation(err) => write!(f, "JWTCreation"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:40:37 [INFO] [stderr] | [INFO] [stderr] 40 | ErrorKind::GenericError(err) => write!(f, "GenericError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:41:48 [INFO] [stderr] | [INFO] [stderr] 41 | ErrorKind::InvalidHeaderValueError(err) => write!(f, "InvalidHeaderValueError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:103:41 [INFO] [stderr] | [INFO] [stderr] 103 | ErrorKind::YamlParsingError(ref err) => None, [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:109:37 [INFO] [stderr] | [INFO] [stderr] 109 | ErrorKind::GenericError(ref err) => None, [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `test` [INFO] [stderr] --> src/executor/mod.rs:130:27 [INFO] [stderr] | [INFO] [stderr] 130 | for (idx, test) in test_suite.tests.iter().enumerate() { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_test` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `test` [INFO] [stderr] --> src/executor/mod.rs:154:27 [INFO] [stderr] | [INFO] [stderr] 154 | for (idx, test) in test_suite.tests.iter().enumerate() { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_test` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `conv_id` [INFO] [stderr] --> src/executor/vap_executor.rs:58:31 [INFO] [stderr] | [INFO] [stderr] 58 | fn call_vap (payload: String, conv_id: &str, http_client: &HttpClient, bearer: &str, vap_url: &str) -> Result<(String)> { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conv_id` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/executor/gdf_executor.rs:210:13 [INFO] [stderr] | [INFO] [stderr] 210 | let mut suite_executor = TestSuiteExecutor::new(suite)?; [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/thread_pool.rs:95:37 [INFO] [stderr] | [INFO] [stderr] 95 | Message::NewJob(mut job) => { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field is never read: `vap_svc_account_email` [INFO] [stderr] --> src/executor/vap_executor.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | vap_svc_account_email: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field is never read: `vap_svc_account_password` [INFO] [stderr] --> src/executor/vap_executor.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | vap_svc_account_password: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `test_suite` [INFO] [stderr] --> src/executor/mod.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 93 | test_suite: TestSuite, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `realIntentName` should have a snake case name [INFO] [stderr] --> src/executor/gdf_executor.rs:82:13 [INFO] [stderr] | [INFO] [stderr] 82 | let realIntentName = parser.search("queryResult.intent.displayName")?; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `real_intent_name` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `realIntentName` should have a snake case name [INFO] [stderr] --> src/executor/gdf_executor.rs:83:13 [INFO] [stderr] | [INFO] [stderr] 83 | let realIntentName = JsonParser::extract_as_string(&realIntentName); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `real_intent_name` [INFO] [stderr] [INFO] [stderr] warning: variable `intentName` should have a snake case name [INFO] [stderr] --> src/executor/gdf_executor.rs:85:21 [INFO] [stderr] | [INFO] [stderr] 85 | if let Some(intentName) = realIntentName { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `intent_name` [INFO] [stderr] [INFO] [stderr] warning: structure field `userId` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | userId: String, [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `user_id` [INFO] [stderr] [INFO] [stderr] warning: structure field `allowedServices` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | allowedServices: Vec [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `allowed_services` [INFO] [stderr] [INFO] [stderr] warning: structure field `accessToken` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | pub accessToken: String, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `access_token` [INFO] [stderr] [INFO] [stderr] warning: variable `realIntentName` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:162:13 [INFO] [stderr] | [INFO] [stderr] 162 | let realIntentName = parser.search("dfResponse.queryResult.intent.displayName")?; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `real_intent_name` [INFO] [stderr] [INFO] [stderr] warning: variable `realIntentName` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:163:13 [INFO] [stderr] | [INFO] [stderr] 163 | let realIntentName = JsonParser::extract_as_string(&realIntentName); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `real_intent_name` [INFO] [stderr] [INFO] [stderr] warning: variable `intentName` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:165:21 [INFO] [stderr] | [INFO] [stderr] 165 | if let Some(intentName) = realIntentName { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `intent_name` [INFO] [stderr] [INFO] [stderr] warning: 60 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 11.30s [INFO] running `"docker" "inspect" "70bf973957991a39a59e4cc8e3d758c833cb6bd5e9bf6ace29a587b316bf8a58"` [INFO] running `"docker" "rm" "-f" "70bf973957991a39a59e4cc8e3d758c833cb6bd5e9bf6ace29a587b316bf8a58"` [INFO] [stdout] 70bf973957991a39a59e4cc8e3d758c833cb6bd5e9bf6ace29a587b316bf8a58 [INFO] running `"docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "MAP_USER_ID=0" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--network" "none" "rustops/crates-build-env" "/opt/rustwide/cargo-home/bin/cargo" "+28742a1146f10a4f09369baad027a464acb7a766" "test" "--frozen"` [INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. [INFO] [stdout] f894aaa7f374059b7af3c1c8d34c436c05430e040b92625efa37948d44c6ea38 [INFO] running `"docker" "start" "-a" "f894aaa7f374059b7af3c1c8d34c436c05430e040b92625efa37948d44c6ea38"` [INFO] [stderr] warning: unused import: `std::error::Error` [INFO] [stderr] --> src/json_parser.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `jmespath::JmespathError` [INFO] [stderr] --> src/json_parser.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use jmespath::JmespathError; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/json_parser.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `assert_json_eq` [INFO] [stderr] --> src/json_parser.rs:9:24 [INFO] [stderr] | [INFO] [stderr] 9 | use assert_json_diff::{assert_json_eq, assert_json_eq_no_panic}; [INFO] [stderr] | ^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `ErrorKind` [INFO] [stderr] --> src/json_parser.rs:11:29 [INFO] [stderr] | [INFO] [stderr] 11 | use crate::errors::{Result, ErrorKind}; [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/json_parser.rs:91:8 [INFO] [stderr] | [INFO] [stderr] 91 | if (variable.is_object() == true) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde_json::from_str` [INFO] [stderr] --> src/gdf.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use serde_json::from_str; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/gdf.rs:111:58 [INFO] [stderr] | [INFO] [stderr] 111 | headers.insert("Content-Type", HeaderValue::from_str(("application/x-www-form-urlencoded"))?); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/gdf.rs:117:140 [INFO] [stderr] | [INFO] [stderr] 117 | pub fn call_dialogflow (payload: String, project_id: &str, conv_id: &str, http_client: &reqwest::blocking::Client, bearer: &str) -> Result<(String)> { [INFO] [stderr] | ^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/gdf.rs:120:59 [INFO] [stderr] | [INFO] [stderr] 120 | headers.insert("Authorization", HeaderValue::from_str((&bearer_str)).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused import: `reqwest` [INFO] [stderr] --> src/executor/mod.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use reqwest; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `guid_create::GUID` [INFO] [stderr] --> src/executor/mod.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use guid_create::GUID; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/executor/mod.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `YamlLoader`, `Yaml` [INFO] [stderr] --> src/executor/mod.rs:4:17 [INFO] [stderr] | [INFO] [stderr] 4 | use yaml_rust::{YamlLoader, Yaml}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Error` [INFO] [stderr] --> src/executor/mod.rs:6:91 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::errors::{Result, ErrorKind, new_service_call_error, new_error, new_error_from, Error}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Test` [INFO] [stderr] --> src/executor/mod.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | Test, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `call_dialogflow`, `file_to_gdf_credentials`, `get_google_api_token`, `prepare_dialogflow_request` [INFO] [stderr] --> src/executor/mod.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | get_google_api_token, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 22 | prepare_dialogflow_request, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 23 | call_dialogflow, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 24 | file_to_gdf_credentials [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `YamlLoader`, `Yaml` [INFO] [stderr] --> src/executor/gdf_executor.rs:3:17 [INFO] [stderr] | [INFO] [stderr] 3 | use yaml_rust::{YamlLoader, Yaml}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/executor/gdf_executor.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Error`, `new_error_from` [INFO] [stderr] --> src/executor/gdf_executor.rs:6:64 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::errors::{Result, ErrorKind, new_service_call_error, new_error_from, Error}; [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `JmespathType` [INFO] [stderr] --> src/executor/gdf_executor.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | JmespathType [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TestAssertionResponseCheckOperator`, `TestAssertionResponseCheckValue`, `TestAssertionResponseCheck`, `TestSuiteType`, `Test` [INFO] [stderr] --> src/executor/gdf_executor.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | Test, [INFO] [stderr] | ^^^^ [INFO] [stderr] 13 | TestAssertion, [INFO] [stderr] 14 | TestSuiteType, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 15 | TestSuite, [INFO] [stderr] 16 | TestAssertionResponseCheckOperator, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 17 | TestAssertionResponseCheckValue, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 18 | TestAssertionResponseCheck [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `TestSuiteExecutor` [INFO] [stderr] --> src/executor/gdf_executor.rs:29:37 [INFO] [stderr] | [INFO] [stderr] 29 | use crate::executor::{TestExecutor, TestSuiteExecutor}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `YamlLoader`, `Yaml` [INFO] [stderr] --> src/executor/vap_executor.rs:1:17 [INFO] [stderr] | [INFO] [stderr] 1 | use yaml_rust::{YamlLoader, Yaml}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/executor/vap_executor.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TestAssertionResponseCheckOperator`, `TestAssertionResponseCheckValue`, `TestAssertionResponseCheck`, `TestSuiteType`, `Test` [INFO] [stderr] --> src/executor/vap_executor.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | Test, [INFO] [stderr] | ^^^^ [INFO] [stderr] 8 | TestAssertion, [INFO] [stderr] 9 | TestSuiteType, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 10 | TestSuite, [INFO] [stderr] 11 | TestAssertionResponseCheckOperator, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 12 | TestAssertionResponseCheckValue, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 13 | TestAssertionResponseCheck [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `JmespathType` [INFO] [stderr] --> src/executor/vap_executor.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | JmespathType [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Error`, `new_error_from`, `new_error` [INFO] [stderr] --> src/executor/vap_executor.rs:20:64 [INFO] [stderr] | [INFO] [stderr] 20 | use crate::errors::{Result, ErrorKind, new_service_call_error, new_error_from, new_error, Error}; [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `TestSuiteExecutor` [INFO] [stderr] --> src/executor/vap_executor.rs:21:37 [INFO] [stderr] | [INFO] [stderr] 21 | use crate::executor::{TestExecutor, TestSuiteExecutor}; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/executor/vap_executor.rs:58:111 [INFO] [stderr] | [INFO] [stderr] 58 | fn call_vap (payload: String, conv_id: &str, http_client: &HttpClient, bearer: &str, vap_url: &str) -> Result<(String)> { [INFO] [stderr] | ^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/executor/vap_executor.rs:61:59 [INFO] [stderr] | [INFO] [stderr] 61 | headers.insert("Authorization", HeaderValue::from_str((&bearer_str)).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/executor/mod.rs:169:9 [INFO] [stderr] | [INFO] [stderr] 169 | /// HELPER closures /// [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 170 | / let process_bool_equals = |bool_val_expected: &bool| -> Result<()> { [INFO] [stderr] 171 | | let parser = JsonParser::new(response); [INFO] [stderr] 172 | | let search_result = parser.search(&response_check.expression)?; [INFO] [stderr] 173 | | [INFO] [stderr] ... | [INFO] [stderr] 185 | | } [INFO] [stderr] 186 | | }; [INFO] [stderr] | |__________- rustdoc does not generate documentation for statements [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/executor/mod.rs:378:9 [INFO] [stderr] | [INFO] [stderr] 378 | /// MAIN processing logic of the function utilizing closures defined above /// [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 379 | / match &response_check.value { [INFO] [stderr] 380 | | [INFO] [stderr] 381 | | TestAssertionResponseCheckValue::BoolVal(bool_val_expected) => { [INFO] [stderr] 382 | | [INFO] [stderr] ... | [INFO] [stderr] 430 | | } [INFO] [stderr] 431 | | } [INFO] [stderr] | |_________- rustdoc does not generate documentation for expressions [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:33:44 [INFO] [stderr] | [INFO] [stderr] 33 | ErrorKind::HttpInvocationError(err) => write!(f, "HttpInvocationError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:34:41 [INFO] [stderr] | [INFO] [stderr] 34 | ErrorKind::YamlParsingError(err) => write!(f, "YamlParsingError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:35:41 [INFO] [stderr] | [INFO] [stderr] 35 | ErrorKind::YamlLoadingError(err) => write!(f, "YamlLoadingError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:36:41 [INFO] [stderr] | [INFO] [stderr] 36 | ErrorKind::JsonParsingError(err) => write!(f, "JsonParsingError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:37:32 [INFO] [stderr] | [INFO] [stderr] 37 | ErrorKind::IOError(err) => write!(f, "IOError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:38:37 [INFO] [stderr] | [INFO] [stderr] 38 | ErrorKind::JsonSerDeser(err) => write!(f, "JsonSerDeser"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:39:36 [INFO] [stderr] | [INFO] [stderr] 39 | ErrorKind::JWTCreation(err) => write!(f, "JWTCreation"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:40:37 [INFO] [stderr] | [INFO] [stderr] 40 | ErrorKind::GenericError(err) => write!(f, "GenericError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:41:48 [INFO] [stderr] | [INFO] [stderr] 41 | ErrorKind::InvalidHeaderValueError(err) => write!(f, "InvalidHeaderValueError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:103:41 [INFO] [stderr] | [INFO] [stderr] 103 | ErrorKind::YamlParsingError(ref err) => None, [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:109:37 [INFO] [stderr] | [INFO] [stderr] 109 | ErrorKind::GenericError(ref err) => None, [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `test` [INFO] [stderr] --> src/executor/mod.rs:130:27 [INFO] [stderr] | [INFO] [stderr] 130 | for (idx, test) in test_suite.tests.iter().enumerate() { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_test` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `test` [INFO] [stderr] --> src/executor/mod.rs:154:27 [INFO] [stderr] | [INFO] [stderr] 154 | for (idx, test) in test_suite.tests.iter().enumerate() { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_test` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `conv_id` [INFO] [stderr] --> src/executor/vap_executor.rs:58:31 [INFO] [stderr] | [INFO] [stderr] 58 | fn call_vap (payload: String, conv_id: &str, http_client: &HttpClient, bearer: &str, vap_url: &str) -> Result<(String)> { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conv_id` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/thread_pool.rs:95:37 [INFO] [stderr] | [INFO] [stderr] 95 | Message::NewJob(mut job) => { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pem_file_to_str` [INFO] [stderr] --> src/gdf.rs:44:4 [INFO] [stderr] | [INFO] [stderr] 44 | fn pem_file_to_str(file_name: &str) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pem_to_encoding_key` [INFO] [stderr] --> src/gdf.rs:50:5 [INFO] [stderr] | [INFO] [stderr] 50 | fn pem_to_encoding_key(file_name: &str) -> Result { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `pem_to_decoding_key` [INFO] [stderr] --> src/gdf.rs:64:5 [INFO] [stderr] | [INFO] [stderr] 64 | fn pem_to_decoding_key<'a>(file_bytes: &'a Vec) -> Result> { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: function is never used: `new_token` [INFO] [stderr] --> src/gdf.rs:71:4 [INFO] [stderr] | [INFO] [stderr] 71 | fn new_token(client_email: &str, priv_key_file: &str) -> Result { [INFO] [stderr] | ^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `vap_svc_account_email` [INFO] [stderr] --> src/executor/vap_executor.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | vap_svc_account_email: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `vap_svc_account_password` [INFO] [stderr] --> src/executor/vap_executor.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | vap_svc_account_password: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `test_suite` [INFO] [stderr] --> src/executor/mod.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 93 | test_suite: TestSuite, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `realIntentName` should have a snake case name [INFO] [stderr] --> src/executor/gdf_executor.rs:82:13 [INFO] [stderr] | [INFO] [stderr] 82 | let realIntentName = parser.search("queryResult.intent.displayName")?; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `real_intent_name` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `realIntentName` should have a snake case name [INFO] [stderr] --> src/executor/gdf_executor.rs:83:13 [INFO] [stderr] | [INFO] [stderr] 83 | let realIntentName = JsonParser::extract_as_string(&realIntentName); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `real_intent_name` [INFO] [stderr] [INFO] [stderr] warning: variable `intentName` should have a snake case name [INFO] [stderr] --> src/executor/gdf_executor.rs:85:21 [INFO] [stderr] | [INFO] [stderr] 85 | if let Some(intentName) = realIntentName { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `intent_name` [INFO] [stderr] [INFO] [stderr] warning: structure field `userId` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | userId: String, [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `user_id` [INFO] [stderr] [INFO] [stderr] warning: structure field `allowedServices` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | allowedServices: Vec [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `allowed_services` [INFO] [stderr] [INFO] [stderr] warning: structure field `accessToken` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | pub accessToken: String, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `access_token` [INFO] [stderr] [INFO] [stderr] warning: variable `realIntentName` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:162:13 [INFO] [stderr] | [INFO] [stderr] 162 | let realIntentName = parser.search("dfResponse.queryResult.intent.displayName")?; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `real_intent_name` [INFO] [stderr] [INFO] [stderr] warning: variable `realIntentName` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:163:13 [INFO] [stderr] | [INFO] [stderr] 163 | let realIntentName = JsonParser::extract_as_string(&realIntentName); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `real_intent_name` [INFO] [stderr] [INFO] [stderr] warning: variable `intentName` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:165:21 [INFO] [stderr] | [INFO] [stderr] 165 | if let Some(intentName) = realIntentName { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `intent_name` [INFO] [stderr] [INFO] [stderr] warning: 64 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unused imports: `from_str`, `json` [INFO] [stderr] --> src/yaml_parser.rs:377:22 [INFO] [stderr] | [INFO] [stderr] 377 | use serde_json::{json, from_str}; [INFO] [stderr] | ^^^^ ^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_imports)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::error::Error` [INFO] [stderr] --> src/json_parser.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::error::Error; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `jmespath::JmespathError` [INFO] [stderr] --> src/json_parser.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use jmespath::JmespathError; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/json_parser.rs:8:5 [INFO] [stderr] | [INFO] [stderr] 8 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around `if` condition [INFO] [stderr] --> src/json_parser.rs:91:8 [INFO] [stderr] | [INFO] [stderr] 91 | if (variable.is_object() == true) { [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_parens)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused import: `serde_json::from_str` [INFO] [stderr] --> src/gdf.rs:5:5 [INFO] [stderr] | [INFO] [stderr] 5 | use serde_json::from_str; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/gdf.rs:111:58 [INFO] [stderr] | [INFO] [stderr] 111 | headers.insert("Content-Type", HeaderValue::from_str(("application/x-www-form-urlencoded"))?); [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/gdf.rs:117:140 [INFO] [stderr] | [INFO] [stderr] 117 | pub fn call_dialogflow (payload: String, project_id: &str, conv_id: &str, http_client: &reqwest::blocking::Client, bearer: &str) -> Result<(String)> { [INFO] [stderr] | ^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/gdf.rs:120:59 [INFO] [stderr] | [INFO] [stderr] 120 | headers.insert("Authorization", HeaderValue::from_str((&bearer_str)).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unused imports: `HeaderMap`, `HeaderValue` [INFO] [stderr] --> src/gdf.rs:144:27 [INFO] [stderr] | [INFO] [stderr] 144 | use reqwest::header::{HeaderMap, HeaderValue}; [INFO] [stderr] | ^^^^^^^^^ ^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `reqwest` [INFO] [stderr] --> src/executor/mod.rs:1:5 [INFO] [stderr] | [INFO] [stderr] 1 | use reqwest; [INFO] [stderr] | ^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `guid_create::GUID` [INFO] [stderr] --> src/executor/mod.rs:2:5 [INFO] [stderr] | [INFO] [stderr] 2 | use guid_create::GUID; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/executor/mod.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `YamlLoader`, `Yaml` [INFO] [stderr] --> src/executor/mod.rs:4:17 [INFO] [stderr] | [INFO] [stderr] 4 | use yaml_rust::{YamlLoader, Yaml}; [INFO] [stderr] | ^^^^^^^^^^ ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Error` [INFO] [stderr] --> src/executor/mod.rs:6:91 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::errors::{Result, ErrorKind, new_service_call_error, new_error, new_error_from, Error}; [INFO] [stderr] | ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `Test` [INFO] [stderr] --> src/executor/mod.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | Test, [INFO] [stderr] | ^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `call_dialogflow`, `file_to_gdf_credentials`, `get_google_api_token`, `prepare_dialogflow_request` [INFO] [stderr] --> src/executor/mod.rs:21:5 [INFO] [stderr] | [INFO] [stderr] 21 | get_google_api_token, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 22 | prepare_dialogflow_request, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 23 | call_dialogflow, [INFO] [stderr] | ^^^^^^^^^^^^^^^ [INFO] [stderr] 24 | file_to_gdf_credentials [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/executor/gdf_executor.rs:4:5 [INFO] [stderr] | [INFO] [stderr] 4 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Error`, `new_error_from` [INFO] [stderr] --> src/executor/gdf_executor.rs:6:64 [INFO] [stderr] | [INFO] [stderr] 6 | use crate::errors::{Result, ErrorKind, new_service_call_error, new_error_from, Error}; [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `JmespathType` [INFO] [stderr] --> src/executor/gdf_executor.rs:9:5 [INFO] [stderr] | [INFO] [stderr] 9 | JmespathType [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TestAssertionResponseCheckOperator`, `TestAssertionResponseCheckValue`, `TestAssertionResponseCheck`, `TestSuiteType`, `Test` [INFO] [stderr] --> src/executor/gdf_executor.rs:12:5 [INFO] [stderr] | [INFO] [stderr] 12 | Test, [INFO] [stderr] | ^^^^ [INFO] [stderr] 13 | TestAssertion, [INFO] [stderr] 14 | TestSuiteType, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 15 | TestSuite, [INFO] [stderr] 16 | TestAssertionResponseCheckOperator, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 17 | TestAssertionResponseCheckValue, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 18 | TestAssertionResponseCheck [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: denote infinite loops with `loop { ... }` [INFO] [stderr] --> src/executor/gdf_executor.rs:136:9 [INFO] [stderr] | [INFO] [stderr] 136 | while true { [INFO] [stderr] | ^^^^^^^^^^ help: use `loop` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(while_true)]` on by default [INFO] [stderr] [INFO] [stderr] warning: denote infinite loops with `loop { ... }` [INFO] [stderr] --> src/executor/gdf_executor.rs:217:17 [INFO] [stderr] | [INFO] [stderr] 217 | while true { [INFO] [stderr] | ^^^^^^^^^^ help: use `loop` [INFO] [stderr] [INFO] [stderr] warning: unused import: `std::collections::HashMap` [INFO] [stderr] --> src/executor/vap_executor.rs:3:5 [INFO] [stderr] | [INFO] [stderr] 3 | use std::collections::HashMap; [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `TestAssertionResponseCheckOperator`, `TestAssertionResponseCheckValue`, `TestAssertionResponseCheck`, `TestSuiteType`, `Test` [INFO] [stderr] --> src/executor/vap_executor.rs:7:5 [INFO] [stderr] | [INFO] [stderr] 7 | Test, [INFO] [stderr] | ^^^^ [INFO] [stderr] 8 | TestAssertion, [INFO] [stderr] 9 | TestSuiteType, [INFO] [stderr] | ^^^^^^^^^^^^^ [INFO] [stderr] 10 | TestSuite, [INFO] [stderr] 11 | TestAssertionResponseCheckOperator, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 12 | TestAssertionResponseCheckValue, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 13 | TestAssertionResponseCheck [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused import: `JmespathType` [INFO] [stderr] --> src/executor/vap_executor.rs:17:5 [INFO] [stderr] | [INFO] [stderr] 17 | JmespathType [INFO] [stderr] | ^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unused imports: `Error`, `new_error_from`, `new_error` [INFO] [stderr] --> src/executor/vap_executor.rs:20:64 [INFO] [stderr] | [INFO] [stderr] 20 | use crate::errors::{Result, ErrorKind, new_service_call_error, new_error_from, new_error, Error}; [INFO] [stderr] | ^^^^^^^^^^^^^^ ^^^^^^^^^ ^^^^^ [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around type [INFO] [stderr] --> src/executor/vap_executor.rs:58:111 [INFO] [stderr] | [INFO] [stderr] 58 | fn call_vap (payload: String, conv_id: &str, http_client: &HttpClient, bearer: &str, vap_url: &str) -> Result<(String)> { [INFO] [stderr] | ^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: unnecessary parentheses around function argument [INFO] [stderr] --> src/executor/vap_executor.rs:61:59 [INFO] [stderr] | [INFO] [stderr] 61 | headers.insert("Authorization", HeaderValue::from_str((&bearer_str)).unwrap()); [INFO] [stderr] | ^^^^^^^^^^^^^ help: remove these parentheses [INFO] [stderr] [INFO] [stderr] warning: denote infinite loops with `loop { ... }` [INFO] [stderr] --> src/executor/vap_executor.rs:272:9 [INFO] [stderr] | [INFO] [stderr] 272 | while true { [INFO] [stderr] | ^^^^^^^^^^ help: use `loop` [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/executor/mod.rs:169:9 [INFO] [stderr] | [INFO] [stderr] 169 | /// HELPER closures /// [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 170 | / let process_bool_equals = |bool_val_expected: &bool| -> Result<()> { [INFO] [stderr] 171 | | let parser = JsonParser::new(response); [INFO] [stderr] 172 | | let search_result = parser.search(&response_check.expression)?; [INFO] [stderr] 173 | | [INFO] [stderr] ... | [INFO] [stderr] 185 | | } [INFO] [stderr] 186 | | }; [INFO] [stderr] | |__________- rustdoc does not generate documentation for statements [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_doc_comments)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused doc comment [INFO] [stderr] --> src/executor/mod.rs:378:9 [INFO] [stderr] | [INFO] [stderr] 378 | /// MAIN processing logic of the function utilizing closures defined above /// [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] 379 | / match &response_check.value { [INFO] [stderr] 380 | | [INFO] [stderr] 381 | | TestAssertionResponseCheckValue::BoolVal(bool_val_expected) => { [INFO] [stderr] 382 | | [INFO] [stderr] ... | [INFO] [stderr] 430 | | } [INFO] [stderr] 431 | | } [INFO] [stderr] | |_________- rustdoc does not generate documentation for expressions [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:33:44 [INFO] [stderr] | [INFO] [stderr] 33 | ErrorKind::HttpInvocationError(err) => write!(f, "HttpInvocationError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_variables)]` on by default [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:34:41 [INFO] [stderr] | [INFO] [stderr] 34 | ErrorKind::YamlParsingError(err) => write!(f, "YamlParsingError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:35:41 [INFO] [stderr] | [INFO] [stderr] 35 | ErrorKind::YamlLoadingError(err) => write!(f, "YamlLoadingError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:36:41 [INFO] [stderr] | [INFO] [stderr] 36 | ErrorKind::JsonParsingError(err) => write!(f, "JsonParsingError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:37:32 [INFO] [stderr] | [INFO] [stderr] 37 | ErrorKind::IOError(err) => write!(f, "IOError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:38:37 [INFO] [stderr] | [INFO] [stderr] 38 | ErrorKind::JsonSerDeser(err) => write!(f, "JsonSerDeser"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:39:36 [INFO] [stderr] | [INFO] [stderr] 39 | ErrorKind::JWTCreation(err) => write!(f, "JWTCreation"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:40:37 [INFO] [stderr] | [INFO] [stderr] 40 | ErrorKind::GenericError(err) => write!(f, "GenericError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:41:48 [INFO] [stderr] | [INFO] [stderr] 41 | ErrorKind::InvalidHeaderValueError(err) => write!(f, "InvalidHeaderValueError"), [INFO] [stderr] | ^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: denote infinite loops with `loop { ... }` [INFO] [stderr] --> src/main.rs:55:11 [INFO] [stderr] | [INFO] [stderr] 55 | while true { [INFO] [stderr] | ^^^^^^^^^^ help: use `loop` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(while_true)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:48:7 [INFO] [stderr] | [INFO] [stderr] 48 | let mut suite_executor = TestSuiteExecutor::new(suite)?; [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: denote infinite loops with `loop { ... }` [INFO] [stderr] --> src/main.rs:55:11 [INFO] [stderr] | [INFO] [stderr] 55 | while true { [INFO] [stderr] | ^^^^^^^^^^ help: use `loop` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(while_true)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/main.rs:48:7 [INFO] [stderr] | [INFO] [stderr] 48 | let mut suite_executor = TestSuiteExecutor::new(suite)?; [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: 2 warnings emitted [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:103:41 [INFO] [stderr] | [INFO] [stderr] 103 | ErrorKind::YamlParsingError(ref err) => None, [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `err` [INFO] [stderr] --> src/errors.rs:109:37 [INFO] [stderr] | [INFO] [stderr] 109 | ErrorKind::GenericError(ref err) => None, [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_err` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `test` [INFO] [stderr] --> src/executor/mod.rs:130:27 [INFO] [stderr] | [INFO] [stderr] 130 | for (idx, test) in test_suite.tests.iter().enumerate() { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_test` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `test` [INFO] [stderr] --> src/executor/mod.rs:154:27 [INFO] [stderr] | [INFO] [stderr] 154 | for (idx, test) in test_suite.tests.iter().enumerate() { [INFO] [stderr] | ^^^^ help: if this is intentional, prefix it with an underscore: `_test` [INFO] [stderr] [INFO] [stderr] warning: unused variable: `conv_id` [INFO] [stderr] --> src/executor/vap_executor.rs:58:31 [INFO] [stderr] | [INFO] [stderr] 58 | fn call_vap (payload: String, conv_id: &str, http_client: &HttpClient, bearer: &str, vap_url: &str) -> Result<(String)> { [INFO] [stderr] | ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_conv_id` [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/executor/gdf_executor.rs:210:13 [INFO] [stderr] | [INFO] [stderr] 210 | let mut suite_executor = TestSuiteExecutor::new(suite)?; [INFO] [stderr] | ----^^^^^^^^^^^^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(unused_mut)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable does not need to be mutable [INFO] [stderr] --> src/thread_pool.rs:95:37 [INFO] [stderr] | [INFO] [stderr] 95 | Message::NewJob(mut job) => { [INFO] [stderr] | ----^^^ [INFO] [stderr] | | [INFO] [stderr] | help: remove this `mut` [INFO] [stderr] [INFO] [stderr] warning: field is never read: `vap_svc_account_email` [INFO] [stderr] --> src/executor/vap_executor.rs:72:5 [INFO] [stderr] | [INFO] [stderr] 72 | vap_svc_account_email: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(dead_code)]` on by default [INFO] [stderr] [INFO] [stderr] warning: field is never read: `vap_svc_account_password` [INFO] [stderr] --> src/executor/vap_executor.rs:73:5 [INFO] [stderr] | [INFO] [stderr] 73 | vap_svc_account_password: String, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: field is never read: `test_suite` [INFO] [stderr] --> src/executor/mod.rs:93:5 [INFO] [stderr] | [INFO] [stderr] 93 | test_suite: TestSuite, [INFO] [stderr] | ^^^^^^^^^^^^^^^^^^^^^ [INFO] [stderr] [INFO] [stderr] warning: variable `realIntentName` should have a snake case name [INFO] [stderr] --> src/executor/gdf_executor.rs:82:13 [INFO] [stderr] | [INFO] [stderr] 82 | let realIntentName = parser.search("queryResult.intent.displayName")?; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `real_intent_name` [INFO] [stderr] | [INFO] [stderr] = note: `#[warn(non_snake_case)]` on by default [INFO] [stderr] [INFO] [stderr] warning: variable `realIntentName` should have a snake case name [INFO] [stderr] --> src/executor/gdf_executor.rs:83:13 [INFO] [stderr] | [INFO] [stderr] 83 | let realIntentName = JsonParser::extract_as_string(&realIntentName); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `real_intent_name` [INFO] [stderr] [INFO] [stderr] warning: variable `intentName` should have a snake case name [INFO] [stderr] --> src/executor/gdf_executor.rs:85:21 [INFO] [stderr] | [INFO] [stderr] 85 | if let Some(intentName) = realIntentName { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `intent_name` [INFO] [stderr] [INFO] [stderr] warning: structure field `userId` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:31:5 [INFO] [stderr] | [INFO] [stderr] 31 | userId: String, [INFO] [stderr] | ^^^^^^ help: convert the identifier to snake case: `user_id` [INFO] [stderr] [INFO] [stderr] warning: structure field `allowedServices` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:34:5 [INFO] [stderr] | [INFO] [stderr] 34 | allowedServices: Vec [INFO] [stderr] | ^^^^^^^^^^^^^^^ help: convert the identifier to snake case: `allowed_services` [INFO] [stderr] [INFO] [stderr] warning: structure field `accessToken` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:39:9 [INFO] [stderr] | [INFO] [stderr] 39 | pub accessToken: String, [INFO] [stderr] | ^^^^^^^^^^^ help: convert the identifier to snake case: `access_token` [INFO] [stderr] [INFO] [stderr] warning: variable `realIntentName` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:162:13 [INFO] [stderr] | [INFO] [stderr] 162 | let realIntentName = parser.search("dfResponse.queryResult.intent.displayName")?; [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `real_intent_name` [INFO] [stderr] [INFO] [stderr] warning: variable `realIntentName` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:163:13 [INFO] [stderr] | [INFO] [stderr] 163 | let realIntentName = JsonParser::extract_as_string(&realIntentName); [INFO] [stderr] | ^^^^^^^^^^^^^^ help: convert the identifier to snake case: `real_intent_name` [INFO] [stderr] [INFO] [stderr] warning: variable `intentName` should have a snake case name [INFO] [stderr] --> src/executor/vap_executor.rs:165:21 [INFO] [stderr] | [INFO] [stderr] 165 | if let Some(intentName) = realIntentName { [INFO] [stderr] | ^^^^^^^^^^ help: convert the identifier to snake case: `intent_name` [INFO] [stderr] [INFO] [stderr] warning: 60 warnings emitted [INFO] [stderr] [INFO] [stderr] Finished test [unoptimized + debuginfo] target(s) in 0.70s [INFO] [stderr] Running /opt/rustwide/target/debug/deps/gdf_testing-fe1a90176f1e7b47 [INFO] [stdout] [INFO] [stdout] running 59 tests [INFO] [stdout] test executor::gdf_executor::tests::test_process_multiple_tests ... ignored [INFO] [stdout] test executor::gdf_executor::tests::test_process_test ... ignored [INFO] [stdout] test executor::tests::test_process_assertion_response_check_bool_length ... ok [INFO] [stdout] test executor::tests::test_process_assertion_response_check_bool_json_equals ... ok [INFO] [stdout] test executor::tests::test_process_assertion_response_check_bool_includes ... ok [INFO] [stdout] test executor::tests::test_process_assertion_response_check_bool_not_equals ... ok [INFO] [stdout] test errors::tests::test_error_rendering ... ok [INFO] [stdout] test executor::tests::test_process_assertion_response_check_num_includes ... ok [INFO] [stdout] test executor::tests::test_process_assertion_response_check_num_json_equals ... ok [INFO] [stdout] test executor::tests::test_process_assertion_response_check_bool_equals ... ok [INFO] [stdout] test executor::tests::test_process_assertion_response_check_num_not_equals ... ok [INFO] [stdout] test executor::tests::test_process_assertion_response_check_str_length ... ok [INFO] [stdout] test executor::tests::test_process_assertion_response_check_num_equals ... ok [INFO] [stdout] test executor::tests::test_process_assertion_response_check_str_includes ... ok [INFO] [stdout] test executor::vap_executor::tests::test_get_vap_token ... ignored [INFO] [stdout] test executor::vap_executor::tests::test_process_vap_test ... ignored [INFO] [stdout] test gdf::tests::test_dialogflow_call ... ignored [INFO] [stdout] test gdf::tests::test_http_call ... ignored [INFO] [stdout] test gdf::tests::test_new_token ... ignored [INFO] [stdout] test executor::tests::test_process_assertion_response_check_str_json_equals_objects ... ok [INFO] [stdout] test json_parser::tests::test_compare_object_with_str ... ok [INFO] [stdout] test json_parser::tests::test_compare_array_with_str ... ok [INFO] [stdout] test json_parser::tests::test_json_compare ... ok [INFO] [stdout] test executor::vap_executor::tests::test_get_vap_config ... ok [INFO] [stdout] test json_parser::tests::test_json_extract_array_value ... ok [INFO] [stdout] test json_parser::tests::test_json_extract_boolean_value ... ok [INFO] [stdout] test executor::tests::test_process_assertion_response_check_str_not_equals ... ok [INFO] [stdout] test json_parser::tests::test_json_extract_object_value_and_filter ... ignored [INFO] [stdout] test executor::tests::test_process_assertion_response_check_num_length ... ok [INFO] [stdout] test executor::tests::test_process_assertion_response_check_str_equals ... ok [INFO] [stdout] test executor::tests::test_process_assertion_response_check_str_json_equals_arrays ... ok [INFO] [stdout] test json_parser::tests::test_get_jmespath_var_type ... ok [INFO] [stdout] test json_parser::tests::test_json_extract_object_value_2 ... ok [INFO] [stdout] test yaml_parser::tests::compose_test_suite ... ok [INFO] [stdout] test json_parser::tests::test_json_extract_number_value ... ok [INFO] [stdout] test json_parser::tests::test_json_extract_string_value_3 ... ok [INFO] [stdout] test json_parser::tests::test_json_extract_object_value_1 ... ok [INFO] [stdout] test yaml_parser::tests::test_assertion_extension_no_expression ... ok [INFO] [stdout] test json_parser::tests::test_json_extract_string_value_1 ... ok [INFO] [stdout] test yaml_parser::tests::test_assertion_extension_1 ... ok [INFO] [stdout] test json_parser::tests::test_json_extract_string_value_2 ... ok [INFO] [stdout] test yaml_parser::tests::test_assertion_extension_invalid_value ... ok [INFO] [stdout] test yaml_parser::tests::test_from_yaml_str ... ok [INFO] [stdout] test yaml_parser::tests::test_assertion_extension_invalid_operator ... ok [INFO] [stdout] test yaml_parser::tests::test_assertion_extension_no_operator ... ok [INFO] [stdout] test yaml_parser::tests::test_parse_assertions_missing_bot_responds_with_3 ... ok [INFO] [stdout] test yaml_parser::tests::test_parse_failed_suite_config_not_specified ... ok [INFO] [stdout] test yaml_parser::tests::test_parse_failed_suite_name_not_found ... ok [INFO] [stdout] test yaml_parser::tests::test_parse_assertions_not_specified_1 ... ok [INFO] [stdout] test yaml_parser::tests::test_parse_assertions_missing_bot_responds_with_4 ... ok [INFO] [stdout] test yaml_parser::tests::test_parse_failed_unknown_suite_type ... ok [INFO] [stdout] test yaml_parser::tests::test_parse_assertions_missing_user_says ... ok [INFO] [stdout] test yaml_parser::tests::test_parse_assertions_missing_bot_responds_with_2 ... ok [INFO] [stdout] test yaml_parser::tests::test_parse_assertions_missing_bot_responds_with_1 ... ok [INFO] [stdout] test yaml_parser::tests::test_parse_assertions_not_specified_2 ... ok [INFO] [stdout] test yaml_parser::tests::test_parse_failed_suite_type_not_specified ... ok [INFO] [stdout] test yaml_parser::tests::test_parse_name_not_specified ... ok [INFO] [stdout] test yaml_parser::tests::test_parse_no_tests_1 ... ok [INFO] [stdout] test yaml_parser::tests::test_parse_no_tests_2 ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 51 passed; 0 failed; 8 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Running /opt/rustwide/target/debug/deps/gdf_testing-f7fbbb767d9c0c43 [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Running /opt/rustwide/target/debug/deps/integration_tests-0e5de331e7caf5b3 [INFO] [stdout] [INFO] [stdout] running 1 test [INFO] [stdout] test dummy_test ... ok [INFO] [stdout] [INFO] [stdout] test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] [stderr] Doc-tests gdf_testing [INFO] [stdout] [INFO] [stdout] running 0 tests [INFO] [stdout] [INFO] [stdout] test result: ok. 0 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out [INFO] [stdout] [INFO] running `"docker" "inspect" "f894aaa7f374059b7af3c1c8d34c436c05430e040b92625efa37948d44c6ea38"` [INFO] running `"docker" "rm" "-f" "f894aaa7f374059b7af3c1c8d34c436c05430e040b92625efa37948d44c6ea38"` [INFO] [stdout] f894aaa7f374059b7af3c1c8d34c436c05430e040b92625efa37948d44c6ea38