token-cli: Run tests in batches (#3396)

This commit is contained in:
Jon Cinque 2022-07-30 00:34:49 +02:00 committed by GitHub
parent 3a7914ceba
commit 80b8ff3b1d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
3 changed files with 52 additions and 3 deletions

33
Cargo.lock generated
View File

@ -4217,7 +4217,20 @@ checksum = "e0bccbcf40c8938196944a3da0e133e031a33f4d6b72db3bda3cc556e361905d"
dependencies = [ dependencies = [
"lazy_static", "lazy_static",
"parking_lot 0.11.2", "parking_lot 0.11.2",
"serial_test_derive", "serial_test_derive 0.5.1",
]
[[package]]
name = "serial_test"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7eec42e7232e5ca56aa59d63af3c7f991fe71ee6a3ddd2d3480834cf3902b007"
dependencies = [
"futures 0.3.21",
"lazy_static",
"log",
"parking_lot 0.12.0",
"serial_test_derive 0.8.0",
] ]
[[package]] [[package]]
@ -4231,6 +4244,19 @@ dependencies = [
"syn 1.0.91", "syn 1.0.91",
] ]
[[package]]
name = "serial_test_derive"
version = "0.8.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f1b95bb2f4f624565e8fe8140c789af7e2082c0e0561b5a82a1b678baa9703dc"
dependencies = [
"proc-macro-error",
"proc-macro2 1.0.36",
"quote 1.0.14",
"rustversion",
"syn 1.0.91",
]
[[package]] [[package]]
name = "sha-1" name = "sha-1"
version = "0.8.2" version = "0.8.2"
@ -6155,7 +6181,7 @@ dependencies = [
"num-derive", "num-derive",
"num-traits", "num-traits",
"num_enum", "num_enum",
"serial_test", "serial_test 0.5.1",
"solana-program", "solana-program",
"solana-program-test", "solana-program-test",
"solana-sdk", "solana-sdk",
@ -6208,7 +6234,7 @@ dependencies = [
"serde", "serde",
"serde_json", "serde_json",
"serde_with", "serde_with",
"serial_test", "serial_test 0.5.1",
"solana-program", "solana-program",
"solana-program-test", "solana-program-test",
"solana-sdk", "solana-sdk",
@ -6244,6 +6270,7 @@ dependencies = [
"serde", "serde",
"serde_derive", "serde_derive",
"serde_json", "serde_json",
"serial_test 0.8.0",
"solana-account-decoder", "solana-account-decoder",
"solana-clap-utils", "solana-clap-utils",
"solana-cli-config", "solana-cli-config",

View File

@ -38,6 +38,7 @@ tokio = "1.14"
[dev-dependencies] [dev-dependencies]
solana-test-validator = "=1.10.33" solana-test-validator = "=1.10.33"
assert_cmd = "2.0.4" assert_cmd = "2.0.4"
serial_test = "0.8.0"
tempfile = "3.3.0" tempfile = "3.3.0"
[[bin]] [[bin]]

View File

@ -3283,6 +3283,7 @@ async fn handle_tx<'a>(
mod tests { mod tests {
use { use {
super::*, super::*,
serial_test::parallel,
solana_sdk::{ solana_sdk::{
bpf_loader, bpf_loader,
signature::{write_keypair_file, Keypair, Signer}, signature::{write_keypair_file, Keypair, Signer},
@ -3462,6 +3463,7 @@ mod tests {
} }
#[tokio::test] #[tokio::test]
#[parallel(one)]
async fn create_token_default() { async fn create_token_default() {
let (test_validator, payer) = new_validator_for_test().await; let (test_validator, payer) = new_validator_for_test().await;
for program_id in [spl_token::id(), spl_token_2022::id()] { for program_id in [spl_token::id(), spl_token_2022::id()] {
@ -3481,6 +3483,7 @@ mod tests {
} }
#[tokio::test] #[tokio::test]
#[parallel(two)]
async fn supply() { async fn supply() {
let (test_validator, payer) = new_validator_for_test().await; let (test_validator, payer) = new_validator_for_test().await;
for program_id in [spl_token::id(), spl_token_2022::id()] { for program_id in [spl_token::id(), spl_token_2022::id()] {
@ -3499,6 +3502,7 @@ mod tests {
} }
#[tokio::test] #[tokio::test]
#[parallel(one)]
async fn create_account_default() { async fn create_account_default() {
let (test_validator, payer) = new_validator_for_test().await; let (test_validator, payer) = new_validator_for_test().await;
for program_id in [spl_token::id(), spl_token_2022::id()] { for program_id in [spl_token::id(), spl_token_2022::id()] {
@ -3519,6 +3523,7 @@ mod tests {
} }
#[tokio::test] #[tokio::test]
#[parallel(two)]
async fn account_info() { async fn account_info() {
let (test_validator, payer) = new_validator_for_test().await; let (test_validator, payer) = new_validator_for_test().await;
for program_id in [spl_token::id(), spl_token_2022::id()] { for program_id in [spl_token::id(), spl_token_2022::id()] {
@ -3551,6 +3556,7 @@ mod tests {
} }
#[tokio::test] #[tokio::test]
#[parallel(one)]
async fn balance() { async fn balance() {
let (test_validator, payer) = new_validator_for_test().await; let (test_validator, payer) = new_validator_for_test().await;
for program_id in [spl_token::id(), spl_token_2022::id()] { for program_id in [spl_token::id(), spl_token_2022::id()] {
@ -3570,6 +3576,7 @@ mod tests {
} }
#[tokio::test] #[tokio::test]
#[parallel(two)]
async fn mint() { async fn mint() {
let (test_validator, payer) = new_validator_for_test().await; let (test_validator, payer) = new_validator_for_test().await;
for program_id in [spl_token::id(), spl_token_2022::id()] { for program_id in [spl_token::id(), spl_token_2022::id()] {
@ -3597,6 +3604,7 @@ mod tests {
} }
#[tokio::test] #[tokio::test]
#[parallel(one)]
async fn balance_after_mint() { async fn balance_after_mint() {
let (test_validator, payer) = new_validator_for_test().await; let (test_validator, payer) = new_validator_for_test().await;
for program_id in [spl_token::id(), spl_token_2022::id()] { for program_id in [spl_token::id(), spl_token_2022::id()] {
@ -3618,6 +3626,7 @@ mod tests {
} }
#[tokio::test] #[tokio::test]
#[parallel(two)]
async fn accounts() { async fn accounts() {
let (test_validator, payer) = new_validator_for_test().await; let (test_validator, payer) = new_validator_for_test().await;
for program_id in [spl_token::id(), spl_token_2022::id()] { for program_id in [spl_token::id(), spl_token_2022::id()] {
@ -3641,6 +3650,7 @@ mod tests {
} }
#[tokio::test] #[tokio::test]
#[parallel(one)]
async fn wrap() { async fn wrap() {
let (test_validator, payer) = new_validator_for_test().await; let (test_validator, payer) = new_validator_for_test().await;
for program_id in [spl_token::id(), spl_token_2022::id()] { for program_id in [spl_token::id(), spl_token_2022::id()] {
@ -3668,6 +3678,7 @@ mod tests {
} }
#[tokio::test] #[tokio::test]
#[parallel(two)]
async fn unwrap() { async fn unwrap() {
let (test_validator, payer) = new_validator_for_test().await; let (test_validator, payer) = new_validator_for_test().await;
for program_id in [spl_token::id(), spl_token_2022::id()] { for program_id in [spl_token::id(), spl_token_2022::id()] {
@ -3694,6 +3705,7 @@ mod tests {
} }
#[tokio::test] #[tokio::test]
#[parallel(one)]
async fn transfer() { async fn transfer() {
let (test_validator, payer) = new_validator_for_test().await; let (test_validator, payer) = new_validator_for_test().await;
for program_id in [spl_token::id(), spl_token_2022::id()] { for program_id in [spl_token::id(), spl_token_2022::id()] {
@ -3727,6 +3739,7 @@ mod tests {
} }
#[tokio::test] #[tokio::test]
#[parallel(two)]
async fn transfer_fund_recipient() { async fn transfer_fund_recipient() {
let (test_validator, payer) = new_validator_for_test().await; let (test_validator, payer) = new_validator_for_test().await;
for program_id in [spl_token::id(), spl_token_2022::id()] { for program_id in [spl_token::id(), spl_token_2022::id()] {
@ -3759,6 +3772,7 @@ mod tests {
} }
#[tokio::test] #[tokio::test]
#[parallel(one)]
async fn failing_to_allow_non_system_account_recipient() { async fn failing_to_allow_non_system_account_recipient() {
let (test_validator, payer) = new_validator_for_test().await; let (test_validator, payer) = new_validator_for_test().await;
let config = test_config(&test_validator, &payer, &spl_token::id()); let config = test_config(&test_validator, &payer, &spl_token::id());
@ -3785,6 +3799,7 @@ mod tests {
} }
#[tokio::test] #[tokio::test]
#[parallel(two)]
async fn allow_non_system_account_recipient() { async fn allow_non_system_account_recipient() {
let (test_validator, payer) = new_validator_for_test().await; let (test_validator, payer) = new_validator_for_test().await;
let config = test_config(&test_validator, &payer, &spl_token::id()); let config = test_config(&test_validator, &payer, &spl_token::id());
@ -3821,6 +3836,7 @@ mod tests {
} }
#[tokio::test] #[tokio::test]
#[parallel(one)]
async fn close_wrapped_sol_account() { async fn close_wrapped_sol_account() {
let (test_validator, payer) = new_validator_for_test().await; let (test_validator, payer) = new_validator_for_test().await;
for program_id in [spl_token::id(), spl_token_2022::id()] { for program_id in [spl_token::id(), spl_token_2022::id()] {
@ -3867,6 +3883,7 @@ mod tests {
} }
#[tokio::test] #[tokio::test]
#[parallel(two)]
async fn disable_mint_authority() { async fn disable_mint_authority() {
let (test_validator, payer) = new_validator_for_test().await; let (test_validator, payer) = new_validator_for_test().await;
for program_id in [spl_token::id(), spl_token_2022::id()] { for program_id in [spl_token::id(), spl_token_2022::id()] {
@ -3893,6 +3910,7 @@ mod tests {
} }
#[tokio::test] #[tokio::test]
#[parallel(one)]
async fn gc() { async fn gc() {
let (test_validator, payer) = new_validator_for_test().await; let (test_validator, payer) = new_validator_for_test().await;
for program_id in [spl_token::id(), spl_token_2022::id()] { for program_id in [spl_token::id(), spl_token_2022::id()] {
@ -3938,6 +3956,7 @@ mod tests {
} }
#[tokio::test] #[tokio::test]
#[parallel(two)]
async fn set_owner() { async fn set_owner() {
let (test_validator, payer) = new_validator_for_test().await; let (test_validator, payer) = new_validator_for_test().await;
for program_id in [spl_token::id(), spl_token_2022::id()] { for program_id in [spl_token::id(), spl_token_2022::id()] {
@ -3966,6 +3985,7 @@ mod tests {
} }
#[tokio::test] #[tokio::test]
#[parallel(one)]
async fn transfer_with_account_delegate() { async fn transfer_with_account_delegate() {
let (test_validator, payer) = new_validator_for_test().await; let (test_validator, payer) = new_validator_for_test().await;
for program_id in [spl_token::id(), spl_token_2022::id()] { for program_id in [spl_token::id(), spl_token_2022::id()] {
@ -4060,6 +4080,7 @@ mod tests {
} }
#[tokio::test] #[tokio::test]
#[parallel(two)]
async fn burn_with_account_delegate() { async fn burn_with_account_delegate() {
let (test_validator, payer) = new_validator_for_test().await; let (test_validator, payer) = new_validator_for_test().await;
for program_id in [spl_token::id(), spl_token_2022::id()] { for program_id in [spl_token::id(), spl_token_2022::id()] {