diff --git a/control_plane/src/bin/neon_local.rs b/control_plane/src/bin/neon_local.rs index f0c3b983f0..61b9445c6d 100644 --- a/control_plane/src/bin/neon_local.rs +++ b/control_plane/src/bin/neon_local.rs @@ -900,6 +900,7 @@ fn cli() -> Command { let stop_mode_arg = Arg::new("stop-mode") .short('m') .value_parser(["fast", "immediate"]) + .default_value("fast") .help("If 'immediate', don't flush repository data at shutdown") .required(false) .value_name("stop-mode"); diff --git a/test_runner/fixtures/neon_fixtures.py b/test_runner/fixtures/neon_fixtures.py index 3a3ee94425..b3e4809f24 100644 --- a/test_runner/fixtures/neon_fixtures.py +++ b/test_runner/fixtures/neon_fixtures.py @@ -1742,6 +1742,12 @@ class NeonCli(AbstractNeonCli): return self.raw_cli(args, check_return_code=check_return_code) + def start(self, check_return_code=True) -> "subprocess.CompletedProcess[str]": + return self.raw_cli(["start"], check_return_code=check_return_code) + + def stop(self, check_return_code=True) -> "subprocess.CompletedProcess[str]": + return self.raw_cli(["stop"], check_return_code=check_return_code) + class WalCraft(AbstractNeonCli): """ diff --git a/test_runner/regress/test_neon_local_cli.py b/test_runner/regress/test_neon_local_cli.py new file mode 100644 index 0000000000..6c7cdb6f7f --- /dev/null +++ b/test_runner/regress/test_neon_local_cli.py @@ -0,0 +1,10 @@ +from fixtures.neon_fixtures import NeonEnvBuilder + + +# Test that neon cli is able to start and stop all processes with the user defaults. +# def test_neon_cli_basics(neon_simple_env: NeonEnv): +def test_neon_cli_basics(neon_env_builder: NeonEnvBuilder): + env = neon_env_builder.init() + + env.neon_cli.start() + env.neon_cli.stop()