Replies: 3 comments 1 reply
-
@kubovy can you clarify what you're expecting? With all devices in one pool, each test will only run on one device. Do you have a small number of tests, such that not all devices are needed? Or if you're expecting each test to run on each device, then what you want is |
Beta Was this translation helpful? Give feedback.
-
@joshschriever thank you for the fast reaction. I understand the pooling strategies. In my setup all devices are in one pool, e.g. with The scenarios I described above is that there are always devices (marked as My expectation would be that all devices in the pool will be at some point used during the whole run. Running each test once on any of those devices. More clarification: before the test starts I see in the log the installation of the app APK and test APK, already there the ignored devices are consistently not shown. No timeout message, etc. I also increased the installation timeout but no change.
In the log the devices: As I said, if I turn off/disconnect the ignored devices another 2 devices will be not picked at all. In the example shown in the log if I disconnect It seams strange. But it somehow seems as if the devices get clustered by type (real/emulator) and host where they run. The behavior described above seems to then apply for each cluster which has more than 1 device: If I have: Weird right? |
Beta Was this translation helpful? Give feedback.
-
Hi, thanks for this tool. It delivers what it promises in regards of retrying tests, which I was missing in other tools before.
I am having a CI machine with one emulator on it and three connected devices. Another small computer with one emulator on it. And a second computer with 3 emulators on it. I tried using both,
PoolingStrategy.SinglePool
andPoolingStrategy.Manual
with all devices in one pool. It seams that gordon groups the above per type (real, emulator) and per host. As soon as one of the groups has more than one device it deterministically skips one device.For the above example: only CI Emulator, and 2 real devices will be picked, on the machine with one emulator, that one will be also picked. The machine with 3 emulators only 2 will be picked.
The interesting part is if I disconnect one real devices then only one of the remaining two real devices will be picked. Otherwise everything stays the same.
If I stop one of the 3 emulators on the same host, then only one of the remaining two emulators will be picked.
More interesting it is deterministic: always the same devices will be skipped:
Scenario 1:
Scenario 2:
Start or connection order of the devices/emulators does not make any difference. I never managed that all devices are picked.
There are no messages in the logs regarding timeouts or anything mentioning the skipped devices, they just don't appear in the log at all.
Any ideas?
Thanks!
Beta Was this translation helpful? Give feedback.
All reactions