sg-run-job would unconditionally set the step state to the value it
calculated, which would usually be `pass' or `fail' or
`broken' (according to the recipe).
Relax this interface somewhat to allow a test script to set the step
status itself: specifically, do not overwrite an existing status of
aborted broken starved
Signed-off-by: Ian Jackson <ian.jackson@eu.citrix.com>
proc step-set-status {flight job stepno st} {
transaction flights {
- db-update-1 "
+ db-execute "
UPDATE steps
SET status='$st',
finished=[clock seconds]
WHERE flight=$flight AND job='$job' AND stepno=$stepno
+ AND status<>'aborted'
+ AND status<>'broken'
+ AND status<>'starved'
"
set pause 0
db-execute-array stopinfo "