-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
Import Robolectric Native Graphics tests #7997
Conversation
@hoisie Looks like https://android-review.googlesource.com/c/platform/external/robolectric/+/2492289 AOSP wants to merge this PR, what about merging it first? |
@hoisie @utzcoz Hi Michael and utzcoz, Having said that, do you have an ETA for merging this PR? |
Hi @ihcinihsdk working on this now :) |
Thanks a lot, Michael! |
e1178ed
to
a1c60e6
Compare
@hoisie Does RNG support webp? I remember there is a webp supporting problem of previous resource mechanism. |
@utzcoz yup it supports WebP |
95eb39d
to
11a7f07
Compare
.github/workflows/tests.yml
Outdated
@@ -64,8 +64,20 @@ jobs: | |||
--no-watch-fs \ | |||
-Drobolectric.enabledSdks=${{ matrix.api-versions }} \ | |||
-Drobolectric.alwaysIncludeVariantMarkersInTestName=true \ | |||
-Dorg.gradle.workers.max=2 \ | |||
-x :integration_tests:nativegraphics:test |
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.
@hoisie Is it for test purpose only?
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.
It's complicated... I was seeing weird CI failures when running native graphics tests in the regular tests CI workflow. Seems too be a kind of OOM. the gradle test will fail with 'exit code 137'. If I separate the graphics tests so they are in a separate process it fixes the issue.
I am thinking of running the graphics tests on our M1 mini runner for now.
We may also upgrade to a paid plan to use larger CI machines with more than 7 GiB ram.
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.
Oh. Looks like all tests consume too much RAM. It's great to separate native graphics tests.
We may also upgrade to a paid plan to use larger CI machines with more than 7 GiB ram.
Is it necessary? At least current CI time is accepted after nativeruntime building removed. We can trade time for space now.
.github/workflows/tests.yml
Outdated
@@ -64,8 +64,20 @@ jobs: | |||
--no-watch-fs \ | |||
-Drobolectric.enabledSdks=${{ matrix.api-versions }} \ | |||
-Drobolectric.alwaysIncludeVariantMarkersInTestName=true \ | |||
-Dorg.gradle.workers.max=2 \ | |||
-x :integration_tests:nativegraphics:test |
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.
Oh. Looks like all tests consume too much RAM. It's great to separate native graphics tests.
We may also upgrade to a paid plan to use larger CI machines with more than 7 GiB ram.
Is it necessary? At least current CI time is accepted after nativeruntime building removed. We can trade time for space now.
Cool. The RNG is awesome. Looks like this PR can be merged because CI passed. |
@utzcoz I'll merge it via copybara, needs to get a couple other approvals first. Yeah it does seem like Error 137 comes is triggered by the GitHub actions host machine when it kills the process due to exceeding memory thresholds: https://stackoverflow.com/questions/68844666/github-action-is-being-killed We have been occasionally seeing this error 137 in other places, not just RNG tests. Robolectric's test suite is very large and complex, it's pretty amazing it that it has been running in under 7 GiB of RAM for so long. I think the plan is to experiment with larger machines for a while, and if the cost is reasonable, we can go with the ones with 16 GiB ram. |
b5a52cd
to
f77bf44
Compare
f77bf44
to
b40b431
Compare
Import Robolectric Native Graphics tests
Create a new integration_test project, 'nativegraphics', to contain these tests.
The advantage of an integration test project is that it can use AGP and have
access to resources.