merge from trunk

This commit is contained in:
Scott Moser 2015-02-24 09:07:53 -05:00
commit 7c6ddf5821
4 changed files with 15 additions and 4 deletions

View File

@ -137,7 +137,7 @@ class DataSourceAzureNet(sources.DataSource):
if found != ddir:
cached_ovfenv = util.load_file(
os.path.join(ddir, 'ovf-env.xml'), quiet=True)
os.path.join(ddir, 'ovf-env.xml'), quiet=True, decode=False)
if cached_ovfenv != files['ovf-env.xml']:
# source was not walinux-agent's datadir, so we have to clean
# up so 'wait_for_files' doesn't return early due to stale data
@ -593,7 +593,7 @@ def load_azure_ds_dir(source_dir):
if not os.path.isfile(ovf_file):
raise NonAzureDataSource("No ovf-env file found")
with open(ovf_file, "r") as fp:
with open(ovf_file, "rb") as fp:
contents = fp.read()
md, ud, cfg = read_azure_ovf(contents)

View File

@ -287,10 +287,11 @@ def populate_dir(path, files):
if not os.path.exists(path):
os.makedirs(path)
for (name, content) in files.items():
with open(os.path.join(path, name), "w") as fp:
fp.write(content)
with open(os.path.join(path, name), "wb") as fp:
fp.write(content.encode('utf-8'))
fp.close()
try:
skipIf = unittest.skipIf
except AttributeError:

View File

@ -360,6 +360,12 @@ class TestAzureDataSource(TestCase):
self.assertTrue(os.path.exists(ovf_env_path))
self.assertEqual(xml, load_file(ovf_env_path))
def test_ovf_can_include_unicode(self):
xml = construct_valid_ovf_env(data={})
xml = u'\ufeff{0}'.format(xml)
dsrc = self._get_ds({'ovfcontent': xml})
dsrc.get_data()
def test_existing_ovf_same(self):
# waagent/SharedConfig left alone if found ovf-env.xml same as cached
odata = {'UserData': b64e("SOMEUSERDATA")}

View File

@ -11,6 +11,8 @@ deps =
nose
pep8==1.5.7
pyflakes
setenv =
LC_ALL = C
[testenv:py26]
commands = nosetests {posargs:tests}
@ -21,3 +23,5 @@ deps =
nose
pep8==1.5.7
pyflakes
setenv =
LC_ALL = C