From 6b57db40de6b67c172eff4d32cdfab8b91d50236 Mon Sep 17 00:00:00 2001 From: kozabrada123 <59031733+kozabrada123@users.noreply.github.com> Date: Thu, 18 Jan 2024 20:25:32 +0100 Subject: [PATCH 1/7] Testing with nocapture --- .github/workflows/build_and_test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 0cf6fd9..1cc2262 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -100,7 +100,7 @@ jobs: rustup target add wasm32-unknown-unknown curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash cargo binstall --no-confirm wasm-bindgen-cli --version "0.2.88" --force - GECKODRIVER=$(which geckodriver) cargo test --target wasm32-unknown-unknown --no-default-features --features="client, rt" + GECKODRIVER=$(which geckodriver) cargo test --target wasm32-unknown-unknown --no-default-features --features="client, rt" -- --nocapture wasm-chrome: runs-on: macos-latest steps: @@ -128,4 +128,4 @@ jobs: rustup target add wasm32-unknown-unknown curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash cargo binstall --no-confirm wasm-bindgen-cli --version "0.2.88" --force - CHROMEDRIVER=$(which chromedriver) cargo test --target wasm32-unknown-unknown --no-default-features --features="client, rt" \ No newline at end of file + CHROMEDRIVER=$(which chromedriver) cargo test --target wasm32-unknown-unknown --no-default-features --features="client, rt" -- --nocapture From 8125e93f203a8a8581a98fe73688371be02d2f37 Mon Sep 17 00:00:00 2001 From: kozabrada123 <59031733+kozabrada123@users.noreply.github.com> Date: Thu, 18 Jan 2024 20:40:01 +0100 Subject: [PATCH 2/7] Update build_and_test.yml --- .github/workflows/build_and_test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 1cc2262..5d46c63 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -100,7 +100,7 @@ jobs: rustup target add wasm32-unknown-unknown curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash cargo binstall --no-confirm wasm-bindgen-cli --version "0.2.88" --force - GECKODRIVER=$(which geckodriver) cargo test --target wasm32-unknown-unknown --no-default-features --features="client, rt" -- --nocapture + GECKODRIVER=$(which geckodriver) cargo test --target wasm32-unknown-unknown --no-default-features --features="client, rt" --show-output wasm-chrome: runs-on: macos-latest steps: @@ -128,4 +128,4 @@ jobs: rustup target add wasm32-unknown-unknown curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash cargo binstall --no-confirm wasm-bindgen-cli --version "0.2.88" --force - CHROMEDRIVER=$(which chromedriver) cargo test --target wasm32-unknown-unknown --no-default-features --features="client, rt" -- --nocapture + CHROMEDRIVER=$(which chromedriver) cargo test --target wasm32-unknown-unknown --no-default-features --features="client, rt" --show-output From 821eadba72ef8814710f56650d313e15074060af Mon Sep 17 00:00:00 2001 From: kozabrada123 <59031733+kozabrada123@users.noreply.github.com> Date: Thu, 18 Jan 2024 20:43:32 +0100 Subject: [PATCH 3/7] Update build_and_test.yml --- .github/workflows/build_and_test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 5d46c63..1b67066 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -100,7 +100,7 @@ jobs: rustup target add wasm32-unknown-unknown curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash cargo binstall --no-confirm wasm-bindgen-cli --version "0.2.88" --force - GECKODRIVER=$(which geckodriver) cargo test --target wasm32-unknown-unknown --no-default-features --features="client, rt" --show-output + GECKODRIVER=$(which geckodriver) cargo test --target wasm32-unknown-unknown --no-default-features --features="client, rt" -- --show-output wasm-chrome: runs-on: macos-latest steps: @@ -128,4 +128,4 @@ jobs: rustup target add wasm32-unknown-unknown curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash cargo binstall --no-confirm wasm-bindgen-cli --version "0.2.88" --force - CHROMEDRIVER=$(which chromedriver) cargo test --target wasm32-unknown-unknown --no-default-features --features="client, rt" --show-output + CHROMEDRIVER=$(which chromedriver) cargo test --target wasm32-unknown-unknown --no-default-features --features="client, rt" -- --show-output From 5dc87f60955314ca388891af1c96de60c93a9384 Mon Sep 17 00:00:00 2001 From: kozabrada123 <59031733+kozabrada123@users.noreply.github.com> Date: Thu, 18 Jan 2024 21:19:28 +0100 Subject: [PATCH 4/7] Update build_and_test.yml --- .github/workflows/build_and_test.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build_and_test.yml b/.github/workflows/build_and_test.yml index 1b67066..64de844 100644 --- a/.github/workflows/build_and_test.yml +++ b/.github/workflows/build_and_test.yml @@ -100,7 +100,7 @@ jobs: rustup target add wasm32-unknown-unknown curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash cargo binstall --no-confirm wasm-bindgen-cli --version "0.2.88" --force - GECKODRIVER=$(which geckodriver) cargo test --target wasm32-unknown-unknown --no-default-features --features="client, rt" -- --show-output + GECKODRIVER=$(which geckodriver) cargo test --target wasm32-unknown-unknown --no-default-features --features="client, rt" wasm-chrome: runs-on: macos-latest steps: @@ -128,4 +128,4 @@ jobs: rustup target add wasm32-unknown-unknown curl -L --proto '=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/cargo-bins/cargo-binstall/main/install-from-binstall-release.sh | bash cargo binstall --no-confirm wasm-bindgen-cli --version "0.2.88" --force - CHROMEDRIVER=$(which chromedriver) cargo test --target wasm32-unknown-unknown --no-default-features --features="client, rt" -- --show-output + CHROMEDRIVER=$(which chromedriver) cargo test --target wasm32-unknown-unknown --no-default-features --features="client, rt" From f86d23bac0dfa0e14e1f164a575003f4d57a5862 Mon Sep 17 00:00:00 2001 From: kozabrada123 <59031733+kozabrada123@users.noreply.github.com> Date: Fri, 19 Jan 2024 13:23:13 +0100 Subject: [PATCH 5/7] bad idea --- src/gateway/heartbeat.rs | 14 ++++++++++++++ tests/gateway.rs | 5 ++++- 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/src/gateway/heartbeat.rs b/src/gateway/heartbeat.rs index 1176517..32d3d20 100644 --- a/src/gateway/heartbeat.rs +++ b/src/gateway/heartbeat.rs @@ -29,6 +29,7 @@ impl HeartbeatHandler { websocket_tx: Arc>, kill_rc: tokio::sync::broadcast::Receiver<()>, ) -> Self { + println!("HBH: Creating new self"); let (send, receive) = tokio::sync::mpsc::channel(32); let kill_receive = kill_rc.resubscribe(); @@ -40,6 +41,7 @@ impl HeartbeatHandler { wasm_bindgen_futures::spawn_local(async move { Self::heartbeat_task(websocket_tx, heartbeat_interval, receive, kill_receive).await; }); + println!("HBH: Spawned task"); Self { heartbeat_interval, @@ -57,14 +59,18 @@ impl HeartbeatHandler { mut receive: Receiver, mut kill_receive: tokio::sync::broadcast::Receiver<()>, ) { + println!("HBH: Running task"); let mut last_heartbeat_timestamp: Instant = time::Instant::now(); let mut last_heartbeat_acknowledged = true; let mut last_seq_number: Option = None; + println!("HBH: Initialized variables"); safina_timer::start_timer_thread(); loop { + println!("HBH: L0"); if kill_receive.try_recv().is_ok() { + println!("HBH: dying"); trace!("GW: Closing heartbeat task"); break; } @@ -78,6 +84,8 @@ impl HeartbeatHandler { let mut should_send = false; + println!("HBH: L1"); + tokio::select! { () = sleep_until(last_heartbeat_timestamp + timeout) => { should_send = true; @@ -104,9 +112,13 @@ impl HeartbeatHandler { } } + println!("HBH: L2"); + if should_send { trace!("GW: Sending Heartbeat.."); + println!("HBH: L3, sending"); + let heartbeat = types::GatewayHeartbeat { op: GATEWAY_HEARTBEAT, d: last_seq_number, @@ -125,6 +137,8 @@ impl HeartbeatHandler { last_heartbeat_timestamp = time::Instant::now(); last_heartbeat_acknowledged = false; + + println!("HBH: L4, sending done"); } } } diff --git a/tests/gateway.rs b/tests/gateway.rs index 5bf5865..5396333 100644 --- a/tests/gateway.rs +++ b/tests/gateway.rs @@ -32,7 +32,10 @@ async fn test_gateway_authenticate() { identify.token = bundle.user.token.clone(); gateway.send_identify(identify).await; - common::teardown(bundle).await + common::teardown(bundle).await; + + // deliberately fail the test so we get the output + assert!(false); } #[cfg_attr(target_arch = "wasm32", wasm_bindgen_test::wasm_bindgen_test)] From 4ab5186cb61ab58a48d6966728599c0d6dacd282 Mon Sep 17 00:00:00 2001 From: kozabrada123 <59031733+kozabrada123@users.noreply.github.com> Date: Fri, 19 Jan 2024 13:36:15 +0100 Subject: [PATCH 6/7] eee --- Cargo.toml | 1 + tests/gateway.rs | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/Cargo.toml b/Cargo.toml index bcde77c..41f06a9 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -69,6 +69,7 @@ hostname = "0.3.1" getrandom = { version = "0.2.12", features = ["js"] } ws_stream_wasm = "0.7.4" wasm-bindgen-futures = "0.4.39" +wasm-glue = "0.1.0" [dev-dependencies] lazy_static = "1.4.0" diff --git a/tests/gateway.rs b/tests/gateway.rs index 5396333..e36c090 100644 --- a/tests/gateway.rs +++ b/tests/gateway.rs @@ -26,6 +26,10 @@ async fn test_gateway_establish() { async fn test_gateway_authenticate() { let bundle = common::setup().await; + // Make println! work + #[cfg(target_arch = "wasm32")] + wasm_glue::hook(); + let gateway: GatewayHandle = Gateway::spawn(bundle.urls.wss.clone()).await.unwrap(); let mut identify = types::GatewayIdentifyPayload::common(); From 13ef3e40a8977abef0f2e56d9d2df5db4f488d9a Mon Sep 17 00:00:00 2001 From: kozabrada123 <59031733+kozabrada123@users.noreply.github.com> Date: Fri, 19 Jan 2024 13:46:51 +0100 Subject: [PATCH 7/7] testingg --- Cargo.toml | 2 +- src/gateway/heartbeat.rs | 31 ++++++++++++++++++++++++++----- tests/gateway.rs | 4 ---- 3 files changed, 27 insertions(+), 10 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index 41f06a9..a38d7c6 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -69,7 +69,7 @@ hostname = "0.3.1" getrandom = { version = "0.2.12", features = ["js"] } ws_stream_wasm = "0.7.4" wasm-bindgen-futures = "0.4.39" -wasm-glue = "0.1.0" +web-sys = "0.3.67" [dev-dependencies] lazy_static = "1.4.0" diff --git a/src/gateway/heartbeat.rs b/src/gateway/heartbeat.rs index 32d3d20..bcb3f5a 100644 --- a/src/gateway/heartbeat.rs +++ b/src/gateway/heartbeat.rs @@ -29,7 +29,9 @@ impl HeartbeatHandler { websocket_tx: Arc>, kill_rc: tokio::sync::broadcast::Receiver<()>, ) -> Self { - println!("HBH: Creating new self"); + #[cfg(target_arch = "wasm32")] + web_sys::console::log_1("HBH: Creating new self"); + let (send, receive) = tokio::sync::mpsc::channel(32); let kill_receive = kill_rc.resubscribe(); @@ -41,7 +43,8 @@ impl HeartbeatHandler { wasm_bindgen_futures::spawn_local(async move { Self::heartbeat_task(websocket_tx, heartbeat_interval, receive, kill_receive).await; }); - println!("HBH: Spawned task"); + #[cfg(target_arch = "wasm32")] + web_sys::console::log_1("HBH: Spawned task"); Self { heartbeat_interval, @@ -59,17 +62,25 @@ impl HeartbeatHandler { mut receive: Receiver, mut kill_receive: tokio::sync::broadcast::Receiver<()>, ) { - println!("HBH: Running task"); + #[cfg(target_arch = "wasm32")] + web_sys::console::log_1("HBH: Running task"); let mut last_heartbeat_timestamp: Instant = time::Instant::now(); let mut last_heartbeat_acknowledged = true; let mut last_seq_number: Option = None; - println!("HBH: Initialized variables"); + #[cfg(target_arch = "wasm32")] + web_sys::console::log_1("HBH: Initialized variables"); safina_timer::start_timer_thread(); loop { + #[cfg(target_arch = "wasm32")] + web_sys::console::log_1("HBH: L0"); + println!("HBH: L0"); if kill_receive.try_recv().is_ok() { + #[cfg(target_arch = "wasm32")] + web_sys::console::log_1("HBH: dying"); + println!("HBH: dying"); trace!("GW: Closing heartbeat task"); break; @@ -84,6 +95,9 @@ impl HeartbeatHandler { let mut should_send = false; + #[cfg(target_arch = "wasm32")] + web_sys::console::log_1("HBH: L1"); + println!("HBH: L1"); tokio::select! { @@ -112,11 +126,17 @@ impl HeartbeatHandler { } } + #[cfg(target_arch = "wasm32")] + web_sys::console::log_1("HBH: L2"); + println!("HBH: L2"); if should_send { trace!("GW: Sending Heartbeat.."); + #[cfg(target_arch = "wasm32")] + web_sys::console::log_1("HBH: L3, sending"); + println!("HBH: L3, sending"); let heartbeat = types::GatewayHeartbeat { @@ -138,7 +158,8 @@ impl HeartbeatHandler { last_heartbeat_timestamp = time::Instant::now(); last_heartbeat_acknowledged = false; - println!("HBH: L4, sending done"); + #[cfg(target_arch = "wasm32")] + web_sys::console::log_1("HBH: L4, sending done"); } } } diff --git a/tests/gateway.rs b/tests/gateway.rs index e36c090..5396333 100644 --- a/tests/gateway.rs +++ b/tests/gateway.rs @@ -26,10 +26,6 @@ async fn test_gateway_establish() { async fn test_gateway_authenticate() { let bundle = common::setup().await; - // Make println! work - #[cfg(target_arch = "wasm32")] - wasm_glue::hook(); - let gateway: GatewayHandle = Gateway::spawn(bundle.urls.wss.clone()).await.unwrap(); let mut identify = types::GatewayIdentifyPayload::common();