Skip to content

Commit 0be6369

Browse files
Merge pull request #529 from jeremyandrews/degaggle
Temporarily remove Gaggle support, upgrade all dependencies
2 parents f5242be + 16ffcac commit 0be6369

40 files changed

+635
-2483
lines changed

CHANGELOG.md

+9-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,14 @@
11
# Changelog
22

3-
## 0.16.5-dev
3+
## 0.17.0
4+
- [#529](https://github.com/tag1consulting/goose/pull/529) **API change** temporaryily removed Gaggle support `gaggle` feature) to allow upgrading Tokio and other dependencies.
5+
- if you require Gaggle support, use Goose 0.16.4 with Tokio 0.15 for now; Gaggle support is being added back in https://github.com/tag1consulting/goose/pull/509
6+
- updated Tokio to 1.23, updated tungestenite and tokio-tungstenite to 0.18; updated ctrlc to 3.2; updated num_cpus to 1.14, updated simplelog to 0.12, updated nix to 0.26, updated rustls to 0.20, updates serial_test to 0.9
7+
- removed `nng` dependency and `gaggle` feature
8+
- removed `--manager`, `--expect-workers`, `--no-hash-check`, `--manager-bind-host`, `--manager-bind-port`, `--worker`, `--manager-host`, `--manager-port` and related configuration defaults
9+
- removed `AttackMode::Manager` and `AttackMode::Worker`
10+
- ignore all Gaggle tests, will re-enable these tests when Gaggle support is re-implemented
11+
- Box `TransactionError` to avoid over-allocating memory on the stack (see `examples/session.rs` for an example of working with this)
412

513
## 0.16.4 September 20, 2022
614
- [#512](https://github.com/tag1consulting/goose/pull/512) include proper HTTP method and path in logs and html report when using `GooseRequest::builder()`

Cargo.toml

+12-19
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
[package]
22
name = "goose"
3-
version = "0.16.5-dev"
3+
version = "0.17.0-dev"
44
authors = ["Jeremy Andrews <jeremy@tag1consulting.com>"]
55
edition = "2018"
66
description = "A load testing framework inspired by Locust."
@@ -14,16 +14,16 @@ license = "Apache-2.0"
1414
[dependencies]
1515
async-trait = "0.1"
1616
chrono = "0.4"
17-
ctrlc = "3.1"
18-
downcast-rs = "1.2.0"
17+
ctrlc = "3.2"
18+
downcast-rs = "1.2"
1919
flume = "0.10"
2020
futures = "0.3"
2121
gumdrop = "0.8"
2222
http = "0.2"
2323
itertools = "0.10"
2424
lazy_static = "1.4"
2525
log = "0.4"
26-
num_cpus = "1.0"
26+
num_cpus = "1.14"
2727
num-format = "0.4"
2828
rand = "0.8"
2929
regex = "1"
@@ -37,10 +37,10 @@ serde = { version = "1.0", features = [
3737
] }
3838
serde_cbor = "0.11"
3939
serde_json = "1.0"
40-
simplelog = "0.10"
40+
simplelog = "0.12"
4141
strum = "0.24"
4242
strum_macros = "0.24"
43-
tokio = { version = "~1.15.0", features = [
43+
tokio = { version = "1.23", features = [
4444
"fs",
4545
"io-util",
4646
"macros",
@@ -49,24 +49,17 @@ tokio = { version = "~1.15.0", features = [
4949
"time",
5050
"sync",
5151
] }
52-
tokio-tungstenite = "0.15"
53-
tungstenite = "0.15"
52+
tokio-tungstenite = "0.18"
53+
tungstenite = "0.18"
5454
url = "2"
5555

56-
# optional dependencies
57-
nng = { version = "1.0", optional = true }
58-
5956
[features]
6057
default = ["reqwest/default-tls"]
61-
gaggle = ["nng"]
62-
rustls-tls = ["reqwest/rustls-tls", "tokio-tungstenite/rustls-tls"]
63-
64-
[build-dependencies]
65-
rustc_version = "0.4"
58+
rustls-tls = ["reqwest/rustls-tls", "tokio-tungstenite/rustls"]
6659

6760
[dev-dependencies]
6861
httpmock = "0.6"
6962
native-tls = "0.2"
70-
nix = "0.24"
71-
rustls = "0.19"
72-
serial_test = "0.5"
63+
nix = "0.26"
64+
rustls = "0.20"
65+
serial_test = "0.9"

build.rs

-22
This file was deleted.

examples/drupal_memcache.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -309,7 +309,7 @@ async fn drupal_memcache_post_comment(user: &mut GooseUser) -> TransactionResult
309309
let headers = &response.headers().clone();
310310
match response.text().await {
311311
Ok(html) => {
312-
if !html.contains(&comment_body) {
312+
if !html.contains(comment_body) {
313313
// This will automatically get written to the error log if enabled, and will
314314
// be displayed to stdout if `-v` is enabled when running the load test.
315315
return user.set_failure(

examples/session.rs

+7-6
Original file line numberDiff line numberDiff line change
@@ -55,12 +55,13 @@ async fn main() -> Result<(), GooseError> {
5555
/// per user, when the user thread first starts.
5656
async fn website_signup(user: &mut GooseUser) -> TransactionResult {
5757
let params = [("username", "test_user"), ("password", "")];
58-
let response = user
59-
.post_form("/signup", &params)
60-
.await?
61-
.response?
62-
.json::<AuthenticationResponse>()
63-
.await?;
58+
let response = match user.post_form("/signup", &params).await?.response {
59+
Ok(r) => match r.json::<AuthenticationResponse>().await {
60+
Ok(j) => j,
61+
Err(e) => return Err(Box::new(e.into())),
62+
},
63+
Err(e) => return Err(Box::new(e.into())),
64+
};
6465

6566
user.set_session_data(Session {
6667
jwt_token: response.jwt_token,

0 commit comments

Comments
 (0)