On Fri, Mar 25, 2016 at 3:47 PM, Yulan Wei <[email protected]> wrote:
> GSoC 2016 Proposal
>
> STUDENT NAME: Wei Yulan
> TITLE: Multi-OS and Multiarch Continuous Tests Infrastructure
> DATE: 25th Mar 16
>
> ABSTRACT
>
> For continuous testing strace in multi-os and multiarch, I propose to setup 
> and configure an environment based on Travis CI or OpenSuse Build Service. We 
> can run tests on various architectures and Linux distributions automatically 
> on each commit and patch submission.
>
> SYNOPSIS
>
> The strace is a well-known diagnostic, debugging tool for Linux users, widely 
> used in various architectures with various Linux distributions. To ensure the 
> reliability of strace, it is necessary to run tests on different platforms to 
> make sure it will work under all circumstances.
>
> Here are two solutions that I proposed.
>
> The first solution is to setup and configure a testing infrastructure based 
> on Travis CI and qemu. Travis CI is a useful service that allows user to run 
> continuous testing on it. I will emulate the different architecture by qemu, 
> and make qemu images with testing environment for each linux distributions. 
> Moreover, running test with different compilers is obviously more feasiable 
> and easier to deploy than trying it under different architectures and linux 
> distributions. Also, docker can be used in this project because it can 
> provide convienence in deploying compilers in different testing environments.
>
> The second solution is OpenSuse Build Service. I noticed that the running 
> time of Travis CI is not unlimited. OpenSuse Build Service is more flexible 
> than Travis CI. OpenSuse Build Service provides a native multi-os and 
> multiarch building environment, although it seems not easy to configure.(I 
> had tried to run tests on OpenSuse Build Service, but it doesn’t work on some 
> arch like armv6l.) Compared to other tools, the advantages of OpenSuse Build 
> Service are when you submit your code, it will cross-compile your codes into 
> executable file under all the architectures they supported. In this 
> perspective, it will be convenient to use it to test strace on multi-os and 
> multiarch.
>
> In order to find out the better solution, I will keep investigating Travis CI 
> and OpenSuse Build Service by trying to build the continuous testing 
> environment on both devices. If possible, I will also consider to combine the 
> OpenSuse Build Service(it provides APIs) and Travis CI together, so that we 
> can take advantage of both of them. As we know, strace is a project which is 
> cooperated under git. Travis CI can detect the new commit, and run the tests 
> automatically through Github Service Hook, but OpenSuse Build Service needs 
> us to push the codebase manually every commits. We can submit codes to Travis 
> CI and it will package them and send it to OpenSuse Build Service, thus, we 
> can make use of advantages of both.
>
> Here are some links I referred.
>
>         • https://www.tomaz.me/2013/12/02/running-travis-ci-tests-on-arm.html
>         • https://hub.docker.com/r/multiarch/qemu-user-static/
>         • https://hub.docker.com/r/multiarch/crossbuild/
>         • https://build.opensuse.org/apidocs/
>         • https://build.opensuse.org/package/show/home:aheadlead/strace#
>
> RELEVANT SKILLS
>
> I am Wei Yulan, a junior from China, majored in Computer Science at Nanjing 
> University of Aeronautics and Astronautics.
>
> I have been a Linux user for 4 years, almost all the programming work I do is 
> under UNIX-like systems with vi (Java is an exception). I have been writing C 
> for 5 years since the high school. Also, I started to write Python after I 
> entered university. The other relevant skills include linux system 
> programming, shell programming and git.
>
> I had internship with Alibaba Inc last year, working in AliCloud Computing 
> relative database service group. I built a Java VM performance monitor system 
> for the internal distributed java cluster, aimed at discovering and tracking 
> high frequency garbage collection, based on JStorm(an internal implementation 
> of Storm), Grafana, InfluxDb, etc.
>
> I have built strace on my machine and understood how the test script works. I 
> also have read the mailing lists about my project from last year until now.
>
> I have some open source projects following on github for your reference.
>
>         • https://github.com/aheadlead/libcjstat (A header-only library for 
> get statictics from running Hotspot Java VM written in C)
>         • https://github.com/aheadlead/tinify-cli (A command-line client for 
> tinyjpg.com written in Python, no english version readme at the moment)
>
> I knew GSoC and decided to participate in GSoC a few days ago when I saw the 
> news. Honestly, I hardly had any time for preparation, and the plan for this 
> idea is rough. The strace is the only one project in GSoC organization lists 
> that I applied. I am very excited for this opportunity and I hope I can make 
> contribution to it. In addition, I have enough to work on this project over 
> the summer as I do not have any travel planned.

At this stage you should make your final submission to Google ASAP.
Thank you for the draft.
Have you checked out the qemu_multiarch_testing/ dir in the strace repo?

-- 
Cordially
Philippe Ombredanne

------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://pubads.g.doubleclick.net/gampad/clk?id=278785351&iu=/4140
_______________________________________________
Strace-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/strace-devel

Reply via email to