PY3: Fix byte string encoding issues when running shell.minion int tests

This commit is contained in:
rallytime 2016-08-01 15:25:15 -06:00
parent 4587a3112f
commit f47e2f9399

View file

@ -26,9 +26,9 @@ ensure_in_syspath('../../')
# Import salt libs
import integration
from integration.utils import testprogram
import salt.ext.six as six
import salt.utils
log = logging.getLogger(__name__)
DEBUG = True
@ -125,6 +125,13 @@ class MinionTest(integration.ShellCase, testprogram.TestProgramCase, integration
log.debug('script: salt-minion: stderr: {0}'.format(line))
log.debug('exit status: {0}'.format(ret[2]))
if six.PY3:
std_out = b'\nSTDOUT:'.join(ret[0])
std_err = b'\nSTDERR:'.join(ret[1])
else:
std_out = '\nSTDOUT:'.join(ret[0])
std_err = '\nSTDERR:'.join(ret[1])
# Check minion state
for minion in minions:
self.assertEqual(
@ -134,8 +141,8 @@ class MinionTest(integration.ShellCase, testprogram.TestProgramCase, integration
action,
minion.name,
["stopped", "running"][minion_running],
'\nSTDOUT:'.join(ret[0]),
'\nSTDERR:'.join(ret[1]),
std_out,
std_err,
)
)
@ -148,8 +155,8 @@ class MinionTest(integration.ShellCase, testprogram.TestProgramCase, integration
message,
ret[2],
exitstatus,
'\nSTDOUT:'.join(ret[0]),
'\nSTDERR:'.join(ret[1]),
std_out,
std_err,
)
)
return ret
@ -286,7 +293,8 @@ class MinionTest(integration.ShellCase, testprogram.TestProgramCase, integration
self.assert_exit_status(
status, 'EX_NOUSER',
message='unknown user not on system',
stdout=stdout, stderr=stderr
stdout=stdout,
stderr=stderr[0].decode(__salt_system_encoding__)
)
# minion.shutdown() should be unnecessary since the start-up should fail
@ -310,7 +318,8 @@ class MinionTest(integration.ShellCase, testprogram.TestProgramCase, integration
self.assert_exit_status(
status, 'EX_USAGE',
message='unknown argument',
stdout=stdout, stderr=stderr
stdout=stdout,
stderr=stderr[0].decode(__salt_system_encoding__)
)
# minion.shutdown() should be unnecessary since the start-up should fail