Testing and Local Development Notes¶
Requirements and known quirks for building and running the Digital Rebar Provision test suite locally. This is a living reference — add gotchas here as they are discovered.
Filesystem: user extended attributes are required¶
The DRP static file store requires its backing directory to support user extended attributes
(user.* xattrs). On startup DRP probes this by setting and then removing a user.dtwal attribute
on the files directory; if that fails it aborts with an error like:
The test suite builds throwaway DRP instances under a temporary directory (by default beneath
/tmp). On systems where /tmp is mounted as tmpfs — common on some Linux distributions and
laptops — tmpfs does not support user.* xattrs, so those instances fail to start and the tests
error out.
Work around it by pointing the tests' temporary directory at a filesystem that supports user extended attributes (for example ext4 or xfs) rather than tmpfs:
Skipping the cluster (HA) tests¶
The CLI integration tests in clitest/common_test.go stand up a passive (consensus/HA) node in
addition to the primary. That adds significant setup time and can be flaky during local iteration.
A toggle in the shared setup guards that block:
Flip the active if true to if false (the commented //if false { above it is there for exactly
this) to skip the cluster setup while iterating locally.
Warning
This is a local-only convenience — do not commit the flipped toggle. The cluster tests must still run in CI.
Other quirks¶
Add newly-discovered testing requirements and quirks here.