12#ifndef YAZE_SRC_CLI_HANDLERS_TOOLS_TEST_HELPERS_COMMANDS_H_
13#define YAZE_SRC_CLI_HANDLERS_TOOLS_TEST_HELPERS_COMMANDS_H_
21#include "absl/status/status.h"
40 std::string
GetName()
const override {
return "tools-harness-state"; }
42 return "Generate WRAM state for test harnesses by running emulator to "
46 return "tools-harness-state --rom=<path> --output=<path>";
58 const std::string& output_path);
69 std::string
GetName()
const override {
return "tools-extract-values"; }
71 return "Extract vanilla ROM values for test reference";
74 return "tools-extract-values --rom=<path> [--format=<json|cpp>]";
93 std::string
GetName()
const override {
return "tools-extract-golden"; }
95 return "Extract comprehensive golden data from ROM for E2E testing";
98 return "tools-extract-golden --rom=<path> --output=<path>";
109 void WriteHeader(std::ofstream& out,
const std::string& rom_path);
127 std::string
GetName()
const override {
return "tools-patch-v3"; }
129 return "Create v3 ZSCustomOverworld patched ROM for testing";
132 return "tools-patch-v3 --rom=<input> --output=<output>";
153 std::string
GetName()
const override {
return "tools-list"; }
155 return "List available test helper tools";
157 std::string
GetUsage()
const override {
return "tools-list"; }
161 return absl::OkStatus();
The Rom class is used to load, save, and modify Rom data. This is a generic SNES ROM container and do...
Utility for parsing common CLI argument patterns.
absl::Status RequireArgs(const std::vector< std::string > &required) const
Validate that required arguments are present.
Base class for CLI command handlers.
Represents the full Overworld data, light and dark world.