git.iko.soy/typeable/nixpkgs
on master help sign in
test-driver.py: remove bufsize=1 from Popen calls

According to Python documentation [0], `bufsize=1` is only meaningful in text mode. As we don't pass in an argument called `universal_newlines`, `encoding`, `errors` or `text` the file objects aren't opened in text mode, which means the argument is ignored with a warning in Python 3.8. line buffering (buffering=1) isn't supported in binary mode, the default buffer size will be used This commit removes this warning that appared when using interactive test driver built with `-A driver`. This is done by removing `bufsize=1` from Popen calls. The default parameter when unspecified for `bufsize` is `-1` which according to the documentation will be interpreted as `io.DEFAULT_BUFFER_SIZE`. As mentioned by a warning, Python already uses default buffer size when providing `buffering=1` parameter for file objects not opened in text mode. [0]: https://docs.python.org/3/library/subprocess.html#subprocess.Popen

commit254d30d4c95f35d6d0f54c2b1c2a76339ae76de9 authorKonrad Borowski <konrad@borowski.pw> dateSat 24 Oct 2020, 11:23 (6 years ago) parentce383a1
1 file changed−2
nixos/lib/test-driver/test-driver.py−2
nixos/lib/test-driver/test-driver.py−2
@@ -110,7 +110,6 @@ def create_vlan(vlan_nr: str) -> Tuple[str, str, "subprocess.Popen[bytes]", Any]
110110 pty_master, pty_slave = pty.openpty()
111111 vde_process = subprocess.Popen(
112112 ["vde_switch", "-s", vde_socket, "--dirmode", "0700"],
113− bufsize=1,
114113 stdin=pty_slave,
115114 stdout=subprocess.PIPE,
116115 stderr=subprocess.PIPE,
@@ -748,7 +747,6 @@ class Machine:
748747
749748 self.process = subprocess.Popen(
750749 self.script,
751− bufsize=1,
752750 stdin=subprocess.DEVNULL,
753751 stdout=subprocess.PIPE,
754752 stderr=subprocess.STDOUT,