From 958c410ba8b621a8a4d8caf04012028e7f151e0f Mon Sep 17 00:00:00 2001 From: Charles Cabergs Date: Fri, 11 Sep 2020 22:20:15 +0200 Subject: Added comments --- src/test/result.py | 23 +++++++++++++++++++---- 1 file changed, 19 insertions(+), 4 deletions(-) (limited to 'src/test/result.py') diff --git a/src/test/result.py b/src/test/result.py index 4f46e52..c64f20a 100644 --- a/src/test/result.py +++ b/src/test/result.py @@ -6,7 +6,7 @@ # By: charles +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2020/09/11 12:17:34 by charles #+# #+# # -# Updated: 2020/09/11 20:06:31 by charles ### ########.fr # +# Updated: 2020/09/11 22:20:03 by charles ### ########.fr # # # # ############################################################################ # @@ -24,6 +24,12 @@ class Result: CLOSE_CHARS = "\033[0m" def __init__(self, cmd: str, file_names: [str], expected: Captured, actual: Captured): + """Result class + cmd: runned command + file_names: names of watched files + expected: expected capture + actual: actual capture + """ self.cmd = cmd self.file_names = file_names self.expected = expected @@ -31,10 +37,8 @@ class Result: self.colored = True self.set_colors() - def toggle_colors(self): - self.colored = not self.colored - def set_colors(self): + """Set colors strings on or off based on self.colored""" if self.colored: self.color_red = self.RED_CHARS self.color_green = self.GREEN_CHARS @@ -62,13 +66,16 @@ class Result: @property def passed(self): + """Check if the result passed""" return self.actual == self.expected @property def failed(self): + """Check if the result failed""" return not self.passed def __repr__(self): + """Returns a representation of the result based on the verbosity""" if config.VERBOSE_LEVEL == 0: return self.green('.') if self.passed else self.red('!') elif config.VERBOSE_LEVEL == 1: @@ -83,6 +90,7 @@ class Result: raise RuntimeError def put(self): + """Print a summary of the result""" if config.VERBOSE_LEVEL == 2 and self.passed: return print(self, end="") @@ -92,6 +100,7 @@ class Result: print() def header(self, title: str) -> str: + """Create a one line header with a title""" return self.bold("|---------------------------------------{:-<40}".format(title)) @property @@ -106,6 +115,7 @@ class Result: return self.bold(self.blue(prefix + " " + title)) def file_diff(self, file_name: str, expected: str, actual: str) -> str: + """Difference between 2 files""" if expected == actual: return "" return ( @@ -117,6 +127,7 @@ class Result: ) def files_diff(self): + """Difference between watched files""" return '\n'.join([self.file_diff(n, e, a) for n, e, a in zip(self.file_names, self.expected.files_content, @@ -124,6 +135,7 @@ class Result: if e != a]) def output_diff(self) -> str: + """Difference in command output""" out = "" if self.actual.is_timeout: return "TIMEOUT\n" @@ -140,12 +152,14 @@ class Result: return out def full_diff(self) -> str: + """Concat all difference reports""" return (self.indicator("WITH {}".format(self.escaped_cmd), "|>") + '\n' + self.output_diff() + self.files_diff() + "=" * 80 + '\n') def cat_e(self, s: str) -> str: + """Pass a string through a cat -e like output""" s = s.replace("\n", "$\n") if len(s) < 2: return s @@ -155,6 +169,7 @@ class Result: @property def escaped_cmd(self): + """Escape common control characters""" return (self.cmd .replace("\t", "\\t") .replace("\n", "\\n") -- cgit