Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This repeats the existing client smoke tests on the host, in addition to running them in an emulator. This closes #3. I moved some of the common setup code to a new library module, so I could reuse it via intra-project dependencies. I also had to provide a mock for
android.util.Base64
, since it's not available on the host. It was easy to polyfill usingjava.util.Base64
.Using the native library in host unit tests is enabled by adding a desktop target to the list of cross-compilation targets, and modifying the value of
java.library.path
when running the tests. Note that our JNI native library does not depend on any NDK methods, only common Linux libc functions for memory management orgetrandom
. Since I needed to sniff the host OS and architecture to pick the right build artifact, I also added a narrower task dependency from the unit tests to cargo, by only requiring the host target, and not any Android cross-compile targets.