the test driver

Signed-off-by: xermicus <bigcyrill@hotmail.com>
This commit is contained in:
xermicus
2025-03-24 15:48:26 +01:00
parent 9bba37b7a9
commit ad4901550d
12 changed files with 217 additions and 74 deletions
+25 -1
View File
@@ -2,7 +2,7 @@
use std::path::PathBuf;
use clap::Parser;
use clap::{Parser, ValueEnum};
#[derive(Debug, Parser, Clone)]
#[command(name = "retester")]
@@ -48,6 +48,18 @@ pub struct Arguments {
default_value = "0x4f3edf983ac636a65a842ce7c78d9aa706d3b113bce9c46f30d7d21715b23b1d"
)]
pub account: String,
/// The differential testing leader node implementation.
#[arg(short, long = "leader", default_value = "geth")]
pub leader: TestingPlatform,
/// The differential testing follower node implementation.
#[arg(short, long = "follower", default_value = "kitchensink")]
pub follower: TestingPlatform,
/// Only compile against this testing platform (doesn't execute the tests).
#[arg(short, long = "compile-only")]
pub compile_only: bool,
}
impl Default for Arguments {
@@ -55,3 +67,15 @@ impl Default for Arguments {
Arguments::parse_from(["retester"])
}
}
/// The Solidity compatible node implementation.
///
/// This describes the solutions to be tested against on a high level.
#[derive(Clone, Debug, Eq, Hash, PartialEq, ValueEnum)]
#[clap(rename_all = "lower")]
pub enum TestingPlatform {
/// The go-ethereum reference full node EVM implementation.
Geth,
/// The kitchensink runtime provides the PolkaVM (PVM) based node implentation.
Kitchensink,
}