Wasm: Run tests on node.js (#872)

This commit is contained in:
Daniel Granhão
2025-04-11 17:12:13 +01:00
committed by GitHub
parent 5922e140fd
commit 1122896a70
31 changed files with 50 additions and 39 deletions

View File

@@ -13,7 +13,8 @@ frb = ["dep:flutter_rust_bridge"]
# Uniffi features required to build using cargo-lipo
uniffi-25 = []
uniffi-28 = []
regtest = [] # Enable regtest tests
regtest = [] # Enable regtest tests
browser-tests = [] # Enable browser wasm-pack tests
test-utils = ["sdk-common/test-utils"]
[lints]

View File

@@ -37,27 +37,37 @@ regtest-stop:
REGTEST_TESTS ?= regtest
cargo-regtest-test: check-regtest
$(REGTEST_PREFIX) cargo test $(REGTEST_TESTS) --features "regtest"
$(REGTEST_PREFIX) cargo test $(REGTEST_TESTS) --features regtest
wasm-clippy:
$(CLANG_PREFIX) cargo clippy --all-targets --target=wasm32-unknown-unknown -- -D warnings
BROWSER ?= firefox
wasm-test:
$(CLANG_PREFIX) wasm-pack test --headless --$(BROWSER)
wasm-test: test-browser test-node
test-node:
$(CLANG_PREFIX) wasm-pack test --node
test-browser:
$(CLANG_PREFIX) wasm-pack test --headless --$(BROWSER) --features browser-tests
test-chrome:
BROWSER=chrome $(MAKE) wasm-test
BROWSER=chrome $(MAKE) test-browser
test-safari:
BROWSER=safari $(MAKE) wasm-test
BROWSER=safari $(MAKE) test-browser
wasm-regtest-test: check-regtest
$(CLANG_PREFIX) $(REGTEST_PREFIX) WASM_BINDGEN_TEST_TIMEOUT=500 wasm-pack test --headless --$(BROWSER) --features regtest -- $(REGTEST_TESTS)
wasm-regtest-test: wasm-regtest-test-browser wasm-regtest-test-node
wasm-regtest-test-node: check-regtest
$(CLANG_PREFIX) $(REGTEST_PREFIX) WASM_BINDGEN_TEST_TIMEOUT=500 wasm-pack test --node --features regtest -- $(REGTEST_TESTS)
wasm-regtest-test-browser: check-regtest
$(CLANG_PREFIX) $(REGTEST_PREFIX) WASM_BINDGEN_TEST_TIMEOUT=500 wasm-pack test --headless --$(BROWSER) --features regtest,browser-tests -- $(REGTEST_TESTS)
wasm-regtest-test-chrome:
BROWSER=chrome $(MAKE) wasm-regtest-test
BROWSER=chrome $(MAKE) wasm-regtest-test-browser
wasm-regtest-test-safari:
BROWSER=safari $(MAKE) wasm-regtest-test
BROWSER=safari $(MAKE) wasm-regtest-test-browser

View File

@@ -1520,7 +1520,7 @@ mod tests {
},
};
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
#[sdk_macros::async_test_all]

View File

@@ -47,7 +47,7 @@ impl TxFee {
mod tests {
use super::*;
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
#[sdk_macros::test_all]

View File

@@ -10,7 +10,7 @@ use std::str::FromStr;
use crate::payjoin::pset::{construct_pset, ConstructPsetRequest, PsetInput, PsetOutput};
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
fn create_test_secret_key() -> SecretKey {

View File

@@ -487,7 +487,7 @@ mod tests {
},
};
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
fn create_sideswap_payjoin_service(

View File

@@ -11,7 +11,7 @@ use crate::payjoin::{
},
};
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
#[sdk_macros::test_all]

View File

@@ -102,7 +102,7 @@ mod tests {
use crate::test_utils::persist::create_persister;
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
#[sdk_macros::test_all]

View File

@@ -208,7 +208,7 @@ mod tests {
use crate::test_utils::persist::create_persister;
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
#[sdk_macros::test_all]

View File

@@ -534,7 +534,7 @@ mod tests {
use crate::test_utils::persist::create_persister;
use anyhow::Result;
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
#[sdk_macros::async_test_all]

View File

@@ -1133,7 +1133,7 @@ mod tests {
use super::{PaymentState, PaymentType};
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
#[sdk_macros::test_all]

View File

@@ -418,7 +418,7 @@ mod tests {
use super::PaymentState;
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
#[sdk_macros::test_all]

View File

@@ -429,7 +429,7 @@ mod tests {
use super::PaymentState;
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
#[sdk_macros::test_all]

View File

@@ -562,7 +562,7 @@ mod tests {
},
};
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
#[sdk_macros::async_test_all]

View File

@@ -9,7 +9,7 @@ mod test {
};
use boltz_client::boltz::PairLimits;
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
#[sdk_macros::test_all]

View File

@@ -16,7 +16,7 @@ mod test {
use sdk_common::utils::Arc;
use std::{collections::HashMap, str::FromStr};
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
#[sdk_macros::async_test_all]

View File

@@ -8,7 +8,7 @@ mod test {
},
};
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
#[sdk_macros::test_all]

View File

@@ -19,7 +19,7 @@ mod test {
use std::{collections::HashMap, str::FromStr};
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
#[sdk_macros::async_test_all]

View File

@@ -7,7 +7,7 @@ mod test {
},
};
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
#[sdk_macros::test_all]

View File

@@ -15,7 +15,7 @@ mod test {
use sdk_common::utils::Arc;
use std::{collections::HashMap, str::FromStr};
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
#[sdk_macros::async_test_all]

View File

@@ -7,7 +7,7 @@ mod test {
},
};
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
#[sdk_macros::test_all]

View File

@@ -18,7 +18,7 @@ mod test {
use std::collections::HashMap;
use std::str::FromStr;
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
/// Test recovery with a claim transaction and preimage

View File

@@ -4061,7 +4061,7 @@ mod tests {
};
use paste::paste;
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
struct NewSwapArgs {

View File

@@ -593,7 +593,7 @@ mod tests {
},
};
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
#[sdk_macros::async_test_all]

View File

@@ -298,7 +298,7 @@ mod tests {
};
use std::collections::BTreeMap;
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
fn get_descriptor<S: LwkSigner>(

View File

@@ -569,7 +569,7 @@ mod tests {
use super::model::{data::SyncData, Record, RecordType};
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
#[sdk_macros::async_test_all]

View File

@@ -177,7 +177,7 @@ mod tests {
use crate::error::PaymentError;
use crate::utils::verify_payment_hash;
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
#[sdk_macros::test_all]

View File

@@ -637,7 +637,7 @@ mod tests {
use crate::wallet::LiquidOnchainWallet;
use anyhow::Result;
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
#[sdk_macros::async_test_all]

View File

@@ -8,7 +8,7 @@ use serial_test::serial;
use crate::regtest::{utils, SdkNodeHandle, TIMEOUT};
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
#[sdk_macros::async_test_all]

View File

@@ -10,7 +10,7 @@ use crate::regtest::{
SdkNodeHandle, TIMEOUT,
};
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
#[sdk_macros::async_test_all]

View File

@@ -6,7 +6,7 @@ use serial_test::serial;
use crate::regtest::{utils, SdkNodeHandle, TIMEOUT};
#[cfg(all(target_family = "wasm", target_os = "unknown"))]
#[cfg(feature = "browser-tests")]
wasm_bindgen_test::wasm_bindgen_test_configure!(run_in_browser);
#[sdk_macros::async_test_all]