use std::path::PathBuf;
use structopt::StructOpt;
use chrono::Local;
#[derive(StructOpt, Debug, Clone, Eq, PartialEq)]
#[structopt(
author = "Soner Tari <sonertari@gmail.com>",
about = "Tool for end-to-end testing of proxy servers",
)]
pub struct Config {
#[structopt(
short = "f",
long = "testharness",
takes_value = true,
value_name = "FILENAME",
)]
pub testharness: PathBuf,
#[structopt(
short = "l",
long = "level",
takes_value = true,
value_name = "LEVEL",
default_value = "3",
possible_values = &["0", "1", "2", "3", "4", "5"]
)]
pub verbosity: i32,
#[structopt(
short = "d",
long = "datetime-format",
takes_value = true,
value_name = "STRING",
default_value = "%X",
parse(from_str = parse_datetime_format)
)]
pub date_time_format: String,
#[structopt(
long = "skip-test-harness",
value_name = "LIST OF TEST HARNESSES",
default_value = "",
)]
pub skip_test_harness: String,
}
fn parse_datetime_format(s: &str) -> String {
Local::now().format(&s).to_string()
}