From 1860ff0ae665832cb36641f2bdbc88faa3181a84 Mon Sep 17 00:00:00 2001 From: Pedro Algarvio Date: Thu, 17 Feb 2022 06:56:29 +0000 Subject: [PATCH] Handle ``None`` values for ``.stdout`` and ``.stderr`` on ``ProcessResult.__str__()`` Fixes #8 Signed-off-by: Pedro Algarvio --- changelog/8.bugfix.rst | 1 + src/pytestshellutils/downgraded/utils/processes.py | 6 +++--- src/pytestshellutils/utils/processes.py | 6 +++--- 3 files changed, 7 insertions(+), 6 deletions(-) create mode 100644 changelog/8.bugfix.rst diff --git a/changelog/8.bugfix.rst b/changelog/8.bugfix.rst new file mode 100644 index 0000000..3ab4c4f --- /dev/null +++ b/changelog/8.bugfix.rst @@ -0,0 +1 @@ +Handle ``None`` values for ``.stdout`` and ``.stderr`` on ``ProcessResult.__str__()`` diff --git a/src/pytestshellutils/downgraded/utils/processes.py b/src/pytestshellutils/downgraded/utils/processes.py index b868c18..9e8849a 100644 --- a/src/pytestshellutils/downgraded/utils/processes.py +++ b/src/pytestshellutils/downgraded/utils/processes.py @@ -146,13 +146,13 @@ def __str__(self) -> str: message += '\n Command Line: {0}'.format(self.cmdline) if self.returncode is not None: message += '\n Returncode: {0}'.format(self.returncode) - if self.stdout.strip() or self.stderr.strip(): + if self.stdout and self.stdout.strip() or self.stderr and self.stderr.strip(): message += '\n Process Output:' - if self.stdout.strip(): + if self.stdout and self.stdout.strip(): message += '\n >>>>> STDOUT >>>>>\n{0}\n <<<<< STDOUT <<<<<'.format( self.stdout ) - if self.stderr.strip(): + if self.stderr and self.stderr.strip(): message += '\n >>>>> STDERR >>>>>\n{0}\n <<<<< STDERR <<<<<'.format( self.stderr ) diff --git a/src/pytestshellutils/utils/processes.py b/src/pytestshellutils/utils/processes.py index 0e59a3f..84e9a09 100644 --- a/src/pytestshellutils/utils/processes.py +++ b/src/pytestshellutils/utils/processes.py @@ -148,11 +148,11 @@ def __str__(self) -> str: message += f"\n Command Line: {self.cmdline}" if self.returncode is not None: message += f"\n Returncode: {self.returncode}" - if self.stdout.strip() or self.stderr.strip(): + if (self.stdout and self.stdout.strip()) or (self.stderr and self.stderr.strip()): message += "\n Process Output:" - if self.stdout.strip(): + if self.stdout and self.stdout.strip(): message += f"\n >>>>> STDOUT >>>>>\n{self.stdout}\n <<<<< STDOUT <<<<<" - if self.stderr.strip(): + if self.stderr and self.stderr.strip(): message += f"\n >>>>> STDERR >>>>>\n{self.stderr}\n <<<<< STDERR <<<<<" if self.data: message += "\n Parsed JSON Data:\n"