Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # 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
# for free to subscribe to this conversation on GitHub. Already have an account? #.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Corellium domain layer
4 participants