From ea9e3614ce1bc4fcb8e6fdb05f7b071d6d043c6d Mon Sep 17 00:00:00 2001 From: David Robillard Date: Mon, 18 Mar 2019 12:22:52 +0100 Subject: Seek to end before checking the size of stderr output This fixes the error message checks in virtual environments where temporary files act weird. --- waflib/extras/autowaf.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/waflib/extras/autowaf.py b/waflib/extras/autowaf.py index 51077d18..c28cc1aa 100644 --- a/waflib/extras/autowaf.py +++ b/waflib/extras/autowaf.py @@ -888,9 +888,10 @@ class TestScope: if 'stderr' in kwargs and kwargs['stderr'] == NONEMPTY: # Run with a temp file for stderr and check that it is non-empty import tempfile - with tempfile.TemporaryFile(mode='w') as stderr: + with tempfile.TemporaryFile() as stderr: kwargs['stderr'] = stderr output = self.run(test, **kwargs) + stderr.seek(0, 2) # Seek to end return (output if not output else self.run( lambda: stderr.tell() > 0, -- cgit v1.2.1