diff --git a/beacon_node/src/cli.rs b/beacon_node/src/cli.rs index 3b78d8f684f..5f205feeac6 100644 --- a/beacon_node/src/cli.rs +++ b/beacon_node/src/cli.rs @@ -752,8 +752,9 @@ pub fn cli_app<'a, 'b>() -> App<'a, 'b> { Arg::with_name("count-unrealized") .long("count-unrealized") .hidden(true) - .help("**EXPERIMENTAL** Enables an alternative, potentially more performant FFG \ - vote tracking method.") - .takes_value(false) + .help("Enables an alternative, potentially more performant FFG \ + vote tracking method.") + .takes_value(true) + .default_value("true") ) } diff --git a/beacon_node/src/config.rs b/beacon_node/src/config.rs index 584a961958b..6daee50de05 100644 --- a/beacon_node/src/config.rs +++ b/beacon_node/src/config.rs @@ -630,9 +630,8 @@ pub fn get_config( client_config.chain.fork_choice_before_proposal_timeout_ms = timeout; } - if cli_args.is_present("count-unrealized") { - client_config.chain.count_unrealized = true; - } + client_config.chain.count_unrealized = + clap_utils::parse_required(cli_args, "count-unrealized")?; /* * Builder fallback configs. diff --git a/lighthouse/tests/beacon_node.rs b/lighthouse/tests/beacon_node.rs index 1f6855cba4c..0236ba65894 100644 --- a/lighthouse/tests/beacon_node.rs +++ b/lighthouse/tests/beacon_node.rs @@ -132,6 +132,37 @@ fn fork_choice_before_proposal_timeout_zero() { .with_config(|config| assert_eq!(config.chain.fork_choice_before_proposal_timeout_ms, 0)); } +#[test] +fn count_unrealized_default() { + CommandLineTest::new() + .run_with_zero_port() + .with_config(|config| assert!(config.chain.count_unrealized)); +} + +#[test] +fn count_unrealized_no_arg() { + CommandLineTest::new() + .flag("count-unrealized", None) + .run_with_zero_port() + .with_config(|config| assert!(config.chain.count_unrealized)); +} + +#[test] +fn count_unrealized_false() { + CommandLineTest::new() + .flag("count-unrealized", Some("false")) + .run_with_zero_port() + .with_config(|config| assert!(!config.chain.count_unrealized)); +} + +#[test] +fn count_unrealized_true() { + CommandLineTest::new() + .flag("count-unrealized", Some("true")) + .run_with_zero_port() + .with_config(|config| assert!(config.chain.count_unrealized)); +} + #[test] fn freezer_dir_flag() { let dir = TempDir::new().expect("Unable to create temporary directory");