2060b80830
Also, add more misc details to the 'react' breadcrumb trail. Also, save get(react) results into dbg2 whenever we write a private projection, very valuable for debugging. Also: cleanup PULSE code, add regression commands as option and controls with some new environment variables. These regression sequences were responsbile for several fruitful debugging sessions, so we keep them for posterity and for their ability (with new seeds and PULSE) to find new interleavings.
49 lines
1.7 KiB
Text
49 lines
1.7 KiB
Text
PulseBuild = case os:getenv("USE_PULSE") of
|
|
false ->
|
|
false;
|
|
_ ->
|
|
true
|
|
end,
|
|
case PulseBuild of
|
|
true ->
|
|
PulseOpts =
|
|
[{pulse_no_side_effect,
|
|
[{erlang,display,1},
|
|
{os,getenv,1}
|
|
]},
|
|
{pulse_side_effect,
|
|
[ {does_not_exist_yet, some_func, '_'}
|
|
|
|
, {prim_file, '_', '_'}
|
|
, {file, '_', '_'}
|
|
, {filelib, '_', '_'}
|
|
%% , {os, '_', '_'}
|
|
]},
|
|
|
|
{pulse_replace_module,
|
|
[ {gen_server, pulse_gen_server}
|
|
, {application, pulse_application}
|
|
, {supervisor, pulse_supervisor} ]}
|
|
],
|
|
PulseCFlags = [{"CFLAGS", "$CFLAGS -DPULSE"}],
|
|
UpdConfig = case lists:keysearch(eunit_compile_opts, 1, CONFIG) of
|
|
{value, {eunit_compile_opts, Opts}} ->
|
|
lists:keyreplace(eunit_compile_opts,
|
|
1,
|
|
CONFIG,
|
|
{eunit_compile_opts, Opts ++ PulseOpts});
|
|
_ ->
|
|
[{eunit_compile_opts, PulseOpts} | CONFIG]
|
|
end,
|
|
case lists:keysearch(port_env, 1, UpdConfig) of
|
|
{value, {port_env, PortEnv}} ->
|
|
lists:keyreplace(port_env,
|
|
1,
|
|
UpdConfig,
|
|
{port_env, PortEnv ++ PulseCFlags});
|
|
_ ->
|
|
[{port_env, PulseCFlags} | UpdConfig]
|
|
end;
|
|
false ->
|
|
CONFIG
|
|
end.
|