diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2020-04-22 12:19:43 -0400 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2020-06-10 12:09:31 -0400 |
commit | af509738f8e4400c26d321abeac924efb04fbfa0 (patch) | |
tree | 8e63fabbd613b12d3d4a3e8ec7f68b09a3d31d28 | |
parent | dfae62845961556935c6b8ccbb4285d4688c42b4 (diff) | |
download | qemu-af509738f8e4400c26d321abeac924efb04fbfa0.zip |
docker.py/build: support binary files in --extra-files
Read the --extra-files in binary mode to avoid encoding errors.
Reviewed-by: Philippe Mathieu-Daudé <philmd@redhat.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rwxr-xr-x | tests/docker/docker.py | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/tests/docker/docker.py b/tests/docker/docker.py index d96ccc9b19..e630aae108 100755 --- a/tests/docker/docker.py +++ b/tests/docker/docker.py @@ -56,15 +56,19 @@ class EngineEnum(enum.IntEnum): USE_ENGINE = EngineEnum.AUTO +def _bytes_checksum(bytes): + """Calculate a digest string unique to the text content""" + return hashlib.sha1(bytes).hexdigest() + def _text_checksum(text): """Calculate a digest string unique to the text content""" - return hashlib.sha1(text.encode('utf-8')).hexdigest() + return _bytes_checksum(text.encode('utf-8')) def _read_dockerfile(path): return open(path, 'rt', encoding='utf-8').read() def _file_checksum(filename): - return _text_checksum(_read_dockerfile(filename)) + return _bytes_checksum(open(filename, 'rb').read()) def _guess_engine_command(): |