aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/test/toolkit.py
diff options
context:
space:
mode:
Diffstat (limited to 'test/toolkit.py')
-rw-r--r--test/toolkit.py18
1 files changed, 18 insertions, 0 deletions
diff --git a/test/toolkit.py b/test/toolkit.py
index 4d8431d..7ef2b71 100644
--- a/test/toolkit.py
+++ b/test/toolkit.py
@@ -4,10 +4,28 @@
# Distributed under the MIT License.
from collections.abc import Iterable
+from contextlib import contextmanager
from enum import Enum
import logging
import os.path
import subprocess
+import sys
+
+
+@contextmanager
+def setup_logging(verbose=False):
+ level = logging.DEBUG if verbose else logging.INFO
+ logging.basicConfig(
+ level=level,
+ datefmt="%Y-%m-%d %H:%M:%S%z",
+ # The 8 below is for "CRITICAL"
+ format="%(asctime)s | %(levelname)8s | %(message)s",
+ )
+ try:
+ yield
+ except Exception as e:
+ logging.exception(e)
+ sys.exit(1)
class Algorithm(Enum):