Android kernel testing using Python in the cloud

This proposal has been rejected.


One Line Summary

how to use public cloud for kernel testing and how to build and share such infrastructure with kernel communities?


We have built an Android systems testing infrastructure and made it publically available. Our infrastructure can automatically execute two existing kernel test suites (i.e., LTP and linux-kselftest), and various other kernel tests written in host-side Python and other high-level languages (that are not C/C++). In this talk, we would like to discuss how to use public cloud (instead of using an Android emulator – known as goldfish – on a local QEMU) for Android Linux kernel testing.

Topics include:
- When and how to write kernel tests in Python? How Python kernel tests were perceived by junior and senior kernel developers?
- When to use a public platform-as-a-service (PaaS) cloud for kernel testing? What are the real benefits of using that for continuous integration of various forked branches? What exact benefits can be achieved (in terms of detection latency and reduced manual build and testing costs)?
- Developer tools to launch a cloud kernel instance using a locally built kernel image and run various tests. What are the key requirements for such tools?
- Kernel changes made to run on a public cloud. What are the implications of using a modified kernel in terms of test coverage?
- Possibility of using that infrastructure in various software development phases (e.g., can we run kernel tests at presubmit time)?
- Issues around build system and test serving infrastructure integration.


cloud, linux, testing, Python, tool, porting


  • 63637

    Keun Soo Yim

    Google, Inc.


    Keun Soo Yim leads an Android systems testing project at Google, Inc as a technical lead and engineering manager. He started his career as an embedded software developer in 1999 (using a 32-bit DSP and code mostly written in assembly code). He continued his kernel work at Samsung Research (in Korea) where he developed multiple real-time operating system (RTOS) kernels and tools for consumer electronic devices. Part of his such works (about flash memory management) was presented at Ottawa Linux Symposium (OLS) in 2008. He then obtained his Ph.D. degree in Computer Science from the University of Illinois at Urbana-Champaign (UIUC) based on his works on characterizing and detecting soft errors in CPU-GPU hybrid super computers. Currently, he is a member of the Android platform engineering department at Google, Inc and is actively developing and launching various software engineering services and tools for the Linux kernel communities and Android platform ecosystem. He believes that every one should be given the opportunities to not only build kernel, but also use open source tools to test and ship kernel.