|
|
Created:
5 years, 2 months ago by agrieve Modified:
5 years, 2 months ago Reviewers:
jbudorick CC:
chromium-reviews, klundberg+watch_chromium.org, yfriedman+watch_chromium.org, jbudorick+watch_chromium.org Base URL:
https://chromium.googlesource.com/chromium/src.git@master Target Ref:
refs/pending/heads/master Project:
chromium Visibility:
Public. |
DescriptionAndroid gtest runner: Use first test list result rather than merging
Minor simplification and added comment.
Patch Set 1 #
Total comments: 3
Patch Set 2 : query in parallel with comment #
Total comments: 2
Patch Set 3 : fix no tests matching filter thrown exception #Patch Set 4 : no idea why it didn't work #Patch Set 5 : yep, no idea #Messages
Total messages: 27 (7 generated)
agrieve@chromium.org changed reviewers: + jbudorick@chromium.org
On 2015/10/08 01:48:36, agrieve wrote: > mailto:agrieve@chromium.org changed reviewers: > + mailto:jbudorick@chromium.org AFAICT, tests are defined using macros, so there shouldn't be a way to get a different list based on the device. Tests are also sharded between devices with no regard for which device declared it having a given test, so that's another reason I think they all have the same test list. Doesn't really speed things up since this happens in parallel, but does simplify the logs a bit.
The CQ bit was checked by agrieve@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1393203002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1393203002/1
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
https://codereview.chromium.org/1393203002/diff/1/build/android/pylib/local/d... File build/android/pylib/local/device/local_device_gtest_run.py (right): https://codereview.chromium.org/1393203002/diff/1/build/android/pylib/local/d... build/android/pylib/local/device/local_device_gtest_run.py:233: return list_tests(self._env.devices[0]) The problem with this is handling the case where listing the test fails on one device.
https://codereview.chromium.org/1393203002/diff/1/build/android/pylib/local/d... File build/android/pylib/local/device/local_device_gtest_run.py (right): https://codereview.chromium.org/1393203002/diff/1/build/android/pylib/local/d... build/android/pylib/local/device/local_device_gtest_run.py:233: return list_tests(self._env.devices[0]) On 2015/10/08 14:35:41, jbudorick wrote: > The problem with this is handling the case where listing the test fails on one > device. Wondered if that was it. Okay if I change this to add such a comment and just use the first non-None result? (and add back in sorting)
https://codereview.chromium.org/1393203002/diff/1/build/android/pylib/local/d... File build/android/pylib/local/device/local_device_gtest_run.py (right): https://codereview.chromium.org/1393203002/diff/1/build/android/pylib/local/d... build/android/pylib/local/device/local_device_gtest_run.py:233: return list_tests(self._env.devices[0]) On 2015/10/08 15:49:29, agrieve wrote: > On 2015/10/08 14:35:41, jbudorick wrote: > > The problem with this is handling the case where listing the test fails on one > > device. > > Wondered if that was it. > > Okay if I change this to add such a comment and just use the first non-None > result? (and add back in sorting) Definitely add a comment, and I think that using the first non-None result should be ok. I debated between that and the current implementation when I wrote this not that long ago, and I do think the results should be the same on successful execution.
On 2015/10/08 15:52:46, jbudorick wrote: > https://codereview.chromium.org/1393203002/diff/1/build/android/pylib/local/d... > File build/android/pylib/local/device/local_device_gtest_run.py (right): > > https://codereview.chromium.org/1393203002/diff/1/build/android/pylib/local/d... > build/android/pylib/local/device/local_device_gtest_run.py:233: return > list_tests(self._env.devices[0]) > On 2015/10/08 15:49:29, agrieve wrote: > > On 2015/10/08 14:35:41, jbudorick wrote: > > > The problem with this is handling the case where listing the test fails on > one > > > device. > > > > Wondered if that was it. > > > > Okay if I change this to add such a comment and just use the first non-None > > result? (and add back in sorting) > > Definitely add a comment, and I think that using the first non-None result > should be ok. I debated between that and the current implementation when I wrote > this not that long ago, and I do think the results should be the same on > successful execution. Actually, wdyt about just querying the devices in series in the case of failure? I'm assuming failure is infrequent, and want to try and save on log pollution.
On 2015/10/08 16:11:49, agrieve wrote: > On 2015/10/08 15:52:46, jbudorick wrote: > > > https://codereview.chromium.org/1393203002/diff/1/build/android/pylib/local/d... > > File build/android/pylib/local/device/local_device_gtest_run.py (right): > > > > > https://codereview.chromium.org/1393203002/diff/1/build/android/pylib/local/d... > > build/android/pylib/local/device/local_device_gtest_run.py:233: return > > list_tests(self._env.devices[0]) > > On 2015/10/08 15:49:29, agrieve wrote: > > > On 2015/10/08 14:35:41, jbudorick wrote: > > > > The problem with this is handling the case where listing the test fails on > > one > > > > device. > > > > > > Wondered if that was it. > > > > > > Okay if I change this to add such a comment and just use the first non-None > > > result? (and add back in sorting) > > > > Definitely add a comment, and I think that using the first non-None result > > should be ok. I debated between that and the current implementation when I > wrote > > this not that long ago, and I do think the results should be the same on > > successful execution. > > Actually, wdyt about just querying the devices in series in the case of failure? > I'm assuming failure is infrequent, and want to try and save on log pollution. I'd rather do it in parallel. It's less infrequent than you might think :(
On 2015/10/08 16:12:29, jbudorick wrote: > On 2015/10/08 16:11:49, agrieve wrote: > > On 2015/10/08 15:52:46, jbudorick wrote: > > > > > > https://codereview.chromium.org/1393203002/diff/1/build/android/pylib/local/d... > > > File build/android/pylib/local/device/local_device_gtest_run.py (right): > > > > > > > > > https://codereview.chromium.org/1393203002/diff/1/build/android/pylib/local/d... > > > build/android/pylib/local/device/local_device_gtest_run.py:233: return > > > list_tests(self._env.devices[0]) > > > On 2015/10/08 15:49:29, agrieve wrote: > > > > On 2015/10/08 14:35:41, jbudorick wrote: > > > > > The problem with this is handling the case where listing the test fails > on > > > one > > > > > device. > > > > > > > > Wondered if that was it. > > > > > > > > Okay if I change this to add such a comment and just use the first > non-None > > > > result? (and add back in sorting) > > > > > > Definitely add a comment, and I think that using the first non-None result > > > should be ok. I debated between that and the current implementation when I > > wrote > > > this not that long ago, and I do think the results should be the same on > > > successful execution. > > > > Actually, wdyt about just querying the devices in series in the case of > failure? > > I'm assuming failure is infrequent, and want to try and save on log pollution. > > I'd rather do it in parallel. It's less infrequent than you might think :( :( done.
https://codereview.chromium.org/1393203002/diff/20001/build/android/pylib/loc... File build/android/pylib/local/device/local_device_gtest_run.py (right): https://codereview.chromium.org/1393203002/diff/20001/build/android/pylib/loc... build/android/pylib/local/device/local_device_gtest_run.py:234: return sorted(next(l for l in test_lists if l)) How does this handle the filter resolving to no tests?
https://codereview.chromium.org/1393203002/diff/20001/build/android/pylib/loc... File build/android/pylib/local/device/local_device_gtest_run.py (right): https://codereview.chromium.org/1393203002/diff/20001/build/android/pylib/loc... build/android/pylib/local/device/local_device_gtest_run.py:234: return sorted(next(l for l in test_lists if l)) On 2015/10/08 20:39:37, jbudorick wrote: > How does this handle the filter resolving to no tests? Yikes! nice catch! Fixed.
almost missed the switch from "not l" to "l is not None" lgtm
The CQ bit was checked by agrieve@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1393203002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1393203002/40001
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_android_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_android_r...)
The CQ bit was checked by agrieve@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1393203002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1393203002/40001
On 2015/10/09 03:35:12, commit-bot: I haz the power wrote: > Try jobs failed on following builders: > linux_android_rel_ng on tryserver.chromium.linux (JOB_FAILED, > http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_android_r...) those three failures look strangely consistent...
On 2015/10/09 16:15:55, jbudorick wrote: > On 2015/10/09 03:35:12, commit-bot: I haz the power wrote: > > Try jobs failed on following builders: > > linux_android_rel_ng on tryserver.chromium.linux (JOB_FAILED, > > > http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_android_r...) > > those three failures look strangely consistent... Is there more there than a timeout? Looks like telemetry_perf_unittests failed on the next run... There's actually no change in how the command is run though, only a change in how the results are merged afterwards, so I don't get it...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: linux_android_rel_ng on tryserver.chromium.linux (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_android_r...)
On 2015/10/09 17:52:26, commit-bot: I haz the power wrote: > Try jobs failed on following builders: > linux_android_rel_ng on tryserver.chromium.linux (JOB_FAILED, > http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_android_r...) Abandoning. Only theory I have is that if all devices fail, the new way would throw and the old way would return an empty test list. That said, looking at other runs it seems to be working fine. Not going to waste any more time on it.
Message was sent while issue was closed.
On 2015/10/09 20:05:57, agrieve wrote: > On 2015/10/09 17:52:26, commit-bot: I haz the power wrote: > > Try jobs failed on following builders: > > linux_android_rel_ng on tryserver.chromium.linux (JOB_FAILED, > > > http://build.chromium.org/p/tryserver.chromium.linux/builders/linux_android_r...) > > Abandoning. Only theory I have is that if all devices fail, the new way would > throw and the old way would return an empty test list. That said, looking at > other runs it seems to be working fine. Not going to waste any more time on it. k. I'm seeing this issue elsewhere as well, so I'll be separately investigating. |