Skip to content
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

feat: Domain layer implementation for android test run Corellium MVP #1897

Merged
merged 2 commits into from
May 19, 2021

Conversation

jan-goral
Copy link
Contributor

@jan-goral jan-goral commented May 5, 2021

Fixes #1802

This PR adds a domain logic for RunTestCorelliumAndroid.

List of features:

  • Parsing test cases & other info from apk.
  • Creating and/or invoking android instances on demand.
  • Advanced sharding.
    • Many apps and tests in one shard.
    • Tests from one app in many shards.
  • Dumping shards to file.
  • Executing tests
  • Generating JUnitReport.xml

What is currently not supported:

  • Smart sharding (using test case durations from previous runs).
  • Flaky tests.
  • Cleaning up devices after tests.
  • Some other not listed stuff.

Module README.md

Test Plan

How do we know the code works?

Unit tests pass.
$ flank corellium test android run -c="flank-corellium-android.yml" is invoking a fully integrated feature.

Checklist

  • Documented
  • Unit tested

@github-actions
Copy link
Contributor

github-actions bot commented May 5, 2021

CLA Assistant Lite bot All contributors have signed the CLA ✍️ ✅

@jan-goral jan-goral force-pushed the corellium-domain branch from 937ea43 to 405da99 Compare May 5, 2021 11:00
mergify bot pushed a commit that referenced this pull request May 8, 2021
Related to #1802

This is a bunch of several minor changes cherry-picked from #1897 for splitting code review into smaller parts.

* Normalize output lines from Corellium console + unit test
* Convert API interfaces to functional
    * Update adapters implementation to use SAM conversion
* Rename API scope TestApk to Apk and expand the interface to meet domain requirements
* Fix log parser issues
* Add doc for sharding structures
* Add `am instrument` status codes constants

Merging this one will make the #1897 thinner.
@piotradamczyk5 piotradamczyk5 self-requested a review May 10, 2021 07:34
@jan-goral jan-goral force-pushed the corellium-domain branch 2 times, most recently from 7285ae3 to 36f3e18 Compare May 12, 2021 15:30
@github-actions
Copy link
Contributor

github-actions bot commented May 14, 2021

Timestamp: 2021-05-19 15:49:07
Buildscan url for ubuntu-workflow run 857421025
https://gradle.com/s/jzoxugygpn5tc

@jan-goral jan-goral force-pushed the corellium-domain branch 2 times, most recently from 47cbd31 to 76adaf7 Compare May 14, 2021 13:24
mergify bot pushed a commit that referenced this pull request May 14, 2021
Related to #1802 

This is a bunch of several minor changes cherry-picked from #1897 for splitting code review into smaller parts.

* Add missing `build.gradle.kts` for `:corellium:junit` module
* Fix some names
* Organize imports
* Add details parsing to `am instrument log` parser
* Fix method signatures

## Test Plan
> How do we know the code works?

Unit tests pass.
@jan-goral jan-goral force-pushed the corellium-domain branch 2 times, most recently from ed938d1 to 08599d7 Compare May 18, 2021 10:08
mergify bot pushed a commit that referenced this pull request May 18, 2021
Related to #1802 

This is a bunch of several minor changes cherry-picked from #1897 for splitting code review into smaller parts.

* Fix some names
* Add tests for RunTestAndroidCorellium

## Test Plan
> How do we know the code works?

Unit tests pass.
@jan-goral jan-goral force-pushed the corellium-domain branch 3 times, most recently from 29e2e56 to 4cfbfcb Compare May 18, 2021 16:15
@jan-goral jan-goral marked this pull request as ready for review May 19, 2021 11:54
@jan-goral jan-goral dismissed piotradamczyk5’s stale review May 19, 2021 11:55

The problem was removed

@jan-goral jan-goral changed the title Corellium domain feat: Add domain layer implementation for corellium android test run MVP May 19, 2021
@jan-goral jan-goral changed the title feat: Add domain layer implementation for corellium android test run MVP feat: Domain layer implementation for android test run Corellium MVP May 19, 2021
@mergify mergify bot merged commit 597d4ce into master May 19, 2021
@mergify mergify bot deleted the corellium-domain branch May 19, 2021 15:58
@github-actions github-actions bot locked and limited conversation to collaborators May 19, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Corellium domain layer
4 participants