Antithesis logomark
DOCS

Default properties

Every Antithesis test run checks a set of default properties. These include properties that apply to almost any software system, such as checking that your environment is set up correctly, that you don’t run out of memory, and that there are no unexpected crashes. Default properties also include the following properties that only apply to some systems:

This page lists all default properties in the groups that you will see in your triage report.

To test specific features of your software, use the Antithesis SDKs to define custom properties.

Setup properties

These properties verify that your test environment is correctly configured.

PropertyDetails
No Antithesis errorsNo errors from Antithesis system components.
Software images match expected platformAll images are built for amd64.
Recent software version providedAt least one of your container images was created within the last 72 hours.
Paths found for Antithesis instrumentationPaths the instrumentor found to catalog, listed by container, search directory, and language. Applies to languages that Antithesis catalogs from `/opt/antithesis/catalog: Java, Python, and .NET.
No invalid paths found during Antithesis instrumentationNo path under /opt/antithesis/catalog/ is a symlink to another symlink. Applies to languages that Antithesis catalogs from /opt/antithesis/catalog/: Java, Python, and .NET.
Symbols were uploadedSymbols files were uploaded during instrumentation.
No Antithesis build errorsNo errors during the build step.
No Antithesis build warningsNo warnings during the build step.
Software was instrumentedAt least one instrumented module was detected.
Containers joined the Antithesis networkAt least one container sent traffic over the Antithesis platform’s network bridge.
The Antithesis Fault Injector was started
Thread pausing was enabledAt least one instrumented process had thread delays injected.
No Antithesis session errorsNo errors from the Antithesis SaaS service.
Antithesis SDK version is supported
Logging output was limitedRatio of logging output to total CPU time spent running the simulation stayed below 200 MB/core-hour.

Test efficiency properties

These properties measure how efficiently Antithesis is able to run your tests.

PropertyDetails
Virtual time per wall timeRatio of simulation time to real time (normalized to single core). Often this number will be lower than 1, but in a highly optimized test it can go above 1, as Antithesis can “fast-forward” the simulation when the software under test is idle.
Test ran with full parallelismTest ran over the full set of available Antithesis VMs. This can fail if conditions in the system under test cause so much memory pressure that it is impossible to maintain active simultaneous simulation across all VMs.

Performance properties

These properties test the performance of your system.

PropertyDetails
Peak memory usageMemory usage never exceeded 95% of the total available.

Correctness properties

These properties test the functional behavior and uptime of your system.

PropertyDetails
No unexpected crashesNo processes died with a program error signal (SIGSEGV, SIGBUS, etc.)
No unexpected container exitsNo containers exited with codes that indicate an unexpected error. Exit codes 0, 137 (SIGKILL), and 143 (SIGTERM) are excluded.

Test template properties

These properties verify the behavior of your test templates. If you’ve added any test templates, these properties show up by default in your triage report.

PropertyDetails
All commands were started at least onceEvery test template was started in at least one branch of the run.
All commands were run to completion at least onceEvery test template was run to completion in at least one branch of the run.
Commands finish with zero exit codeNo command returned a non-zero exit code.
Invalid commands foundNo invalid commands were discovered.
Unique commands foundLists all unique commands found (always passes).

Language-specific properties

Antithesis provides additional language-specific sets of properties in Go, Rust and Java. These properties detect language-specific failures like panics, data races, and uncaught exceptions.

These properties are disabled by default. To enable them for your project, talk to your forward-deployed engineer.

Rust

PropertyDetails
No panics (Rust)No Rust panic messages in container output.

Go

PropertyDetails
No data races (Go)No data race detected (requires building with -race).
No panics (Go)No panic: in container output.
No fatals (Go)No fatal error: in container output.

Java

PropertyDetails
No uncaught exception(s) (Java)No uncaught Java exceptions.