-
Notifications
You must be signed in to change notification settings - Fork 45
Add Test Orchestrator support. #90
Comments
@ming13 any additions here since you've tried Orchestrator? I am also curious about test run duration in compare to regular |
Okay, I’m doing everything manually from the command line.
Just
|
I’ll file the issue about missing |
Very interesting to see that it took THAT less time. I suspect that not all tests were run |
Great, please crosslink this issue with instrumentation output issue in Google bugtracker! |
I actually counted them visually and they all were here. |
Here we go — https://issuetracker.google.com/issues/64486480 |
You probably better copy "steps to reproduce" there as well |
@artem-zinnatullin - You mentioned there is a way to currently trick composer into using the test orchestrator? What is that trick? I have been able to run my tests with the orchestrator via |
Unfortunately since Once they fix it, we can start implementing support for Orchestrator :) |
I've just tried the latest version of test libs and discovered that it writes xml reports to the sdcard
|
Well we can hook into that, but that won't be "reactive", instrumentation output is printed asap, but I bet JUnit report only appears after test run
lol wut |
Yup, reports appears only after run, checked that. |
|
any news on this issue, is it possible to implement it with current version of orchestrator. Btw have you ever considered JUnit listeners, or piggybacking on existing ones: ? |
Well, I haven't tried since October, will need to recheck status of issues we faced. Regarding listeners - to use them we'll need to run tests with our own customized TestRunner, I guess. That will broke cases for the users who implements their own runners in the test apk. Not sure if there is a workaround... |
you can add the listeners to the existing test runner: there is also a possibility to add them in manifest or via gradle configuration ie. instrumentation arguments. or in the end you can go like spoon did and provide the customized testrunner via the gradle plugin: but I think it is a safer way to go compared to the bash output from the instrumentation process? |
even if they use the listener interface they still need to communicate back to the host machine for report generation. parsing instrumentation process output is tedious and perhaps fragile from the maintenance perspective but the next obvious communication medium for streaming the data back to the host would be some sort of network connection from the device which can probably be statistically proven as a large source of flake if any data was tracked/analyzed. perhaps if not a network connection the listener would write to a file on device that could then be tailed over adb on the host? Other than being able to control the communication format I don't see a huge value to doing it that way. |
Yay, I don't see benefit in using listeners right now. Orchestrator needs
to be reinvestigated, last time we checked it didn't produce correct
instrumentation output.
Alternative could be to have own "Orchestrator", but I'd prefer not to do
this.
Another alternative could be to start test run that runs single test, stops
the app and clears its date. Do it for every test and you have
Orchestrator. It can be done on top of existing logic, we'll just need to
parse apk to get test classes and methods. The only problem with this
solution is that it'll work well only with JUnit based tests.
…On Thu, Mar 8, 2018, 8:33 AM Trevor Jones ***@***.***> wrote:
even if they use the listener interface they still need to communicate
back to the host machine for report generation. parsing instrumentation
process output is tedious and perhaps fragile from the maintenance
perspective but the next obvious communication medium for streaming the
data back to the host would be some sort of network connection from the
device which can probably be statistically proven as a large source of
flake if any data was tracked/analyzed.
perhaps if not a network connection the listener would write to a file on
device that could then be tailed over adb on the host?
Other than being able to control the communication format I don't see a
huge value to doing it that way.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#90 (comment)>, or mute
the thread
<https://github.com/notifications/unsubscribe-auth/AA7B3KlR1i-OimAZwd-g1lEwauWwi2XDks5tcV1jgaJpZM4Ok3Va>
.
|
Any news on this issue? |
Last related PR: #138 However Google is working on Nitrogen that overlaps with Composer functionality which might affect our plans |
Do you mean Nitrogen OS? |
Nope, "Project nitrogen" announced on IO https://www.youtube.com/watch?v=wYMIadv9iF8 |
@artem-zinnatullin If the year ends without Google releasing Nitrogen ( it wouldn't be the first time, thats why usually they don't say dates ) all devs using Orchestrator will have wasted a year without Composer ( so, having a good sharding and report ). I don't get the answer saying Nitrogen might affect Composer plans, is like abandoning the project just because eventually there will be something better. |
You can trick Composer to work with Orchestrator right now, but more official solution would be better.
Also, as we've measured in #66 instrumenting each test separately can add 3-5 seconds overhead for each test which can be unacceptable for those who run them frequently (each PR/commit), but we need to actually measure this with Orchestrator.
See:
The text was updated successfully, but these errors were encountered: