tests: add tests for when stdout or stderr is connected to `os.devnull`
The original motivation was that creating PTYs on Windows is not possible, but
`NUL` is recognized as a TTY, so we can have at least some test coverage for
the TTY case. I think it doesn’t hurt to run the test cases on all systems.
$ hg init a
$ cd a
$ hg init b
$ echo x > b/x
Should print nothing:
$ hg add b
$ hg st
$ echo y > b/y
$ hg st
Should fail:
$ hg st b/x
abort: path 'b/x' is inside nested repo 'b'
[255]
$ hg add b/x
abort: path 'b/x' is inside nested repo 'b'
[255]
Should fail:
$ hg add b b/x
abort: path 'b/x' is inside nested repo 'b'
[255]
$ hg st
Should arguably print nothing:
$ hg st b
$ echo a > a
$ hg ci -Ama a
Should fail:
$ hg mv a b
abort: path 'b/a' is inside nested repo 'b'
[255]
$ hg st
$ cd ..