clean_header: Fix error handling for no-such-file case

The function cleanupFile should always return a single value (as opposed
to a tuple or list). In addition, if it encounters an error, it is
expected to return a value that evaluates to False. As it stands,
however, it returns (None, None) in certain error cases. Change this
function to return None, in those cases.

We previously saw the following error message, when we tried to run
clean_header.py on a non-existent file.

Traceback (most recent call last):
  File "clean_header.py", line 208, in <module>
    b.updateGitFiles()
  File "utils.py", line 164, in updateGitFiles
    self._writeFile(dst)
  File "utils.py", line 136, in _writeFile
    f.write(self.new_data[dst])
TypeError: expected a string or other character buffer object

(cherry picked from commit 6d6b4cedd1)

Bug: 128420573
Change-Id: Id1dfab71e7efdee14950520df69f2e35219ee353
Merged-In: I5f717dd1a4388f598f0fd4bfd5e6129017de9095
This commit is contained in:
Daniel Mentz 2019-04-04 11:51:29 -07:00
parent c8c4babc33
commit 5ca5d4aa1d

View file

@ -86,11 +86,11 @@ def cleanupFile(dst_file, src_file, rel_path, no_update = True):
# Check the header path
if not os.path.exists(src_file):
print_error(no_update, "'%s' does not exist\n" % src_file)
return None, None
return None
if not os.path.isfile(src_file):
print_error(no_update, "'%s' is not a file\n" % src_file)
return None, None
return None
# Extract the architecture if found.
arch = None