Add a more systematic test framework for protoc-gen-gorums so generator behavior can be validated from small programmatically-created .proto inputs instead of relying only on existing fixture coverage. The original idea was to generate proto content, run the generator, and verify both failure cases and exact generated output.
The framework should make it easy to express invalid inputs that must fail at generation time and valid inputs that should produce stable output that can be compared directly. Using exact text comparisons with useful diffs is acceptable here because the goal is to catch generator regressions precisely. If environment variables are useful for printing generated output during debugging, keep that optional and isolated to test support.
The scope should also include cleaning up how generated fixtures are bundled or refreshed if that is necessary to keep the tests maintainable. If go:generate or Makefile support helps keep the workflow consistent, capture that as part of the test harness rather than as a separate unrelated cleanup.
Add a more systematic test framework for
protoc-gen-gorumsso generator behavior can be validated from small programmatically-created.protoinputs instead of relying only on existing fixture coverage. The original idea was to generate proto content, run the generator, and verify both failure cases and exact generated output.The framework should make it easy to express invalid inputs that must fail at generation time and valid inputs that should produce stable output that can be compared directly. Using exact text comparisons with useful diffs is acceptable here because the goal is to catch generator regressions precisely. If environment variables are useful for printing generated output during debugging, keep that optional and isolated to test support.
The scope should also include cleaning up how generated fixtures are bundled or refreshed if that is necessary to keep the tests maintainable. If
go:generateor Makefile support helps keep the workflow consistent, capture that as part of the test harness rather than as a separate unrelated cleanup.