lock_fsm test sporadic failure
From https://gitlab.com/triq/triq/-/jobs/51633931
lock_fsm: lock_fsm_test_ (module 'lock_fsm')...Cmds: [{init,{locked,{state_data,undefined,undefined}}},
{set,{var,0},{call,lock_fsm,button,[4]}},
{set,{var,1},{call,lock_fsm,button,"\t"}},
{set,{var,2},{call,lock_fsm,button,[4]}},
{set,{var,3},{call,lock_fsm,button,"\b"}},
{set,{var,4},{call,lock_fsm,button,[1]}},
{set,{var,5},{call,lock_fsm,button,[4]}},
{set,{var,6},{call,lock_fsm,button,[7]}},
{set,{var,7},{call,lock_fsm,button,[0]}},
{set,{var,8},{call,lock_fsm,button,[2]}},
{set,{var,9},{call,lock_fsm,button,[6]}},
{set,{var,10},{call,lock_fsm,button,[6]}},
{set,{var,11},{call,lock_fsm,button,[2]}},
{set,{var,12},{call,lock_fsm,button,"\b"}},
{set,{var,13},{call,lock_fsm,button,[6]}},
{set,{var,14},{call,lock_fsm,button,"\b"}},
{set,{var,15},{call,lock_fsm,button,[7]}},
{set,{var,16},{call,lock_fsm,button,"\t"}},
{set,{var,17},{call,lock_fsm,button,[7]}},
{set,{var,18},{call,lock_fsm,button,[2]}},
{set,{var,19},{call,lock_fsm,button,"\b"}},
{set,{var,20},{call,lock_fsm,button,[4]}},
{set,{var,21},{call,lock_fsm,button,[1]}},
{set,{var,22},{call,lock_fsm,button,[7]}},
{set,{var,23},{call,lock_fsm,button,[4]}},
{set,{var,24},{call,lock_fsm,button,[6]}},
{set,{var,25},{call,lock_fsm,button,[5]}},
{set,{var,26},{call,lock_fsm,button,[7]}},
{set,{var,27},{call,lock_fsm,button,[0]}},
{set,{var,28},{call,lock_fsm,button,[4]}},
{set,{var,29},{call,lock_fsm,button,[5]}},
{set,{var,30},{call,lock_fsm,button,"\t"}},
{set,{var,31},{call,lock_fsm,button,[4]}},
{set,{var,32},{call,lock_fsm,button,[7]}},
{set,{var,33},{call,lock_fsm,button,"\b"}},
{set,{var,34},{call,lock_fsm,button,[6]}},
{set,{var,35},{call,lock_fsm,button,[7]}},
{set,{var,36},{call,lock_fsm,button,"\t"}},
{set,{var,37},{call,lock_fsm,button,[0]}},
{set,{var,38},{call,lock_fsm,button,"\t"}},
{set,{var,39},{call,lock_fsm,button,[4]}},
{set,{var,40},{call,lock_fsm,button,[3]}},
{set,{var,41},{call,lock_fsm,button,[7]}},
{set,{var,42},{call,lock_fsm,button,[0]}},
{set,{var,43},{call,lock_fsm,button,[1]}},
{set,{var,44},{call,lock_fsm,button,[6]}},
{set,{var,45},{call,lock_fsm,button,"\b"}},
{set,{var,46},{call,lock_fsm,button,[5]}},
{set,{var,47},{call,lock_fsm,button,"\t"}},
{set,{var,48},{call,lock_fsm,button,"\t"}},
{set,{var,49},{call,lock_fsm,button,[3]}},
{set,{var,50},{call,lock_fsm,button,[0]}},
{set,{var,51},{call,lock_fsm,button,[4]}},
{set,{var,52},{call,lock_fsm,button,[6]}},
{set,{var,53},{call,lock_fsm,button,"\t"}},
{set,{var,54},{call,lock_fsm,button,[6]}},
{set,{var,55},{call,lock_fsm,button,[1]}},
{set,{var,56},{call,lock_fsm,button,"\t"}},
{set,{var,57},{call,lock_fsm,button,[4]}},
{set,{var,58},{call,lock_fsm,button,[2]}},
{set,{var,59},{call,lock_fsm,button,"\t"}},
{set,{var,60},{call,lock_fsm,button,[6]}},
{set,{var,61},{call,lock_fsm,button,[7]}},
{set,{var,62},{call,lock_fsm,button,[5]}},
{set,{var,63},{call,lock_fsm,button,[0]}},
{set,{var,64},{call,lock_fsm,button,[1]}},
{set,{var,65},{call,lock_fsm,button,[5]}},
{set,{var,66},{call,lock_fsm,button,[1]}},
{set,{var,67},{call,lock_fsm,button,[1]}},
{set,{var,68},{call,lock_fsm,button,[2]}},
{set,{var,69},{call,lock_fsm,button,"\b"}},
{set,{var,70},{call,lock_fsm,button,[0]}},
{set,{var,71},{call,lock_fsm,button,[3]}},
{set,{var,72},{call,lock_fsm,button,[4]}},
{set,{var,73},{call,lock_fsm,button,[6]}},
{set,{var,74},{call,lock_fsm,button,[6]}},
{set,{var,75},{call,lock_fsm,button,[0]}},
{set,{var,76},{call,lock_fsm,button,[6]}},
{set,{var,77},{call,lock_fsm,button,[0]}},
{set,{var,78},{call,lock_fsm,button,"\t"}},
{set,{var,79},{call,lock_fsm,button,[4]}},
{set,{var,80},{call,lock_fsm,button,[1]}},
{set,{var,81},{call,lock_fsm,button,[5]}},
{set,{var,82},{call,lock_fsm,button,[2]}},
{set,{var,83},{call,lock_fsm,button,[6]}},
{set,{var,84},{call,lock_fsm,button,[7]}},
{set,{var,85},{call,lock_fsm,button,"\t"}},
{set,{var,86},{call,lock_fsm,button,[6]}},
{set,{var,87},{call,lock_fsm,button,[3]}},
{set,{var,88},{call,lock_fsm,button,[0]}},
{set,{var,89},{call,lock_fsm,button,[3]}},
{set,{var,90},{call,lock_fsm,button,[1]}},
{set,{var,91},{call,lock_fsm,button,[2]}},
{set,{var,92},{call,lock_fsm,button,[2]}},
{set,{var,93},{call,lock_fsm,button,[3]}},
{set,{var,94},{call,lock_fsm,button,"\t"}},
{set,{var,95},{call,lock_fsm,button,[3]}},
{set,{var,96},{call,lock_fsm,button,[1]}},
{set,{var,97},{call,lock_fsm,button,[3]}},
{set,{var,98},{call,lock_fsm,button,[0]}},
{set,{var,99},{call,lock_fsm,button,[2]}},
{set,{var,100},{call,lock_fsm,button,[7]}},
{set,{var,101},{call,lock_fsm,button,[1]}},
{set,{var,102},{call,lock_fsm,button,[1]}},
{set,{var,103},{call,lock_fsm,button,[5]}},
{set,{var,104},{call,lock_fsm,button,[3]}},
{set,{var,105},{call,lock_fsm,button,[0]}},
{set,{var,106},{call,lock_fsm,button,"\t"}},
{set,{var,107},{call,lock_fsm,button,"\t"}},
{set,{var,108},{call,lock_fsm,button,[2]}},
{set,{var,109},{call,lock_fsm,button,"\t"}},
{set,{var,110},{call,lock_fsm,button,"\b"}},
{set,{var,111},{call,lock_fsm,button,[2]}},
{set,{var,112},{call,lock_fsm,button,[5]}},
{set,{var,113},{call,lock_fsm,button,[4]}},
{set,{var,114},{call,lock_fsm,button,[2]}},
{set,{var,115},{call,lock_fsm,button,[0]}},
{set,{var,116},{call,lock_fsm,button,[4]}},
{set,{var,117},{call,lock_fsm,button,[1]}},
{set,{var,118},{call,lock_fsm,button,[7]}},
{set,{var,119},{call,lock_fsm,button,[0]}},
{set,{var,120},{call,lock_fsm,button,[7]}},
{set,{var,121},{call,lock_fsm,button,"\t"}},
{set,{var,122},{call,lock_fsm,button,[5]}},
{set,{var,123},{call,lock_fsm,button,[0]}},
{set,{var,124},{call,lock_fsm,button,[3]}},
{set,{var,125},{call,lock_fsm,button,[6]}},
{set,{var,126},{call,lock_fsm,button,[1]}},
{set,{var,127},{call,lock_fsm,button,[4]}},
{set,{var,128},{call,lock_fsm,button,"\t"}},
{set,{var,129},{call,lock_fsm,button,[0]}},
{set,{var,130},{call,lock_fsm,button,"\b"}},
{set,{var,131},{call,lock_fsm,button,"\t"}},
{set,{var,132},{call,lock_fsm,button,"\t"}},
{set,{var,133},{call,lock_fsm,button,[6]}},
{set,{var,134},{call,lock_fsm,button,[7]}},
{set,{var,135},{call,lock_fsm,button,[2]}},
{set,{var,136},{call,lock_fsm,button,[3]}},
{set,{var,137},{call,lock_fsm,button,[5]}},
{set,{var,138},{call,lock_fsm,button,[7]}},
{set,{var,139},{call,lock_fsm,button,"\b"}},
{set,{var,140},{call,lock_fsm,button,[1]}},
{set,{var,141},{call,lock_fsm,button,[4]}},
{set,{var,142},{call,lock_fsm,button,[3]}},
{set,{var,143},{call,lock_fsm,button,[4]}},
{set,{var,144},{call,lock_fsm,button,[4]}},
{set,{var,145},{call,lock_fsm,button,[1]}},
{set,{var,146},{call,lock_fsm,button,[7]}},
{set,{var,147},{call,lock_fsm,button,[4]}},
{set,{var,148},{call,lock_fsm,button,[7]}},
{set,{var,149},{call,lock_fsm,button,[6]}},
{set,{var,150},{call,lock_fsm,button,[0]}},
{set,{var,151},{call,lock_fsm,button,[0]}},
{set,{var,152},{call,lock_fsm,button,"\b"}},
{set,{var,153},{call,lock_fsm,button,[3]}},
{set,{var,154},{call,lock_fsm,button,[3]}},
{set,{var,155},{call,lock_fsm,button,"\b"}},
{set,{var,156},{call,lock_fsm,button,[4]}},
{set,{var,157},{call,lock_fsm,button,[4]}}]*failed*
in function lock_fsm:'-lock_fsm_test_/0-fun-0-'/0 (/builds/triq/triq/_build/test/lib/triq/test/lock_fsm.erl, line 165)
**error:{assert,[{module,lock_fsm},
{line,165},
{expression,"triq : module ( ? MODULE )"},
{expected,true},
{not_boolean,{'EXIT',badarg}}]}
output:<<"Testing lock_fsm:prop_lock_fsm/0
..............................................................................Failed with: {error,badarg,
[{gen_fsm,send_event,2,[{file,"gen_fsm.erl"},{line,215}]},
{triq_fsm,do_run_command,5,
[{file,"/builds/triq/triq/_build/test/lib/triq/src/triq_fsm.erl"},
{line,63}]},
{lock_fsm,'-prop_lock_fsm/0-fun-3-',1,
[{file,"/builds/triq/triq/_build/test/lib/triq/test/lock_fsm.erl"},
{line,151}]},
{triq,check_input,4,
[{file,"/builds/triq/triq/_build/test/lib/triq/src/triq.erl"},
{line,78}]},
{triq,check_input,4,
[{file,"/builds/triq/triq/_build/test/lib/triq/src/triq.erl"},
{line,132}]},
{triq,check_forall,6,
[{file,"/builds/triq/triq/_build/test/lib/triq/src/triq.erl"},
{line,262}]},
{triq,check,3,
[{file,"/builds/triq/triq/_build/test/lib/triq/src/triq.erl"},
{line,364}]},
{triq,all,2,
[{file,"/builds/triq/triq/_build/test/lib/triq/src/triq.erl"},
{line,281}]}]}
Failed after 79 tests with {'EXIT',badarg}
Simplified:
Cmds = [
{set,{var,4},{call,lock_fsm,button,[1]}},
{set,{var,5},{call,lock_fsm,button,[4]}},
{set,{var,6},{call,lock_fsm,button,[7]}},
{set,{var,7},{call,lock_fsm,button,[0]}},
{set,{var,8},{call,lock_fsm,button,[2]}},
{set,{var,9},{call,lock_fsm,button,[6]}},
{set,{var,10},{call,lock_fsm,button,[6]}},
{set,{var,11},{call,lock_fsm,button,[2]}},
{set,{var,16},{call,lock_fsm,button,[9]}},
{set,{var,17},{call,lock_fsm,button,[7]}},
{set,{var,23},{call,lock_fsm,button,[4]}},
{set,{var,28},{call,lock_fsm,button,[4]}},
{set,{var,29},{call,lock_fsm,button,[5]}},
{set,{var,34},{call,lock_fsm,button,[6]}},
{set,{var,35},{call,lock_fsm,button,[7]}},
{set,{var,36},{call,lock_fsm,button,[9]}},
{set,{var,37},{call,lock_fsm,button,[0]}},
{set,{var,38},{call,lock_fsm,button,[9]}},
{set,{var,43},{call,lock_fsm,button,[1]}},
{set,{var,44},{call,lock_fsm,button,[6]}},
{set,{var,45},{call,lock_fsm,button,[8]}},
{set,{var,53},{call,lock_fsm,button,[9]}},
{set,{var,55},{call,lock_fsm,button,[1]}},
{set,{var,56},{call,lock_fsm,button,[9]}},
{set,{var,57},{call,lock_fsm,button,[4]}},
{set,{var,58},{call,lock_fsm,button,[2]}},
{set,{var,59},{call,lock_fsm,button,[9]}},
{set,{var,60},{call,lock_fsm,button,[6]}},
{set,{var,61},{call,lock_fsm,button,[7]}},
{set,{var,62},{call,lock_fsm,button,[5]}},
{set,{var,63},{call,lock_fsm,button,[0]}},
{set,{var,64},{call,lock_fsm,button,[1]}},
{set,{var,65},{call,lock_fsm,button,[5]}},
{set,{var,69},{call,lock_fsm,button,[8]}},
{set,{var,70},{call,lock_fsm,button,[0]}},
{set,{var,71},{call,lock_fsm,button,[3]}},
{set,{var,72},{call,lock_fsm,button,[4]}},
{set,{var,73},{call,lock_fsm,button,[6]}},
{set,{var,74},{call,lock_fsm,button,[6]}},
{set,{var,75},{call,lock_fsm,button,[0]}},
{set,{var,76},{call,lock_fsm,button,[6]}},
{set,{var,77},{call,lock_fsm,button,[0]}},
{set,{var,79},{call,lock_fsm,button,[4]}},
{set,{var,80},{call,lock_fsm,button,[1]}},
{set,{var,82},{call,lock_fsm,button,[2]}},
{set,{var,83},{call,lock_fsm,button,[6]}},
{set,{var,84},{call,lock_fsm,button,[7]}},
{set,{var,85},{call,lock_fsm,button,[9]}},
{set,{var,86},{call,lock_fsm,button,[6]}},
{set,{var,87},{call,lock_fsm,button,[3]}},
{set,{var,88},{call,lock_fsm,button,[0]}},
{set,{var,89},{call,lock_fsm,button,[3]}},
{set,{var,90},{call,lock_fsm,button,[1]}},
{set,{var,91},{call,lock_fsm,button,[2]}},
{set,{var,92},{call,lock_fsm,button,[2]}},
{set,{var,98},{call,lock_fsm,button,[0]}},
{set,{var,99},{call,lock_fsm,button,[2]}},
{set,{var,100},{call,lock_fsm,button,[7]}},
{set,{var,101},{call,lock_fsm,button,[1]}},
{set,{var,102},{call,lock_fsm,button,[1]}},
{set,{var,103},{call,lock_fsm,button,[5]}},
{set,{var,107},{call,lock_fsm,button,[9]}},
{set,{var,108},{call,lock_fsm,button,[2]}},
{set,{var,109},{call,lock_fsm,button,[9]}},
{set,{var,110},{call,lock_fsm,button,[8]}},
{set,{var,111},{call,lock_fsm,button,[2]}},
{set,{var,112},{call,lock_fsm,button,[5]}},
{set,{var,113},{call,lock_fsm,button,[4]}},
{set,{var,114},{call,lock_fsm,button,[2]}},
{set,{var,115},{call,lock_fsm,button,[0]}},
{set,{var,120},{call,lock_fsm,button,[7]}},
{set,{var,121},{call,lock_fsm,button,[9]}},
{set,{var,122},{call,lock_fsm,button,[5]}},
{set,{var,123},{call,lock_fsm,button,[0]}},
{set,{var,124},{call,lock_fsm,button,[3]}},
{set,{var,135},{call,lock_fsm,button,[2]}},
{set,{var,137},{call,lock_fsm,button,[5]}},
{set,{var,138},{call,lock_fsm,button,[7]}},
{set,{var,139},{call,lock_fsm,button,[8]}},
{set,{var,140},{call,lock_fsm,button,[1]}},
{set,{var,141},{call,lock_fsm,button,[4]}},
{set,{var,143},{call,lock_fsm,button,[4]}},
{set,{var,144},{call,lock_fsm,button,[4]}},
{set,{var,145},{call,lock_fsm,button,[1]}},
{set,{var,146},{call,lock_fsm,button,[7]}},
{set,{var,147},{call,lock_fsm,button,[4]}},
{set,{var,148},{call,lock_fsm,button,[7]}},
{set,{var,149},{call,lock_fsm,button,[6]}},
{set,{var,150},{call,lock_fsm,button,[0]}},
{set,{var,151},{call,lock_fsm,button,[0]}},
{set,{var,157},{call,lock_fsm,button,[4]}}
]
">>