subprocess: stdout set to subprocess.STDOUT is incorrectly handled

Bug report

import subprocess
subprocess.run('true', stdout=subprocess.STDOUT, cwd='./')

Expected output:

  • Some kind of error stating that the stdout argument cannot take a subprocess.STDOUT. That subprocess.STDOUT is only valid for stderr

Actual output:

OSError: [Errno 9] Bad file descriptor: './'

I reproduce this with the latest Python main branch as well as Python 3.10 but I see no indication this issue was ever addressed