User Tools

Site Tools


bb:misc

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Next revision
Previous revision
bb:misc [2018/01/29 15:29] – created Jean-Michel Beukenbb:misc [2024/04/20 10:28] (current) – [Triggering the execution of the automatic tests] Jean-Michel Beuken
Line 7: Line 7:
  
 There are two ways to trigger the tests on the test farm: There are two ways to trigger the tests on the test farm:
-  *     a merge request of your branch to trunk/develop will trigger nightly (the bunch starts around 10:30pm European time) the launch of automatic tests on all the "nightly" slaves ;+  *     a merge request of your branch to trunk/develop will trigger nightly (the bunch starts around 10:30pm European time) the launch of automatic tests on all the "nightly" workers ;
   *     a general "on-demand" Web page on bbportal. You can contact Xavier if you think you are sufficiently expert to use it, provided (of course) you need it for your development.   *     a general "on-demand" Web page on bbportal. You can contact Xavier if you think you are sufficiently expert to use it, provided (of course) you need it for your development.
  
-You will receive by mail the results of the execution of the tests, concerning each nightly slave, one for each slave. Congratulation if you compilation succeeded, all the tests succeeded, etc ! +You will receive by mail the results of the execution of the tests, concerning each nightly worker, one for each worker. Congratulation if your compilation succeeded, all the tests succeeded, etc ! 
  
 ===== How to handle failures ? ===== ===== How to handle failures ? =====
Line 24: Line 24:
 The links "12.1 stdio" and "12.3 testsbot" are not very often used in the debugging process by standard users, but more by the maintainers. The links "12.1 stdio" and "12.3 testsbot" are not very often used in the debugging process by standard users, but more by the maintainers.
  
-<pre>12.1 stdio     = the stdout of buildbot (Usually NOT useful for debugging)+<code>12.1 stdio     = the stdout of buildbot (Usually NOT useful for debugging)
 12.2 xreport   = detailed output of execution 12.2 xreport   = detailed output of execution
 12.3 testbot   = output of the configuration use to drive // tests (Usually NOT useful for debugging) 12.3 testbot   = output of the configuration use to drive // tests (Usually NOT useful for debugging)
 12.4 summary   = a short table, summarizing the status (succeeded, passed, failed) of the tests, per directory 12.4 summary   = a short table, summarizing the status (succeeded, passed, failed) of the tests, per directory
 12.5 All Results = all results grouped by number of "cpu" (np= 1,2,4,10,...). 12.5 All Results = all results grouped by number of "cpu" (np= 1,2,4,10,...).
-</pre>+</code>
  
-In order to correct the test in the "20. abirules" or "21. buildsys" series executed with abiref_gnu_5.3_debug, the "diff" hyperlink will likely be the most useful for you to correct your source code. Perhaps you will need also to complete the information from  "20.4 log" by a look to the "19.2 make" hyperlink. Do not hesitate to contact Xavier Gonze to find some reasonably elegant way to get rid of the "unused variable" or "unused arguments" problems in delicate cases.+In order to correct the test in the "22. abirules" or "23. buildsys" series executed with abiref_gnu_5.3_debug, the "diff" hyperlink will likely be the most useful for you to correct your source code. Perhaps you will need also to complete the information from  "22.4 log" by a look to the "20.2 make" hyperlink. Do not hesitate to contact Xavier Gonze to find some reasonably elegant way to get rid of the "unused variable" or "unused arguments" problems in delicate cases.
  
  
-=====  Accessing directly some slave. =====+=====  Accessing directly some worker. =====
  
-If you have git branches, you are entitled to have interactive access to each of the slaves. Moreover, you can login as "buildbot" user, and place yourself as if you were the one who just made the run reported in the mail that you received. Hence, you are directly placed in an environment ready to debug.+If you have git branches, you are entitled to have interactive access to each of the workers. Moreover, you can login as "buildbot" user, and place yourself as if you were the one who just made the run reported in the mail that you received. Hence, you are directly placed in an environment ready to debug.
    
  
-    Login  on testf slave (well, the first time, contact Jean-Michel Beuken, to allow your machine to connect to the private network). +  -  Login on a gateway (well, the first time, contact Jean-Michel Beuken, to allow your machine to connect to the private network - the following instruction assumes your public key is ~/.ssh/id_rsa_abinit : \\ create a new section in ~/.ssh/config \\ <code>Host abifarm 
-    ssh testf.pcpm.ucl.ac.be +   Hostname hall.abinit.org 
-    [At that stage, you can already work on testf : you might simply download, compile, etc ABINIT in your home dir]+   Port XXXX 
-    In addition you can take the hand over buildbot as follows. +   User USERNAME 
-    Execute : +   IdentityFile ~/.ssh/id_rsa_abinit</code> and use \\ <code>ssh abifarm</code> 
-    sudo su - buildbot +   To take the hand over buildbot, execute :\\ **sudo su - buildbot** \\   
-    This will place you in the buildbot directory of testf. If you need to access other machines of the testfarm, use the supplementary step ssh <name_of_the_machine>where <name_of_the_machine> might be testf, ubu, coba2, etc. e.g. +  - Now, you need to access other machines of the testfarm, use the supplementary step\\ **ssh <name_of_the_machine>** \\ where <name_of_the_machine> might be alps, ubu, scope, etc. e.g. **ssh alps**\\ The first part of the name of the bot is the name_of_the_machine. 
-    ssh abiref +   **cd ABINIT** 
-    The first part of the name of the bot is the name_of_the_machine. +   **cd**    to the directory for the particular builder that you want to debug (the machine might support more than one builder) ( ex: cd alps_gnu_9.3_openmpi 
-    cd ABINIT_GIT +   **cd**    to the directory for the particular branch that you want to debug (the one bearing your name)  ( ex : cd trunk_develop 
-    cd    to the directory for the particular slave that you want to debug (the machine might support more than one slave) ( ex: cd abiref_gnu_4.7_openmpi +  -  Use the command "module load NAME_OF_BUILDER" to select the compiler that you want to use (type "module avail" to see the list of options). \\ Try to solve your problem ... ! You can modify the files, recompile, etc ... 
-    cd    to the directory for the particular branch that you want to debug (the one bearing your name)  ( ex : cd trunk/develop +   The worker can handle usual git commands. So you might make modifications, commit and push to your branch. Note however that by defaultbuildbot is in a "detached HEAD" state. You can check this by issuing **git branch -a**. You need to checkout your branch, with the command **git checkout <name_of_your_branch>**. 
-    Use the command "module load NAME_OF_BUILDER" to select the compiler that you want to use (type "module avail" to see the list of options). +  - Of course, after commit and push, it is also advised to test your modifications on your own machine, before using again the test farm, although this is no mandatory.
-    Try to solve your problem ... ! You can modify the files, recompile, etc ... +
-    Port your modifications (debugging) to your own branch on your own machine (this must be done on your machinenot on the slave, the latter is not intended to support the commits to your own branch)Also, it is advised to test your modifications on your own machine, before using again the test farm.+
  
bb/misc.1517236162.txt.gz · Last modified: 2018/01/29 15:29 by Jean-Michel Beuken