1#ifndef YAZE_CLI_HANDLERS_TOOLS_TEST_CLI_COMMANDS_H
2#define YAZE_CLI_HANDLERS_TOOLS_TEST_CLI_COMMANDS_H
16 std::string
GetName()
const override {
return "test-list"; }
19 return "List available tests with labels and requirements";
23 return "test-list [--format json|text] [--label <label>]";
35 desc.
summary =
"List available ctest labels, test counts, and requirements "
36 "for each test suite.";
43 return absl::OkStatus();
58 std::string
GetName()
const override {
return "test-run"; }
61 return "Run tests with structured output";
65 return "test-run [--label <label>] [--preset <preset>] "
66 "[--format json|text] [--verbose]";
78 desc.
summary =
"Run ctest with specified label/preset and produce "
79 "structured output for agents.";
86 return absl::OkStatus();
101 std::string
GetName()
const override {
return "test-status"; }
104 return "Show test configuration status (ROM path, preset, enabled suites)";
108 return "test-status [--format json|text]";
120 desc.
summary =
"Show current test configuration including ROM path, "
121 "active preset, and which test suites are enabled.";
128 return absl::OkStatus();
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
List available tests with labels and requirements.
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
std::string GetName() const override
Get the command name.
std::string GetDefaultFormat() const override
Get the default output format ("json" or "text")
std::string GetOutputTitle() const override
Get the output title for formatting.
std::string GetUsage() const override
Get the command usage string.
bool RequiresRom() const override
Check if the command requires a loaded ROM.
Descriptor Describe() const override
Provide metadata for TUI/help summaries.
std::string GetDescription() const
Run tests with structured output.
Descriptor Describe() const override
Provide metadata for TUI/help summaries.
std::string GetDescription() const
std::string GetUsage() const override
Get the command usage string.
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
std::string GetOutputTitle() const override
Get the output title for formatting.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
std::string GetDefaultFormat() const override
Get the default output format ("json" or "text")
bool RequiresRom() const override
Check if the command requires a loaded ROM.
std::string GetName() const override
Get the command name.
Show test configuration status.
std::string GetName() const override
Get the command name.
Descriptor Describe() const override
Provide metadata for TUI/help summaries.
std::string GetOutputTitle() const override
Get the output title for formatting.
absl::Status ValidateArgs(const resources::ArgumentParser &parser) override
Validate command arguments.
std::string GetUsage() const override
Get the command usage string.
absl::Status Execute(Rom *rom, const resources::ArgumentParser &parser, resources::OutputFormatter &formatter) override
Execute the command business logic.
bool RequiresRom() const override
Check if the command requires a loaded ROM.
std::string GetDescription() const
std::string GetDefaultFormat() const override
Get the default output format ("json" or "text")
Utility for parsing common CLI argument patterns.
Base class for CLI command handlers.
Namespace for the command line interface.
std::string todo_reference