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] [--filter <regex>]";
78 desc.
summary =
"Run ctest with specified label/preset and produce "
79 "structured output. Supports regex filtering of tests.";
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.
std::string todo_reference