From 3228713ea302a962c11eb96ce34918b94528205e Mon Sep 17 00:00:00 2001 From: Eric Fried Date: Tue, 29 Oct 2019 15:55:11 -0500 Subject: Fix functional tests for py3 Fix various things so the functional tests will work under python3: - A hashlib.md5() can only be update()d with an encoded string in py3. - There's no dict.iteritems(), change to dict.items() (which is already an iterator). - Open temp files with 'w+' mode rather than the default 'w+b' (as an alternative to encoding all the write and expected-read payloads as bytes). - (This is a weird one) Explicitly raise SkipTest from unittest (rather than unittest2, which is where cls.skipException landed). Not sure why this is busted, but this moves the ball. Conflict/issue with raising SkipTest on this branch. (cherry picked from commit f1d742f32adeb662a3fdf8fa3ef3bc391e71ed81) (cherry picked from commit b866202f54afddca66a77cd989b082e193a96956) Includes squash of: Before writing object data to stdout, re-open it in binary mode Otherwise, you can hit TypeErrors on Python3. Closes-Bug: 1775482 (cherry picked from commit 415b48056d9d021e04ec972029040a89a6b13928) Conflicts: openstackclient/tests/functional/identity/v3/common.py NOTE(melwitt): The conflicts are due to the following changes not in Queens: Id8377363f7a3248b45aeeba21d2acc02684a0305 I7c44bbb60557378b66c5c43a7ba917f40dc2b633 Change-Id: Ic9b2b47848a600e87a3674289ae7ae8c3e091fee (cherry picked from commit 47f0277208362a3224f8e587bbdd60dd5aebf846) --- openstackclient/tests/functional/object/v1/test_object.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'openstackclient/tests/functional/object') diff --git a/openstackclient/tests/functional/object/v1/test_object.py b/openstackclient/tests/functional/object/v1/test_object.py index 226ef8ad..b3f23e52 100644 --- a/openstackclient/tests/functional/object/v1/test_object.py +++ b/openstackclient/tests/functional/object/v1/test_object.py @@ -33,7 +33,7 @@ class ObjectTests(common.ObjectStoreTests): self.skipTest("No object-store service present") def test_object(self): - with tempfile.NamedTemporaryFile() as f: + with tempfile.NamedTemporaryFile(mode='w+') as f: f.write('test content') f.flush() self._test_object(f.name) -- cgit v1.2.1