googlecodelabs / android-perf-testing

Automated Performance Testing on Android
https://codelabs.developers.google.com/codelabs/android-perf-testing/
Apache License 2.0
93 stars 39 forks source link

bug: Not able to find "testdata" directory #31

Open mvescovo opened 7 years ago

mvescovo commented 7 years ago

After step 8 I don't see any files in the testdata directory and get the following error in one of the logs:

"adb: error: remote object '/storage/emulated/0/Android/data/com.google.android.perftesting/files/testdata' does not exist"

natronite commented 6 years ago

I got the same error on Android API 23. On API 27 I got the following error instead:

adb: error: failed to stat remote object '/storage/emulated/0/Android/data/com.google.android.perftesting/files/testdata': No such file or directory

What can be done?

chronvas commented 6 years ago

if you take a look at the file run_perf_tests.py at line 354 you will find 2 methods named pull_device_data_files. One of them will fail.

But still, the other one should work. I would agree on the fact that is a little bit weird designs, but can you confirm that it's actually pulling the files? Check your testdata folder

natronite commented 6 years ago

Yes I noticed that it tries to pull the results twice saving the output in pull_test_files1.log and pull_test_files2.log. Both methods failed so far.

After uncommenting the commented lines in TestListener one of the methods started to work but the console still said:

FAIL: Could not find file indicating the test run completed. Check that the TestListener is writing files to external storage

The issues with this is that run_perf_tests.py is looking for testRunComplete.log in the wrong folder (testdata instead of testdata/testdata).

Looking in the right folder works on my test devices with API 19 and API 27. On my test Sony Xperia Z3 Compact with API 23 it does not. In TestListener.dumpLocationRequestInformation() the process.waitFor() never returns and thus fails to process all test files. What can be done?