Skip to main content
Version: 5.0.0 (Unmaintained)

Quick Reference

Built-in action types​

TypeKindFactory methodChildrenBefore/AfterCategory
Step"Step"Step.of(name, consumer)NoNoLeaf
Lifecycle"Lifecycle"Lifecycle.of(name)YesYes (optional)Composite
Sequential"Sequential"Sequential.of(name)YesNoComposite
Parallel"Parallel"Parallel.of(name)YesNoComposite
Instance"Instance"Instance.of(name, supplier)YesYes (auto)Composite
Static"Static"Static.of(name)YesYes (optional)Composite
Repeat"Repeat"Repeat.of(name)Yes (single)NoComposite
Timeout"Timeout"Timeout.of(name)Yes (single)NoComposite
Delay"Delay"Delay.of(name, duration)NoNoLeaf
AssertTrue"AssertTrue"AssertTrue.of(name, condition)NoNoLeaf
AssertFalse"AssertFalse"AssertFalse.of(name, condition)NoNoLeaf

Annotations​

All annotations are inner types of org.paramixel.api.Paramixel.

AnnotationTargetAttributeDefaultPurpose
@FactoryMETHOD——Marks method as action factory for classpath discovery
@PriorityTYPEint value()0Discovery ordering (higher = earlier)
@DisabledMETHODString value()""Excludes factory from discovery
@TagMETHODString value()(required)Logical tag for selector filtering (repeatable)
@TagsMETHODTag[] value()(required)Container for multiple @Tag
@IdMETHODString value()(required)Stable identifier for AnnotationResolver lookup

Configuration keys​

KeyTypeDefaultDescription
paramixel.parallelismintavailableProcessors()Default scheduler parallelism
paramixel.scheduler.queue.capacityint1024Maximum scheduler-ready tasks and permit waiters
paramixel.ansiString"auto"ANSI output: "true", "false", or "auto"
paramixel.failureOnSkipbooleanfalsePromote SKIPPED to failing exit code
paramixel.failureOnAbortbooleantruePromote ABORTED to failing exit code
paramixel.failIfNoTestsbooleanfalseFail when no action factories are discovered
paramixel.report.fileString(none)Path to per-run summary report
paramixel.match.package.regexString(none)Regex for filtering by package name
paramixel.match.class.regexString(none)Regex for filtering by class name
paramixel.match.tag.regexString(none)Regex for filtering by @Paramixel.Tag value

paramixel.strictThreadLifecycle is a Maven plugin parameter only (not a core Configuration key). See Maven Plugin.

Exceptions​

Author-initiated exceptions​

ExceptionPackageStatic factoryOutcome status
FailExceptionorg.paramixel.api.exceptionFailException.fail() / fail(String)FAILED
SkipExceptionorg.paramixel.api.exceptionSkipException.skip() / skip(String)SKIPPED
AbortedExceptionorg.paramixel.api.exceptionAbortedException.abort() / abort(String)ABORTED

Framework exceptions​

ExceptionPackageWhen thrown
ConfigurationExceptionorg.paramixel.api.exceptionInvalid configuration value
CycleDetectedExceptionorg.paramixel.api.exceptionCyclic parent-child in action tree
ResolverExceptionorg.paramixel.api.exceptionClasspath scanning or discovery failure
PolicyExceptionorg.paramixel.api.exceptionRetry policy computation failure

Selector factory methods​

MethodDescription
Selector.all()Matches everything
Selector.packageRegex(String)Package name regex (find() semantics)
Selector.classRegex(String)Fully qualified class name regex (find() semantics)
Selector.tagRegex(String)@Paramixel.Tag value regex (find() semantics)
Selector.packageTreeOf(Class<?>)Package + all subpackages (anchored)
Selector.packageOf(Class<?>)Exact package match (anchored)
Selector.classOf(Class<?>)Exact class name match (anchored)
Selector.and(Selector...)Logical AND
Selector.or(Selector...)Logical OR
Selector.not(Selector)Logical NOT

Runner methods​

MethodReturnsDescription
Runner.defaultRunner()RunnerCreates with default config + listener
Runner.builder()Runner.BuilderFluent builder
run(Spec<?>)ResultExecute a pre-built action tree
run(Selector)Optional<Result>Discover + execute by selector
runAndReturnExitCode(Spec<?>)intExecute; returns 0 or 1
runAndReturnExitCode(Selector)intDiscover + execute; returns 0 or 1
runAndExit(Spec<?>)voidExecute + System.exit
runAndExit(Selector)voidDiscover + System.exit
run()intClasspath discovery + execute; returns exit code
Runner.main(String[])voidCLI entry; calls System.exit(run())

Status aggregation order​

FAILED > ABORTED > RUNNING/PENDING > SKIPPED > PASSED

Exit code mapping​

Effective statusExit code
PASSED0
SKIPPED0 (or 1 when failureOnSkip=true)
ABORTED1 (default; 0 when failureOnAbort=false)
FAILED / PENDING1

Report format by extension​

ExtensionFormat
.jsonJSON
.xmlXML
.html / .htmHTML
.log, .txt, otherPlain text

Listener callbacks​

CallbackWhen
onRunStarted()Before discovery
onDiscoveryCompleted(Descriptor)After descriptor tree is built
onBeforeExecution(Descriptor)Before each action executes
onAfterExecution(Descriptor)After each action reaches terminal status
onRunCompleted(Result)After the run completes