aboutsummaryrefslogtreecommitdiff
path: root/minishell_test/__main__.py
diff options
context:
space:
mode:
Diffstat (limited to 'minishell_test/__main__.py')
-rwxr-xr-xminishell_test/__main__.py26
1 files changed, 19 insertions, 7 deletions
diff --git a/minishell_test/__main__.py b/minishell_test/__main__.py
index da7f173..7d7b619 100755
--- a/minishell_test/__main__.py
+++ b/minishell_test/__main__.py
@@ -18,19 +18,25 @@ import shutil
import distutils.spawn
import subprocess
-import config
-import sandbox
-from args import parse_args
-from suite import Suite
-from suites import * # noqa: F403,F401
+import minishell_test.config as config
+import minishell_test.sandbox as sandbox
+from minishell_test.args import parse_args
+from minishell_test.suite.suite import Suite, SuiteException
+from minishell_test.suites import * # noqa: F403,F401
-def main():
+def main(argv=None):
args = parse_args()
if args.list:
Suite.list()
sys.exit(0)
+ config.MINISHELL_DIR = args.path
+ config.MINISHELL_PATH = os.path.abspath(
+ os.path.join(config.MINISHELL_DIR, config.MINISHELL_EXEC)
+ )
+ config.VALGRIND_CMD[-1] = config.MINISHELL_PATH
+
if config.MINISHELL_MAKE or args.make:
try:
print("{:=^{width}}".format("MAKE", width=config.TERM_COLS))
@@ -72,10 +78,16 @@ def main():
if config.RANGE is not None or config.CHECK_LEAKS:
config.SHOW_RANGE = True
- Suite.setup(args.suites)
+ try:
+ Suite.setup(args.suites)
+ except SuiteException as e:
+ print(e)
+ sys.exit(1)
try:
Suite.run_all()
except KeyboardInterrupt:
+ pass
+ finally:
sandbox.remove()
Suite.summarize()