You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
* fix: add expression evaluation support to input macro commands
Input macro commands (input.keyboard, input.gamepad) processed characters
one at a time with no expression handling, causing [[expression]] syntax
to be split into individual characters instead of being evaluated.
Closes#2
* feat: add fuzz testing infrastructure and fix Command.String() round-trip bugs
Add FuzzParseTagFilters and FuzzCommandString fuzz targets. The round-trip
fuzzer (parse → String() → reparse) found and fixed several serialization
bugs in Command.String():
- Normalize command name before isInputMacroCmd check (mixed case used wrong parser)
- Quote args containing *, [, #, {, ' in String() output
- Escape [ inside quoted args to prevent expression parsing
- Escape \, ?, [, {, | in input macro String() output
- Quote explicit empty string args as "" to distinguish from no args
- Skip empty arg when colon has no content (argWritten tracking)
Add fuzz task to Taskfile.yml matching zaparoo-core's pattern with
configurable FUZZ_TIME. Add dedicated nightly fuzz.yml workflow with crash
artifact upload and automatic issue creation. Remove inline fuzz from CI
(corpus regressions still run via go test).
* fix: address PR review feedback
- Add paired explicit-empty test cases (**cmd:"" and **cmd:'') next to
the empty-colon test to document the argWritten behavior contract
- Replace hasArgs with len(args) > 0 in parseAutoLaunchCmd to preserve
explicit empty args from quoted input
- Normalize command name in String() before isInputMacroCmd check for
consistent serialization of programmatically-constructed commands
- Remove unused hasArgs function
Download the `fuzz-crashes` artifact from that run and place the corpus file into the appropriate `testdata/fuzz/FuzzName/` directory to reproduce locally:
0 commit comments