It looks like new tests are required to check that the behaviour will not change again.


Le mardi 24 février 2015, Gregory P. Smith <greg@krypto.org> a écrit :
While porting some code from 2.7 to 3.4 I discovered that command.getstatusoutput() (renamed to subprocess.getstatusoutput() in 3.x) had changed. Surprise!

The code was working under an earlier version of 3.3 but broke when I ran it on 3.4.  Nowhere was this documented that I could find. Tracking down what changed, I discovered it was unintentional due to the meaning of the returned status int never being tested. http://bugs.python.org/issue23508 filed...

Given it has shipped in several stable 3.x releases and as part of some major Linux distros, reverting the behavior change seems wrong. The new behavior is nicer and more consistent with the rest of the subprocess module. I suggest just documenting it and moving on. It seems too late to fix this mistake without causing additional headaches. Anyone disagree?