diff options
| -rw-r--r-- | src/config.py | 6 | ||||
| -rw-r--r-- | src/test/result.py | 8 | ||||
| -rw-r--r-- | src/test/test.py | 7 |
3 files changed, 13 insertions, 8 deletions
diff --git a/src/config.py b/src/config.py index 7f6768a..94117e8 100644 --- a/src/config.py +++ b/src/config.py @@ -6,7 +6,7 @@ # By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2020/07/15 18:24:19 by charles #+# #+# # -# Updated: 2020/10/11 15:47:30 by cacharle ### ########.fr # +# Updated: 2021/01/10 15:25:49 by cacharle ### ########.fr # # # # ############################################################################ # @@ -62,9 +62,11 @@ AVAILABLE_COMMANDS = ["rmdir", "env", "cat", "touch", "ls", "grep", "sh", "head" # $PATH environment variable passed to the shell PATH_VARIABLE = os.path.abspath(EXECUTABLES_PATH) -# default test timeout +# test timeout TIMEOUT = 0.5 +# check leaks test timeout +CHECK_LEAKS_TIMEOUT = 10 LOREM = """ Mollitia asperiores assumenda excepturi et ipsa. Nihil corporis facere aut a rem consequatur. diff --git a/src/test/result.py b/src/test/result.py index e601f2a..2ae5e15 100644 --- a/src/test/result.py +++ b/src/test/result.py @@ -6,7 +6,7 @@ # By: charles <me@cacharle.xyz> +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2020/09/11 12:17:34 by charles #+# #+# # -# Updated: 2021/01/10 14:56:33 by cacharle ### ########.fr # +# Updated: 2021/01/10 15:25:45 by cacharle ### ########.fr # # # # ############################################################################ # @@ -48,8 +48,8 @@ class Result: self.set_colors() @staticmethod - def leak(cmd: str, leak_output: str = None): - return Result(cmd, None, None, None, leak_output) + def leak(cmd: str, captured: Captured): + return Result(cmd, None, None, captured, captured.output) def _search_leak_kind(self, kind: str) -> int: match = re.search( @@ -79,6 +79,8 @@ class Result: def passed(self): """Check if the result passed""" if self.leak_output is not None: + if self.actual.is_timeout: + return False return self.lost_bytes == 0 return self.actual == self.expected diff --git a/src/test/test.py b/src/test/test.py index ef9efb2..51389ca 100644 --- a/src/test/test.py +++ b/src/test/test.py @@ -6,7 +6,7 @@ # By: charles <charles.cabergs@gmail.com> +#+ +:+ +#+ # # +#+#+#+#+#+ +#+ # # Created: 2020/06/16 21:48:50 by charles #+# #+# # -# Updated: 2020/12/14 17:53:40 by charles ### ########.fr # +# Updated: 2021/01/10 15:20:38 by cacharle ### ########.fr # # # # ############################################################################ # @@ -63,7 +63,7 @@ class Test: captured = self._run_sandboxed([*config.VALGRIND_CMD, "-c"]) if config.VERBOSE_LEVEL == 2: print(captured.output) - self.result = Result.leak(self.full_cmd, captured.output) + self.result = Result.leak(self.full_cmd, captured) self.result.put(index) return @@ -116,7 +116,8 @@ class Test: # https://docs.python.org/3/library/subprocess.html#subprocess.Popen.communicate try: - stdout, _ = process.communicate(timeout=(self.timeout if not config.CHECK_LEAKS else 10)) + stdout, _ = process.communicate( + timeout=(self.timeout if not config.CHECK_LEAKS else config.CHECK_LEAKS_TIMEOUT)) except subprocess.TimeoutExpired: process.kill() # _, _ = process.communicate(timeout=2) |
