Add logging level configuration for all functest-*

Fixes #117
This commit is contained in:
Nicolas Pochet
2018-08-20 10:57:50 +02:00
parent 6c5e06ed86
commit d6fa8799d3
10 changed files with 82 additions and 6 deletions
@@ -41,3 +41,11 @@ class TestCharmLifecycleConfigure(ut_utils.BaseTestCase):
['-m', 'modelname', '-c', 'my.func1', 'my.func2'])
self.assertEqual(args.configfuncs, ['my.func1', 'my.func2'])
self.assertEqual(args.model_name, 'modelname')
def test_parser_logging(self):
# Using defaults
args = lc_configure.parse_args(['-m', 'model'])
self.assertEqual(args.loglevel, 'INFO')
# Using args
args = lc_configure.parse_args(['-m', 'model', '--log', 'DEBUG'])
self.assertEqual(args.loglevel, 'DEBUG')
@@ -239,3 +239,18 @@ class TestCharmLifecycleDeploy(ut_utils.BaseTestCase):
'-b', 'bun.yaml',
'--no-wait'])
self.assertFalse(args.wait)
def test_parser_logging(self):
args = lc_deploy.parse_args([
'-m', 'mymodel',
'-b', 'bun.yaml'
])
# Using defaults
self.assertEqual(args.loglevel, 'INFO')
# Specify the parameter
args = lc_deploy.parse_args([
'-m', 'mymodel',
'-b', 'bun.yaml',
'--log', 'DEBUG'
])
self.assertEqual(args.loglevel, 'DEBUG')
@@ -26,3 +26,11 @@ class TestCharmLifecycleDestroy(ut_utils.BaseTestCase):
def test_parser(self):
args = lc_destroy.parse_args(['-m', 'doomed'])
self.assertEqual(args.model_name, 'doomed')
def test_parser_logging(self):
# Using defaults
args = lc_destroy.parse_args(['-m', 'doomed'])
self.assertEqual(args.loglevel, 'INFO')
# Using args
args = lc_destroy.parse_args(['-m', 'doomed', '--log', 'DEBUG'])
self.assertEqual(args.loglevel, 'DEBUG')
@@ -90,3 +90,11 @@ class TestCharmLifecyclePrepare(ut_utils.BaseTestCase):
def test_parser(self):
args = lc_prepare.parse_args(['-m', 'newmodel'])
self.assertEqual(args.model_name, 'newmodel')
def test_parser_logging(self):
# Using defaults
args = lc_prepare.parse_args(['-m', 'model'])
self.assertEqual(args.loglevel, 'INFO')
# Using args
args = lc_prepare.parse_args(['-m', 'model', '--log', 'DEBUG'])
self.assertEqual(args.loglevel, 'DEBUG')
@@ -50,3 +50,11 @@ class TestCharmLifecycleTest(ut_utils.BaseTestCase):
args.tests,
['my.test_class1', 'my.test_class2'])
self.assertEqual(args.model_name, 'modelname')
def test_parser_logging(self):
# Using defaults
args = lc_test.parse_args(['-m', 'model'])
self.assertEqual(args.loglevel, 'INFO')
# Using args
args = lc_test.parse_args(['-m', 'model', '--log', 'DEBUG'])
self.assertEqual(args.loglevel, 'DEBUG')
+7 -1
View File
@@ -59,6 +59,9 @@ def parse_args(args):
required=False)
parser.add_argument('-m', '--model-name', help='Name of model to remove',
required=True)
parser.add_argument('--log', dest='loglevel',
help='Loglevel [DEBUG|INFO|WARN|ERROR|CRITICAL]')
parser.set_defaults(loglevel='INFO')
return parser.parse_args(args)
@@ -69,8 +72,11 @@ def main():
provided read the configuration functions from the charms tests.yaml
config file
"""
logging.basicConfig(level=logging.INFO)
args = parse_args(sys.argv[1:])
level = getattr(logging, args.loglevel.upper(), None)
if not isinstance(level, int):
raise ValueError('Invalid log level: "{}"'.format(args.loglevel))
logging.basicConfig(level=level)
funcs = args.configfuncs or utils.get_charm_config()['configure']
configure(args.model_name, funcs)
asyncio.get_event_loop().close()
+7 -2
View File
@@ -266,12 +266,17 @@ def parse_args(args):
parser.add_argument('--no-wait', dest='wait',
help='Do not wait for deployment to settle',
action='store_false')
parser.set_defaults(wait=True)
parser.add_argument('--log', dest='loglevel',
help='Loglevel [DEBUG|INFO|WARN|ERROR|CRITICAL]')
parser.set_defaults(wait=True, loglevel='INFO')
return parser.parse_args(args)
def main():
"""Deploy bundle."""
logging.basicConfig(level=logging.INFO)
args = parse_args(sys.argv[1:])
level = getattr(logging, args.loglevel.upper(), None)
if not isinstance(level, int):
raise ValueError('Invalid log level: "{}"'.format(args.loglevel))
logging.basicConfig(level=level)
deploy(args.bundle, args.model, wait=args.wait)
+7 -1
View File
@@ -40,11 +40,17 @@ def parse_args(args):
parser = argparse.ArgumentParser()
parser.add_argument('-m', '--model-name', help='Name of model to remove',
required=True)
parser.add_argument('--log', dest='loglevel',
help='Loglevel [DEBUG|INFO|WARN|ERROR|CRITICAL]')
parser.set_defaults(loglevel='INFO')
return parser.parse_args(args)
def main():
"""Cleanup after test run."""
logging.basicConfig(level=logging.INFO)
args = parse_args(sys.argv[1:])
level = getattr(logging, args.loglevel.upper(), None)
if not isinstance(level, int):
raise ValueError('Invalid log level: "{}"'.format(args.loglevel))
logging.basicConfig(level=level)
destroy(args.model_name)
+7 -1
View File
@@ -106,11 +106,17 @@ def parse_args(args):
parser = argparse.ArgumentParser()
parser.add_argument('-m', '--model-name', help='Name of model to add',
required=True)
parser.add_argument('--log', dest='loglevel',
help='Loglevel [DEBUG|INFO|WARN|ERROR|CRITICAL]')
parser.set_defaults(loglevel='INFO')
return parser.parse_args(args)
def main():
"""Add a new model."""
logging.basicConfig(level=logging.INFO)
args = parse_args(sys.argv[1:])
level = getattr(logging, args.loglevel.upper(), None)
if not isinstance(level, int):
raise ValueError('Invalid log level: "{}"'.format(args.loglevel))
logging.basicConfig(level=level)
prepare(args.model_name)
+7 -1
View File
@@ -57,6 +57,9 @@ def parse_args(args):
required=False)
parser.add_argument('-m', '--model-name', help='Name of model to remove',
required=True)
parser.add_argument('--log', dest='loglevel',
help='Loglevel [DEBUG|INFO|WARN|ERROR|CRITICAL]')
parser.set_defaults(loglevel='INFO')
return parser.parse_args(args)
@@ -66,8 +69,11 @@ def main():
Run the tests defined by the command line args or if none were provided
read the tests from the charms tests.yaml config file
"""
logging.basicConfig(level=logging.INFO)
args = parse_args(sys.argv[1:])
level = getattr(logging, args.loglevel.upper(), None)
if not isinstance(level, int):
raise ValueError('Invalid log level: "{}"'.format(args.loglevel))
logging.basicConfig(level=level)
tests = args.tests or utils.get_charm_config()['tests']
test(args.model_name, tests)
asyncio.get_event_loop().close()