New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ordering test bundles by test execution times read from an input json file #342
Ordering test bundles by test execution times read from an input json file #342
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot for picking this up. It'd be awesome if you could add some test cases that demonstrate how this works.
I'll incorporate the comments and add a couple of tests. |
d659d84
to
34f731b
Compare
34f731b
to
764f379
Compare
@oliverhu I have incorporated Oscar and Shawn's comments and added some unit tests. Can you please review? Thanks. |
Same changes are available on #347 but on a different base (tag - v4.1.1). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for addressing the previous review, I left some other comments.
Oh, one more thing... where is the timings JSON file supposed to come from? I didn't see changes where Bluepill will emit it. |
687d557
to
cc6c6d5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Incorporated your comments. Please review.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good. I think the only piece missing is that bluepill should generate the JSON file with the times. After all, it has all the information at the end, when it does the trace-profile.json file...
This is an external input to Bluepill and it is not directly derived from any specific thing that Bluepill emits. Based on my experimentation, times from one single execution are NOT reliable estimates for the next execution. In our case, we calculate medians of execution times of a test over the last 7 days. |
… file Introducing an configuration to provide a json file with test case level execution times and subsequently use the execution times to order the test bundles from longest to shortest, for better concurrency. Also added new tests for the new ordering logic and fixed some existing ones. Ref: MobileNativeFoundation#336
cc6c6d5
to
0243729
Compare
… file (MobileNativeFoundation#342) Introducing an configuration to provide a json file with test case level execution times and subsequently use the execution times to order the test bundles from longest to shortest, for better concurrency. Also added new tests for the new ordering logic and fixed some existing ones. Ref: MobileNativeFoundation#336
Introducing an configuration to provide a json file with test case level execution times and subsequently use the execution times to order the test bundles from longest to shortest, for better concurrency. \cc @ob
Ref: #336