From 9d34e51cdb7ccc74eaf851f1784433616bc9c31a Mon Sep 17 00:00:00 2001 From: Zack Galbreath Date: Fri, 3 Feb 2017 13:22:36 -0500 Subject: 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. --- Modules/AndroidTestUtilities/PushToAndroidDevice.cmake | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Modules/AndroidTestUtilities/PushToAndroidDevice.cmake b/Modules/AndroidTestUtilities/PushToAndroidDevice.cmake index d8ca730..04529b1 100644 --- a/Modules/AndroidTestUtilities/PushToAndroidDevice.cmake +++ b/Modules/AndroidTestUtilities/PushToAndroidDevice.cmake @@ -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() -- cgit v0.12