Test-suite-simple

From The Yambo Project
Jump to navigation Jump to search

Intro for dummies

Download and configure (warning the last step will download ~1GB)

%git clone https://github.com/yambo-code/yambo-tests.git yambo-tests
%cd yambo-tests
%git clone git@github.com:yambo-code/yambo-testing-robots.git ROBOTS
%./configure --with-yambo=/home/marini/Yambo/yambo/master/
%./driver.pl -d all

Run the test suite and wait for it to finish (warning yambo, ypp, p2y, a2y, yambo_rt and ypp_rt need to be already compiled)

%./driver.pl -tests Si_bulk -keys rt

Check for available options

%./driver.pl -H

Add a new input inside a test

%cd TESTS/MAIN/Si_bulk/RT

create input file

%cp my_test.in INPUTS/XX_testname
%git add       INPUTS/XX_testname

and add output reference files

%cp *my_tests* REFERENCE
%git add       REFERENCE/*my_test*

After that if you go back to the main folder and run

%./driver.pl -tests Si_bulk -keys rt

the new test will be executed. If everything works fine you can commit:

%git commit

For a more extended description see Test-suite

Troubleshooting

  • If you link external libraries please be sure to copy ncdump and nccopy in the Yambo bin folder
  • do not forget to create the BRANCHES file in ROBOTS/hostname/usernames/BRANCHES with the folder and the name of your branch like

/home/attacc/SOFTWARE/yambo-bugfixes bugfixes

  • In order to make test-suite works properly you need to add ssh-key in GitHub and clone the code using SSH and not HTTPS
  • Be sure that the following packages are installed on your pc: ncftp, ncftpls, ncftput, wget, git, awk, txt2html, rsync
  • If you want to test a branch and then upload the result on the web, it is important to use -branch branch_name when you perform the test otherwise the script will put the results of all branches in the same report and the upload will not work properly
  • If you use a script in the crontab do not forget to add the path of all libraries in the script and to load the MKL variables.