Broad idea is to support a .arcunit file which is structurally similar to .arclint, since .arclint seems like an improvement on the old way of doing things.
Some maybe-good-ideas:
- Separate the pipeline into three parts: a part that finds tests, a part that executes tests, and a part that parses test results?
- Rules for where tests go seem to vary a lot, but there are at least a few common patterns ("run every test file" being most common).
- "Run every path matching some regexp as a test, ignoring modified files" is probably the most common rule, and maybe even covers like 90% of cases.
- Test execution is usually similar to running an external linter.
- Since many engines support common output formats (I think?) like XUnit (I think?) separating parsing might be valuable here, while it's not very useful for lint.
- Rules for where tests go seem to vary a lot, but there are at least a few common patterns ("run every test file" being most common).
- I think that's about it? I feel like this needs less magic than lint does.