Quick assertions and traces with macros
import Assertion.*; [...] var foo = "a"; // basic `assert`, that throws if the condition fails assert(foo == "bar"); // trace some context if the assertion fails // you can add as many expressions to trace as you need assert(foo == "bar", foo, Sys.systemName()); // trace expressions consisting of string literals are automatically threated as descriptions assert(foo.length == 3, "correct length at least"); // if you just want a warning, instead of a throw, use `weakAssert` weakAssert(foo == "bar"); // if you just want to trace like us, use `show` show(foo, Sys.systemName(), "show everything");
Assertion works out of the box without any configuration, but in same
cases you might want to change or disable certain default behaviors.
You can configure the library both at compile time and runtime.
Compile time configuration
-D ASSERTION_NO_ASSERT to disable the generation of all assertions (both
regular and weak).
You can also use
-D ASSERTION_NO_WEAK_ASSERT to only disable the generation
of weak assertions. Similarly, you can disable the generation of code for
Similarly to the compile time settings, you can use the following variables to
alter the behavior of
Assertion at runtime: