cloud-init-dev team mailing list archive
-
cloud-init-dev team
-
Mailing list archive
-
Message #01268
Re: [Merge] ~wesley-wiedenmeier/cloud-init:error-output into cloud-init:master
Diff comments:
> diff --git a/tests/unittests/test_util.py b/tests/unittests/test_util.py
> index fc6b9d4..f8d416c 100644
> --- a/tests/unittests/test_util.py
> +++ b/tests/unittests/test_util.py
> @@ -604,11 +604,70 @@ class TestSubp(helpers.TestCase):
> util.target_path("/target/", "///my/path/"))
>
>
> +<<<<<<< tests/unittests/test_util.py
Probably need to do a rebase/conflict fix.
> class TestEncode(helpers.TestCase):
> """Test the encoding functions"""
> def test_decode_binary_plain_text_with_hex(self):
> blob = 'BOOTABLE_FLAG=\x80init=/bin/systemd'
> text = util.decode_binary(blob)
> self.assertEqual(text, blob)
> +=======
> +class TestProcessExecutionError(helpers.TestCase):
> +
> + template = ('{description}\n'
> + 'Command: {cmd}\n'
> + 'Exit code: {exit_code}\n'
> + 'Reason: {reason}\n'
> + 'Stdout: {stdout}\n'
> + 'Stderr: {stderr}')
> + empty_attr = '-'
> + empty_description = 'Unexpected error while running command.'
> +
> + def test_pexec_error_type(self):
> + self.assertIsInstance(util.ProcessExecutionError(), IOError)
> +
> + def test_pexec_error_empty_msgs(self):
> + error = util.ProcessExecutionError()
> + self.assertTrue(all(attr == self.empty_attr for attr in
> + (error.stderr, error.stdout, error.reason)))
> + self.assertEqual(error.description, self.empty_description)
> + self.assertEqual(error.message, self.template.format(
> + description=self.empty_description, exit_code=self.empty_attr,
> + reason=self.empty_attr, stdout=self.empty_attr,
> + stderr=self.empty_attr, cmd=self.empty_attr))
> +
> + def test_pexec_error_single_line_msgs(self):
> + stdout_msg = 'out out'
> + stderr_msg = 'error error'
> + cmd = 'test command'
> + exit_code = 3
> + error = util.ProcessExecutionError(
> + stdout=stdout_msg, stderr=stderr_msg, exit_code=3, cmd=cmd)
> + self.assertEqual(error.message, self.template.format(
> + description=self.empty_description, stdout=stdout_msg,
> + stderr=stderr_msg, exit_code=str(exit_code),
> + reason=self.empty_attr, cmd=cmd))
> +
> + def test_pexec_error_multi_line_msgs(self):
> + stdout_msg = 'multi\nline\noutput message'
> + stderr_msg = 'multi\nline\nerror message\n\n\n'
> + error = util.ProcessExecutionError(
> + stdout=stdout_msg, stderr=stderr_msg)
> + self.assertEqual(
> + error.message,
> + '\n'.join((
> + '{description}',
> + 'Command: {empty_attr}',
> + 'Exit code: {empty_attr}',
> + 'Reason: {empty_attr}',
> + 'Stdout: multi',
> + ' line',
> + ' output message',
> + 'Stderr: multi',
> + ' line',
> + ' error message',
> + )).format(description=self.empty_description,
> + empty_attr=self.empty_attr))
> +>>>>>>> tests/unittests/test_util.py
>
> # vi: ts=4 expandtab
--
https://code.launchpad.net/~wesley-wiedenmeier/cloud-init/+git/cloud-init/+merge/306731
Your team cloud init development team is requested to review the proposed merge of ~wesley-wiedenmeier/cloud-init:error-output into cloud-init:master.
References