The `file_from_index` function throws a UnicodeDecodeError if a modified
file targetted for style-checking (i.e. source-code) cannot be decoded
using `.decode("utf-8")`.
This check throws an error informing the user a submitted file must be
utf-8 encoded if this case arises.
Change-Id: I2361017f2e7413ed60f897d2301f2e4c7995dd76
Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/40015
Reviewed-by: Jason Lowe-Power <power.jg@gmail.com>
Maintainer: Jason Lowe-Power <power.jg@gmail.com>
Tested-by: kokoro <noreply+kokoro@google.com>
else:
regions = all_regions
- # Show they appropriate object and dump it to a file
- status = git.file_from_index(fname)
+ # Show the appropriate object and dump it to a file
+ try:
+ status = git.file_from_index(fname)
+ except UnicodeDecodeError:
+ print("Decoding '" + fname
+ + "' throws a UnicodeDecodeError.", file=sys.stderr)
+ print("Please check '" + fname
+ + "' exclusively uses utf-8 character encoding.", file=sys.stderr)
+ sys.exit(1)
+
f = TemporaryFile()
f.write(status.encode('utf-8'))