aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/config.py6
-rw-r--r--src/test/result.py8
-rw-r--r--src/test/test.py7
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)