test/py: fit: Open files as binary files
authorPaul Burton <paul.burton@imgtec.com>
Thu, 14 Sep 2017 21:34:48 +0000 (14:34 -0700)
committerSimon Glass <sjg@chromium.org>
Tue, 10 Jul 2018 20:50:50 +0000 (14:50 -0600)
The read_file() function in test_fit is used with files that are not
text files, as well as some that are. It is never used in a way that
requires it to decode text files to characters, so open all files in
binary mode such that read() doesn't attempt to decode characters for
files which are not text files.

Without this test_fit fails on python 3.x when reading an FDT in
run_fit_test() with:

  UnicodeDecodeError: 'utf-8' codec can't decode byte 0xd0 in position
                       0: invalid continuation byte

Signed-off-by: Paul Burton <paul.burton@imgtec.com>
Reviewed-by: Stephen Warren <swarren@nvidia.com>
test/py/tests/test_fit.py

index a0f9350411b49cddfbadb4652457b6302e8c9bc9..34696e976796baf22269e66cbac55833b422212b 100755 (executable)
@@ -143,7 +143,7 @@ def test_fit(u_boot_console):
         Returns:
             Contents of file as a string
         """
-        with open(fname, 'r') as fd:
+        with open(fname, 'rb') as fd:
             return fd.read()
 
     def make_dtb():