#!/usr/bin/python3
from nitsi.test import test
+from nitsi.logger import init_logging
import logging
+from nitsi.recipe import RecipeExeption
+
+from nitsi.test import TestException
+
logger = logging.getLogger("nitsi")
logger.setLevel(logging.DEBUG)
-# create file handler which logs even debug messages
-fh = logging.FileHandler('nitsi.log')
-fh.setLevel(logging.DEBUG)
# create console handler with a higher log level
ch = logging.StreamHandler()
ch.setLevel(logging.DEBUG)
formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
-fh.setFormatter(formatter)
ch.setFormatter(formatter)
# add the handlers to the logger
-logger.addHandler(fh)
logger.addHandler(ch)
if __name__ == "__main__":
if args.version:
logger.info("nitsi version: {}".format("@PACKAGE_VERSION@"))
else:
- currenttest = test(args.dir)
- currenttest.read_settings()
- currenttest.virtual_environ_setup()
- currenttest.load_recipe()
+ log_dir = init_logging(args.dir)
+ # We now going to log everything to log_dir/genaral.log
+ fh = logging.FileHandler("{}/general.log".format(log_dir))
+ fh.setLevel(logging.DEBUG)
+ logger.addHandler(fh)
+ logger.debug("We now logging everything to {}/general.log".format(log_dir))
+ try:
+ currenttest = test(args.dir, log_dir)
+ currenttest.read_settings()
+ currenttest.virtual_environ_setup()
+ currenttest.load_recipe()
+ except RecipeExeption as e:
+ logger.exception(e)
+ exit(2)
+
try:
currenttest.virtual_environ_start()
currenttest.run_recipe()
+ except TestException as e:
+ logger.exception(e)
+ exit(1)
except BaseException as e:
- print(e)
+ logger.exception(e)
+ exit(3)
finally:
- currenttest.virtual_environ_stop()
\ No newline at end of file
+ currenttest.virtual_environ_stop()
+
+ exit(0)
\ No newline at end of file