Files
coyote/docs/testing/plans/14-macros.md
T

1.1 KiB

Test Plan: Macros

Behaviors to test

  • Macro loaded from YAML file (requires filesystem)
  • Macro steps executed sequentially (requires async + RequestContext)
  • Each step runs through run_repl_command (requires async)
  • Variable interpolation in macro steps
  • Built-in macros installed on first run (requires filesystem)
  • macro_execute creates isolated RequestContext (requires async)
  • Macro context inherits tool scope from parent (requires async)
  • Macro context has macro_flag set (requires async)

Additional behaviors tested

  • resolve_variables: no variables, required provided, required missing errors
  • resolve_variables: default used, default overridden
  • resolve_variables: rest captures remaining args, rest with default
  • resolve_variables: multiple variables mixed
  • usage: no variables, required, optional, rest, rest+default, mixed
  • interpolate_command: single, multiple, no vars, missing var passthrough
  • YAML deserialization: with variables, with defaults, no variables

Old code reference

  • src/config/macros.rs — macro_execute, Macro struct