Troubleshooting
No factories discovered
Check that factory methods are public static, annotated with @Paramixel.Factory, and return Action, Builder, or null. If you expect discovery to fail the build when empty, set:
paramixel.failIfNoTests=true
Factory is not selected
Check filters:
-Dparamixel.match.package.regex=...
-Dparamixel.match.class.regex=...
-Dparamixel.match.tag.regex=...
Regex filters use matches() semantics. The regex must match the entire string. To match substrings, use wildcards such as .*pattern.*.
Factory is skipped
A factory returning null creates a skipped action outcome. A method annotated with @Paramixel.Disabled is excluded from discovery entirely.
Report file missing
Set paramixel.report.file and ensure the process can write the parent directory.
Unexpected exit code
paramixel.failureOnAbort defaults to true; aborted results produce failing exit codes by default. Set paramixel.failureOnSkip=true if skipped results should also fail CI. Use paramixel.failFast=true to stop scheduling remaining tests after the first failed or aborted action.
Runtime property changes are ignored
Configuration.defaultConfiguration() caches its result indefinitely after the first
call per classloader. If you call System.setProperty() mid-run expecting it to take
effect, the cached configuration will be returned instead.
Workaround: Use Configuration.systemConfiguration() to get a fresh snapshot
of current system properties, or construct a Configuration.of(...) map with your
desired overrides and pass it to the Runner.Builder.
See Configuration Caching for details.