use clap::Parser;
use sbor::prelude::*;
use scrypto_compiler::is_scrypto_cargo_locked_env_var_active;
use std::env::current_dir;
use std::path::PathBuf;
use crate::scrypto::*;
use crate::utils::*;
#[derive(Parser, Debug)]
pub struct Test {
arguments: Vec<String>,
#[clap(long)]
locked: bool,
#[clap(long)]
path: Option<PathBuf>,
}
impl Test {
pub fn run(&self) -> Result<(), String> {
test_package(
self.path.clone().unwrap_or(current_dir().unwrap()),
self.arguments.clone(),
false,
is_scrypto_cargo_locked_env_var_active() || self.locked,
index_map_new::<String, String>(),
)
.map(|_| ())
.map_err(|err| Error::TestError(err).into())
}
}