AndroidTestUtilities: ignore exit status of ls

adb used to suffer from a bug where `adb shell` would return 0 irrespective
the exit status of the underlying process that it executed.  This is now
fixed for newer versions of Android (N+).

As a result, attempting to `adb shell ls` a nonexistent file can now result
in a non-zero exit status.  Updating check_device_file_exists to ignore the
exit status of `adb shell` fixes this bug for newer Android devices.
This commit is contained in:
Zack Galbreath 2017-02-03 13:22:36 -05:00
parent fb26fcb261
commit 9d34e51cdb

View File

@ -39,7 +39,9 @@ function(android_push_test_files_to_device)
# if(file_exists) will return true.
macro(check_device_file_exists device_file file_exists)
set(${file_exists} "")
execute_adb_command(shell ls ${device_file})
execute_process(
COMMAND ${adb_executable} shell ls ${device_file}
OUTPUT_VARIABLE out_var ERROR_VARIABLE out_var)
if(NOT out_var) # when a directory exists but is empty the output is empty
set(${file_exists} "YES")
else()