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

Add Ability to Run Tests Using the Android Emulator #4

Open
iguessthislldo opened this issue Feb 26, 2019 · 4 comments
Open

Add Ability to Run Tests Using the Android Emulator #4

iguessthislldo opened this issue Feb 26, 2019 · 4 comments

Comments

@iguessthislldo
Copy link
Member

Improve testing of Android by confirming the ACE Tests can be run under at least some configurations.

@iguessthislldo
Copy link
Member Author

Decided to move this to projects

@iguessthislldo iguessthislldo changed the title Run ACE Tests under at Least Some Configurations Add Ability to Run Tests Using the Android Emulator Feb 26, 2019
@iguessthislldo
Copy link
Member Author

I changed my mind again since this is several related things that might benefit from an issue.

Right now we download the NDK and just build ACE, TAO, and OpenDDS.

We could the following:

  • Travis has Android features that we could take advantage of. We might not have to download the NDK manually. If that's not true then it help if we want to build an Android Studio project and for this issue, run programs in the Android Emulator.

  • It was decided that OpenDDS "requires" at least NDK r18, since that's when the gcc to clang transition was more or less completed, which simplifies configuring the build for us and end users. It's absolutely possible to build OpenDDS with older revisions of the NDK as we are doing here right now, but it would help build times a lot if we didn't build OpenDDS for these versions. So instead we will just build ACE, TAO, and the ACE Tests for NDK <r18.

  • The next milestone is running test programing using the Android Emulator that comes with the SDK. Towards this goals are a few considerations:

    • Maybe making x86 the focus instead of arm32 since the main obstacle is the Android system libraries, not the machine code we're compiling. If this is done we might be able to take advantage of virtualization when running the Emulator, but I don't know if that works if we're already in a VM on Travis...
    • Just running ACE Tests and the Messenger Test would test a lot of functionality, so that would be the goal for now.
    • It might be possible to do a real Android app build and run that.

@jwillemsen
Copy link
Member

The ACE test framework has support to run on Android so this should be possible. Maybe look at azure devops instead of travis-ci, with travis there is a limit of 60 minutes for a job, for azure it is 6 hours

@iguessthislldo
Copy link
Member Author

Once I make these changes, which won't be now unfortunately since my current Android work is wrapping up, and it pushes Travis over the limit, then I will look at Azure. I'd prefer to keep these builds short though so the feedback will be quicker for manual builds. That's the reason I'm pulling prebuilt host tools now.

As for the support in ACE test framework I will definitely look into that as well. There is a place where that is running right now? I remember seeing it was enabled at some point on our build on firefly but it was commented out by the time I upgraded it to use NDK r18 a few months ago.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants