Changes

Jump to: navigation, search

Add to Try Server Automated Testing Support

13,164 bytes added, 19:34, 16 April 2008
Added tasks
We are trying to add to a Try Server, that will be set up at Seneca, automated testing support (TUnit (make check), mochitest, reftests, crashtest)
* My blog's label explaining my updates is this: [http://armenzg.blogspot.com/search/label/buildbot%20automated%20testing%20integration (armenzg)Buildbot automated testing integration]* <strike>My code so far is in this repository: [http://svn2.assembla.com/svn/Seneca_Hera_Try_Server_Setup/automated-testing/ svn:Seneca Hera Try Server - automated-testing integration]</strike> I will make available of the code in Hera which will have the EC2 integration and the automated testing integration
== People ==
* Armen Zambrano G. (armenzg) #seneca channel
* People from Mozilla helping me: Rob Campbell, Robert Helmer, Ben Hearsum, Robert Sayre, Mike Shaver, Adam Delyea and Dave Humphrey
== News ==
* 16-Apr-2008
** Updated wiki page
** Reftests was not running properly (it timed out - [http://hera.senecac.on.ca:8010/builders/lin-test/builds/42/steps/reftest/logs/stdio stdio] - exit code -1 after 1200secs)
** Changed DISPLAY to :2 and [http://hera.senecac.on.ca:8010/builders/lin-test/builds/45 build 45] shows that we got '''GREEN''' with reftest
** I have to add cronjob to run '''perl processchange.pl''' every 2 mins
** There are 2 linux slaves on vmlinux1.hera
** To upload a patch you must use an LDAP account (I have to investigate this)
* 15-Apr-2008
** '''The try server with unit tests runs properly'''
** Forked on tryserver account, sendchange.cgi and sendchange-ui.pm
** Forked on buildmaster account, processchanges.pl and download.log
** All of the previous files have been copied with suffix '''_test'''
** Created on tryserver and buildmaster the folder '''"patches_test"'''
* 12-Apr-2008
** We can now run the Unit Tests on '''vmlinux1.hera''' which is a virtual machine using the [http://wiki.mozilla.org/ReferencePlatforms/BuildBot#Steps_already_completed_on_the_CentOS_5_Image CentOS 5 image]
** We needed a DISPLAY to display in the unit tests, I set on the steps the value DISPLAY=:0
** We needed to start an X server; I found the way to do it was '''startx'''(maybe xstart, not sure), which started the desktop environment. Used '''ps -ef | grep X''' to find out.
** There is '''X :0''' (started by root), '''Xvnc :1''' and '''Xvnc :2'''
* 21-Mar-2008
** Access to the [http://hera.senecac.on.ca:8010 waterfall view of Hera's buildbot] and force a build by selecting [http://hera.senecac.on.ca:8010/builders/lin-test lin-test] link that shows you the builder's status
** When forcing a build I do not get immediate builds
** The tests are not running properly ('''Error: no display specified''')
** I do not know why do I see the code been build with '''gmake'''
** Links to see some of the forced builds I did: [http://hera.senecac.on.ca:8010/builders/lin-test/builds/13 #13] [http://hera.senecac.on.ca:8010/builders/lin-test/builds/14 #14] [http://hera.senecac.on.ca:8010/builders/lin-test/builds/15 #15] [http://hera.senecac.on.ca:8010/builders/lin-test/builds/16 #16] [http://hera.senecac.on.ca:8010/builders/lin-test/builds/17 #17]
* 18-Mar-2008
** Granted access to the Hera server
* 16-Feb-2008
** There will be no release this week, since I have been working on the [[Buildbot and Cairo]] project
** It seems that Adam has been setting up the first node and the slaves during this week. I will probably have an account '''next week'''.
* 1-Feb-2008
** Since I could not wait for the Seneca Hera Try Server to be ready, I decided to set up buildbot on my laptop and so far is working
== News ==* 29-Jan-2008** SERVER NEWS: The main OS (CentOS 5.1 and Windows 2003 Server) are installed. Once they are configured we will duplicate them to the rest of the nodes.** Soon the server will be completely running and we will have access to it** I have added a repository [http://svn2.assembla.com/svn/Seneca_Hera_Try_Server_Setup/automated-testing/ svn:Seneca Hera Try Server - automated-testing integration] an I am modifying the master.cfg file to meet the purposes; It is based on [http://lxr.mozilla.org/mozilla/source/tools/buildbot-configs/testing/unittest/ buildbot-configs/testing/unittest/]** I might set up this Saturday my own try server at home[[Image:Browsing mozbuild(py).jpeg|thumb|mozbuild.py and the test suites classes defined]]* 18-Jan-20072008
** We are waiting for the Buildbot Farm to be set up at Seneca
** At this point I have been able to run "make check" tests and mochitests. Explained in blog how to do this
** Read Buildbot manual, discovered that I have to write some Build Steps but there's some configuration done by the community (check links section)
== Releases ==
'''NOTE: I did not work on this project for a month but instead I worked on the Cairo project'''
<blockquote>
=== Release Apr. 9th ===
* You can upload a patch through [http://hera.senecac.on.ca/tryserver/cgi-bin/sendchange_test.cgi sendchange_test.cgi]. You can also upload another .mozconfig, which overwrites default .mozconfig. Please specify the proper patch level (we suggest to create diffs from mozilla/ and select 0 as the patch level)
* Wait for a couple of minutes and refresh [http://hera.senecac.on.ca:8010/] until you see your build running
* I would like to show the steps to make everything happen in your machines but I have not setup this server. Assuming we were in the same environment/setup:
<blockquote>
==== Steps ====
How to setup a tryserver ([http://wiki.mozilla.org/Build:TryServer:Installing])<br />
'''Setting up the buildmaster'''
# cvs -d:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -d tryserver mozilla/tools/buildbot-configs/tryserver
# cd tryserver
(This brings '''env.py''', '''tryserver/steps.py''' and '''unittest/steps.py''' with others)
# cvs -d:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -d buildbotcustom mozilla/tools/buildbotcustom
# cvs -d:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -d processor mozilla/webtools/buildbot-try/processchanges.pl
# mv processor/processchanges.pl .
# rm -rf processor
# TBA - IN HERE TO BE ADDED STEP TO CHECK OUT MASTER.CFG
</blockquote>== Links = Release Apr. 5th ==={|* Nothing to release, I have only been able to run build with tests (with warnings) in my designated BRANCH of slaves|-* The form to upload a test to the tests branch has been created|class="header"|heading 1|class="header"|heading 2= Release Mar.21st ===|* Blog post about setting the automated tests on Hera -| Buildbot configuration (1) for Unit Testing (check master.cfg file)| [http://lxrarmenzg.mozillablogspot.orgcom/mozilla2008/source03/tools/buildbotarmenzg-sess16-automated-configs/testing/unittest/|-on.html armenzg: Sess16 - Automated testing on Hera]| Buildbot configuration (2) for a Tryserver (check * The files that have been modified in Hera are: master.cfg file(to add the steps to do the tests)| http://lxr, mozbuild.mozilla.org/mozilla/source/tools/buildbotpy(contains classes that group few steps into one and does more intelligent steps), mozconfig-configs/tryserver/|linux-|||tests(which contains the .mozconfig for the lin-test builder) and env.py (which contains MozEnvironments['centos'] environment variables)||* Read about some errors encountered in the NEWS section in this page
|=== 0.5 release ===This release was meant to just allow buildbot to run tests steps after a build. In Hera should do the same and also allow the "try-server" way.==== Steps ====NOTE: I assume you can build mozilla firefox. This steps are to build on Linux (my flavour is Ubuntu7.1) # sudo apt-get install buildbot # buildbot --version| Building Mozilla with Buildbotversion: 0.7.5 Twisted version: 2.5.0 # buildbot create-master ~/BuildbotMaster| # buildbot create-slave ~/Buildslaves localhost:9989 slave1 slavepassword1 # Untar this [http://zenitmatrix.senecac.on.ca/wiki~azambran/mozilla/buildbot-config/indexBuildbotMasterArmen0.5.tar.gz BuildbotMasterArmen0.5.phptar.gz file] in your ~/BuildbotMaster directory # buildbot start ~/BuildbotMaster # buildbot start ~/Buildslaves/ # open your web browser and open this URL http:/Building_Mozilla_with_Buildbot/localhost:8010, you should see the results|NOTE 2: There is more explanation in these two posts ([http://armenzg.blogspot.com/2008/02/armenzg-sess10-buildbot-initial-set-up.html Sess10] and [http://armenzg.blogspot.com/2008/02/armenzg-sess11-how-to-set-up-buildbot.html Sess11]|}NOTE 3: The only way for me to assure that these steps works for everyone, I would have to try it from a clean install of Ubuntu
</blockquote>
=== Info ===
* You can see which tasks get done at the bottom of this page
* <strike>I will add the instructions on how to set up a Buildbot try server when I do it at my house</strike>
* The image on the side shows the classes that are defined in the [http://svn2.assembla.com/svn/Seneca_Hera_Try_Server_Setup/automated-testing/mozbuild.py mozbuild.py] which are later on used as Buildsteps on the [http://svn2.assembla.com/svn/Seneca_Hera_Try_Server_Setup/automated-testing/master.cfg master.cfg] file
== Tasks ==
<table style="width: 100%;" class="standard-table" cellborder=1 border=1 cellpadding=3 cellspacing=0>
<th style="width: 15%;">Task</th>
<th style="width: 3542%>Details</th>
<th style="width: 5%;">Priority</th>
<th style="width: 5%;">Contributors</th> <th style="width: 10%;">Status</th> <th style="width: 58%;">Target</th> <th style="width: 5%;">Completed</th> <th style="width: 2025%;">Link(s)</th>
<tr>
<td>Learn how to run Tunits (make check or xpcshell-base tests) and explained them</td>
<td style="background-color: Orange; text-align: center; font-weight: bold; font-size: bigger">Med</td>
<td style="background-color: WhiteGreen; text-align: center;">armenzg</td> <td style="backgroundfont-colorweight: Green; text-align: centerbold;">DoneDONE</td> <td style="background-color: YellowGreen; text-align: center; font-weight: bold;">0.4 rel. week</td> <td>01/13/08</td>
<td>[http://armenzg.blogspot.com/2008/01/sess5-xpcshell-based-unit-tests-tunits.html (armenzg's post) Xpcshell based uni tests]</td>
</tr>
<td>Learn how to run mochitests and explain them</td>
<td style="background-color: Orange; text-align: center; font-weight: bold; font-size: bigger">Med</td>
<td style="background-color: WhiteGreen; text-align: center; font-weight: bold;">armenzgDONE</td> <td style="background-color: GreenYellowGreen; text-align: center; font-weight: bold;">Done</td> <td>0.4 release week</td> <td>&nbsp;rel.</td>
<td>No post yet but have run them</td>
</tr>
<td>Buildbot Manual</td>
<td>Learn basics of Buildbot that apply to this project</td>
<td style="background-color: WhiteOrange; text-align: center;">Med</td> <td style="backgroundfont-colorweight: Whitebold; textfont-alignsize: center;bigger">armenzgMed</td> <td style="background-color: Green; text-align: center; font-weight: bold;">DoneDONE</td> <td style="background-color: YellowGreen; text-align: center; font-weight: bold;">01/18/08</td> <td>&nbsp;0.4 rel.</td>
<td>No post - [http://buildbot.sourceforge.net/manual-0.7.5.html Buildbot Manual]</td>
</tr>
<td>Analize Master.cfg file</td>
<td>Try to see what is already written about Buildsteps relating Unit Testing</td>
<td style="background-color: WhiteOrange; text-align: center;font-weight: bold; font-size: bigger">Med</td> <td style="background-color: WhiteGreen; text-align: center; font-weight: bold;">armenzgOngoing</td> <td>&nbspstyle="background-color: YellowGreen; text-align: center; font-weight: bold;</td> <td">&nbsp;<N/td> <td>OngoingA</td>
<td>No post - [http://lxr.mozilla.org/mozilla/source/tools/buildbot-configs/testing/unittest/ buildbot-configs/testing/unittest/]</td>
</tr>
<tr>
<td>Set up Buildbot</td><!-- TASK --> <td>Be able to build firefox and run unit tests</td><!-- DETAILS --> <td style="background-color: Red; text-align: center; font-weight: bold; font-size: bigger">High</td><!-- Priority--> <td style="background-color: Green; text-align: center; font-weight: bold;">Done</td><!-- Status--> <td style="background-color: YellowGreen; text-align: center; font-weight: bold;">0.5 rel.</td><!-- For which release--> <td>[http://armenzg.blogspot.com/2008/02/armenzg-sess10-buildbot-initial-set-up.html Sess10] & [http://armenzg.blogspot.com/2008/02/armenzg-sess11-how-to-set-up-buildbot.html Sess11]</td><!-- Link to blog post--> </tr> <tr> <td><strike>Set up "try server"</strike></td><!-- TASK --> <td><strike>Learn how to set up my buildbot as a "try server"</strike></td><!-- DETAILS --> <td style="background-color: Orange; text-align: center; font-weight: bold; font-size: bigger">&nbsp;</td><!-- Link Priority--> <td style="background-color: White; text-align: center; font-weight: bold;">TBA</td><!-- Status--> <td style="background-color: YellowGreen; text-align: center; font-weight: bold;">?? rel.</td><!-- For which release--> <td>&nbsp;</td><!-- Link to blog post--> </tr> <tr><!-- TASK --> <td>Add steps to master.cfg</td><!-- DETAILS --> <td>Add the steps for linux required to run tests after a build</td><!-- Priority--> <td style="background-color: Orange; text-align: center; font-weight: bold; font-size: bigger">High</td><!-- Status--> <td style="background-color: Green; text-align: center; font-weight: bold;">Done</td><!-- For when--> <td style="background-color: YellowGreen; text-align: center; font-weight: bold;">Mar.21st</td><!-- Links--> <td>[http://armenzg.blogspot.com/2008/03/armenzg-sess16-automated-testing-on.html (armenzg's post) Automated testing on Hera]</td> </tr> <tr><!-- TASK --> <td>Add steps for Mac and Windows</td><!-- DETAILS --> <td>Wait until the mac and windows slaves are up and running</td><!-- Priority--> <td style="background-color: Orange; text-align: center; font-weight: bold; font-size: bigger">Med</td><!-- Status--> <td style="background-color: White; text-align: center; font-weight: bold;">Waiting</td><!-- For when--> <td style="background-color: YellowGreen; text-align: center; font-weight: bold;">???</td><!-- Links--> <td>&nbsp;</td> </tr> <tr><!-- TASK --> <td>Add "try server" steps</td><!-- DETAILS --> <td>We need to be able to "TRY" a patch and run tests in all platforms</td><!-- Priority--> <td style="background-color: Orange; text-align: center; font-weight: bold; font-size: bigger">HIGH</td><!-- Status--> <td style="background-color: Green; text-align: center; font-weight: bold;">DONE</td><!-- For when--> <td style="background-color: YellowGreen; text-align: center; font-weight: bold;">Apr.4</td><!-- Links--> <td>&nbsp;</td> </tr> <tr><!-- TASK --> <td>Enable windows slave</td><!-- DETAILS --> <td>&nbsp;</td><!-- Priority--> <td style="background-color: Orange; text-align: center; font-weight: bold; font-size: bigger">HIGH</td><!-- Status--> <td style="background-color: White; text-align: center; font-weight: bold;">&nbsp;</td> <!-- For when--> <td style="background-color: YellowGreen; text-align: center; font-weight: bold;">Apr 17</td><!-- Links--> <td>&nbsp;</td> </tr> <tr><!-- TASK --> <td>Enable mac slave</td><!-- DETAILS --> <td>&nbsp;</td><!-- Priority--> <td style="background-color: Orange; text-align: center; font-weight: bold; font-size: bigger">HIGH</td><!-- Status--> <td style="background-color: White; text-align: center; font-weight: bold;">&nbsp;</td><!-- For when--> <td style="background-color: YellowGreen; text-align: center; font-weight: bold;">Apr 17</td><!-- Links--> <td>&nbsp;</td> </tr> <tr><!-- TASK --> <td>Sendchange form</td><!-- DETAILS --> <td>Customize the sendchange-ui_test.pm file - '''It could do both things'''</td><!-- Priority--> <td style="background-color: Orange; text-align: center; font-weight: bold; font-size: bigger">Low</td><!-- Status--> <td style="background-color: White; text-align: center; font-weight: bold;">&nbsp;</td><!-- Link For when--> <td style="background-color: YellowGreen; text-align: center; font-weight: bold;">TBA</td><!-- Links--> <td>&nbsp;</td> </tr> <tr><!-- TASK --> <td>Make builds available</td><!-- DETAILS --> <td>&nbsp;</td><!-- Priority--> <td style="background-color: Orange; text-align: center; font-weight: bold; font-size: bigger">Med</td> <!-- Status--> <td style="background-color: White; text-align: center; font-weight: bold;">&nbsp;</td><!-- For when--> <td style="background-color: YellowGreen; text-align: center; font-weight: bold;">armenzgApr 18</td><!-- Links--> <td>&nbsp;</td> </tr> <tr><!-- TASK --> <td>Cron jobs</td><!-- DETAILS --> <td>processchanges_test.pl and delete packaged builds</td><!-- Link Priority--> <td style="background-color: Orange; text-align: center; font-weight: bold; font-size: bigger">HIGH</td> <!-- Status--> <td style="background-color: White; text-align: center; font-weight: bold;">&nbsp;</td><!-- Link For when--> <td style="background-color: YellowGreen; text-align: center; font-weight: bold;">Apr 16</td> <!-- Links--> <td>&nbsp;</td> </tr> <tr><!-- TASK --> <td>&nbsp;</td><!-- Link DETAILS --> <td>&nbsp;</td> <!-- Priority--> <tdstyle="background-color: Orange; text-align: center; font-weight: bold; font-size: bigger">&nbsp;</td><!-- Link Status--> <td style="background-color: White; text-align: center; font-weight: bold;">&nbsp;</td> <!-- For when--> <tdstyle="background-color: YellowGreen; text-align: center; font-weight: bold;">&nbsp;</td><!-- Link Links--> <td>&nbsp;</td>
</tr>
<table>
 
== Links ==
{| border="1"
|-
|class="header"|Description
|class="header"|Link
|-
| Seneca Hera Try Server
| http://hera.senecac.on.ca:8010/
|-
| Buildbot configuration (1) for Unit Testing (check master.cfg file)
| http://lxr.mozilla.org/mozilla/source/tools/buildbot-configs/testing/unittest/
|-
| Buildbot configuration (2) for a Tryserver (check master.cfg file)
| http://lxr.mozilla.org/mozilla/source/tools/buildbot-configs/tryserver/
|-
|
|
|-
|
|
 
|-
| Building Mozilla with Buildbot
| http://zenit.senecac.on.ca/wiki/index.php/Building_Mozilla_with_Buildbot
|-
|}
1
edit

Navigation menu