Open atsushieno opened 4 years ago
It is partially achieved as aaphostsample androidTest. It's not really runnable without relevant plugins installed and therefore not ready for CI testing though.
There is androidaudioplugin-testing.aar for reusable simple instancing tests, and I applied it to couple of plugin projects.
It may be possible to use Firebase Testing for running such tests. That would be to collect multiple apks from different repositories first, and install them from a repo using some script that runs gcloud
tool.
More on testing multiple apks: Use Android Test Orchestrator https://developer.android.com/training/testing/instrumented-tests/androidx-test-libraries/runner#use-android
Orchestrator was not the right one; maybe espresso remote runner works. https://developer.android.com/training/testing/espresso/multiprocess
Now we have various combination of testable audio plugins (LV2-based plugins e.g. mda, and JUCE-based plugins e.g. andes and SARAH) as well as hosts (aaphostsample, JuceAAPAudioPluginHost), there should be some automated connection tests.
Although unlike normal Android apps it is not very straightforward, as we have to install more than just one app, and create a test matrix for all combinations. Also, those hosts need to become testable without UI (or we write UI testing).
To make it harder, there is still no way to automate JUCE-based projects on various CI servers (none successfully built them).
So far, here is what I usually test manually (not always everything):