Turns out "juju show-action-status" doesn't support --wait, that is only accepted by 'show-action-output --wait'.
So instead, I've just changed the code so that a delay of 0 never goes via a Timer object, it just returns immediately.
On the plus side, that lets me get rid of the "first sync <-" oddity, and also lets the tests run slightly faster (they complete under --race in 11-12ms instead of 15ms.)
Turns out "juju show-action-status" doesn't support --wait, that is only accepted by 'show-action-output --wait'.
So instead, I've just changed the code so that a delay of 0 never goes via a Timer object, it just returns immediately.
On the plus side, that lets me get rid of the "first sync <-" oddity, and also lets the tests run slightly faster (they complete under --race in 11-12ms instead of 15ms.)
And it is more deterministic. yay