summaryrefslogtreecommitdiff
path: root/tests/cloud_tests/testcases
diff options
context:
space:
mode:
authorScott Moser <smoser@brickies.net>2017-10-20 16:05:04 -0600
committerChad Smith <chad.smith@canonical.com>2017-10-20 16:06:58 -0600
commitc06eea972eb4b7bfa68f4f542f2fb67ea1d455ac (patch)
tree258b4301f3cebc23d8c2031cf9209e29b51de358 /tests/cloud_tests/testcases
parenta51968d50e7cdecabaf255c26386fd82f6640cc3 (diff)
downloadvyos-cloud-init-c06eea972eb4b7bfa68f4f542f2fb67ea1d455ac.tar.gz
vyos-cloud-init-c06eea972eb4b7bfa68f4f542f2fb67ea1d455ac.zip
citest: fix remaining warnings raised by integration tests.
There was fallout in a full integration test run from my adding of test_no_warnings_in_log which asserted that there could not be a WARNING found in the /var/log/cloud-init.log This fixes 2 of the cases: * TestCommandOutputSimple had a valid WARNING written, so adjust its test case to allow for that. * TestLxdDir had a valid config in the test but the module would log a WARNING, so fix the module. Also updates lxd unit tests to look for WARN themselves.
Diffstat (limited to 'tests/cloud_tests/testcases')
-rw-r--r--tests/cloud_tests/testcases/base.py6
-rw-r--r--tests/cloud_tests/testcases/main/command_output_simple.py16
2 files changed, 21 insertions, 1 deletions
diff --git a/tests/cloud_tests/testcases/base.py b/tests/cloud_tests/testcases/base.py
index d3586e3c..1706f59b 100644
--- a/tests/cloud_tests/testcases/base.py
+++ b/tests/cloud_tests/testcases/base.py
@@ -70,7 +70,11 @@ class CloudTestCase(unittest.TestCase):
def test_no_warnings_in_log(self):
"""Warnings should not be found in the log."""
- self.assertNotIn("WARN", self.get_data_file('cloud-init.log'))
+ self.assertEqual(
+ [],
+ [l for l in self.get_data_file('cloud-init.log').splitlines()
+ if 'WARN' in l],
+ msg="'WARN' found inside cloud-init.log")
class PasswordListTest(CloudTestCase):
diff --git a/tests/cloud_tests/testcases/main/command_output_simple.py b/tests/cloud_tests/testcases/main/command_output_simple.py
index fe4c7670..857881cb 100644
--- a/tests/cloud_tests/testcases/main/command_output_simple.py
+++ b/tests/cloud_tests/testcases/main/command_output_simple.py
@@ -15,4 +15,20 @@ class TestCommandOutputSimple(base.CloudTestCase):
data.splitlines()[-1].strip())
# TODO: need to test that all stages redirected here
+ def test_no_warnings_in_log(self):
+ """Warnings should not be found in the log.
+
+ This class redirected stderr and stdout, so it expects to find
+ a warning in cloud-init.log to that effect."""
+ redirect_msg = 'Stdout, stderr changing to'
+ warnings = [
+ l for l in self.get_data_file('cloud-init.log').splitlines()
+ if 'WARN' in l]
+ self.assertEqual(
+ [], [w for w in warnings if redirect_msg not in w],
+ msg="'WARN' found inside cloud-init.log")
+ self.assertEqual(
+ 1, len(warnings),
+ msg="Did not find %s in cloud-init.log" % redirect_msg)
+
# vi: ts=4 expandtab