I test the hot-reload system end-to-end against a real dependency.
HotReloadTest is a path dep under fixtures/ with a struct (Config) and a struct caller (Builder). Examples modify its source, verify the change took effect, then revert. Running examples leaves no traces.
All mutation examples go through with_reload/3 which handles
the write-compile-revert cycle. Each example only specifies what
to change and what to observe.
Summary
Functions
Callback implementation for ExExample.Behaviour.copy/1.
Callback implementation for ExExample.Behaviour.rerun?/1.
Functions
@spec add_function() :: [{atom(), non_neg_integer()}]
@spec beam_persisted() :: [{atom(), non_neg_integer()}]
Callback implementation for ExExample.Behaviour.copy/1.
@spec modify_function() :: String.t()
@spec new_field_propagates() :: String.t()
Callback implementation for ExExample.Behaviour.rerun?/1.
@spec revert_clean() :: [{atom(), non_neg_integer()}]
@spec standalone_module() :: keyword()