On Mar 25, 2016, at 11:20 PM, Philippe Ombredanne <[email protected]> wrote:
> 
> 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

Thanks for your prompt reply.

I have submitted it to Google just now.

Yes, I saw the qemu_multiarch_testing/ dir yesterday, and tried to run the 
script in this dir. I found a webpage 
(http://landley.net/aboriginal/documentation.html) by keyword “aboriginal 
linux”. As your advised in last mail, I wrote my proposal prior, so I have not 
read it yet. I am going to read it and figure out what is 
qemu_multiarch_testing/ dir used for tomorrow. (I am class tomorrow morning.)



Sincerely, 
Wei Yulan
Computer Science
College of Computer Science and Technology
Nanjing University of Aeronautics and Astronautics


------------------------------------------------------------------------------
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