Skip to content

Releases: Malinskiy/adam

0.3.0

30 May 01:30
c28a519
Compare
Choose a tag to compare

Breaking change:
Main package has been moved com.malinskiy:adam -> com.malinskiy.adam:adam because the project consists of 6 modules now:

  1. com.malinskiy.adam:adam main module
  2. com.malinskiy.adam:android-junit4 rules for Android tests that allow accessing adb + grpc/console during the test run
  3. com.malinskiy.adam:android-testrunner-contract is required for test runners to support the execution of android-junit4
  4. com.malinskiy.adam:server-stub core code of the adb server stub
  5. com.malinskiy.adam:server-stub-junit4 server stub wrapped in a JUnit 4 rule
  6. com.malinskiy.adam:server-stub-junit5 server stub wrapped in a JUnit 5 extension

Features:

  • Support test access to Android devices (adb + gRPC/console on emulator) via JUnit rules (#30)
  • adb server stub to facilitate testing of tooling built on adam (available as a raw server as well as JUnit4 and Junit5 add-ons) (#40)
  • InstrumentationResponseTransformer now returns buffer contents when test run fails

Fixes:

  • Fix FileEntry.exists() bug for stat v2 request
  • Fix EmulatorCommandRequest response parsing when .emulator_console_auth_token is empty

0.2.5

19 May 03:49
507d40b
Compare
Choose a tag to compare

Fixes:

  • Fixed a bug in vert.x socket read #37

0.2.4

11 May 13:59
7625b25
Compare
Choose a tag to compare

Features:

  • Faster IO for files and sockets

Fixes:

  • Fixed a bug in am instrument test result parsing

0.2.3

30 Jan 10:53
7e1b844
Compare
Choose a tag to compare

Fixes:

  • Support infinite requests by specifying timeout override (e.g. AsyncDeviceMonitorRequest)
  • Better exceptions during shell v1 exit code parsing

0.2.2

22 Jan 12:00
1e7f578
Compare
Choose a tag to compare

Fixes:

  • Fix USB transport packet size
  • yield() during long sync requests
  • async device monitor should process socket timeout during no updates

0.2.1

21 Jan 06:24
e59cd6a
Compare
Choose a tag to compare

Fixes:

  • Fix transport fragmentation issues with pushing files to USB-connected devices
  • Make sure to close the socket and associated resources

Improvements:

  • New socket abstraction to remove the hard dependency on ktor (still depends on buffer pools though)
  • Improve async requests termination: explicit signal to stop the request
  • Reuse buffer pools everywhere to reduce memory allocations
  • Reduce copy-pasted boilerplate code with Socket extensions

Testing:

  • Add emulator API 30 target
  • Switch to google play emulators
  • Improve performance of the integration tests
  • Add CoroutinesDebug rule to help investigate issues

0.2.0

12 Jan 04:28
40c5b4d
Compare
Choose a tag to compare

Features:

Bugfixes:

  • Android test runner response framing issue

Other:

  • Explicit target for Java 8
  • Upgrade to Kotlin 1.4
  • Tests, tests, tests

Package structure is reworked from sync/async to separation by functionality. This is a breaking change!

0.1.0

23 Dec 13:10
4eb79b5
Compare
Choose a tag to compare
  • Documentation with dokka API #8 #9
  • Fix unknown INSTRUMENTATION_CODE support #13
  • Multiple fixes for async requests #12
  • Support for screen capture buffer recycling
  • Memory and CPU optimizations for screen capture
  • Add socket timeout option and set default to 30s

Bugfix and new ListFilesRequest

01 Dec 14:16
7c12fc6
Compare
Choose a tag to compare
  • Fixed a bug with TestRunnerRequest overflowing the buffer for test output
  • New ListFilesRequest to traverse directories

framebuffer protocol #2 support

14 May 12:29
b92961e
Compare
Choose a tag to compare
PR process setup (#1)

* build(workflow): update action-android + upgrade deployment setup
* fix(workflow): build.prop is not available on emulator version 26. try other test file
* feat(framebuffer): handle protocol version 2
* fix(test): rewrite FileE2ETest pulling