make tests_abirules

Documentation, Web site and code modifications

Moderators: baguetl, routerov

Locked
User avatar
jzwanzig
Posts: 504
Joined: Mon Aug 17, 2009 9:25 am

make tests_abirules

Post by jzwanzig » Mon Feb 01, 2010 11:00 pm

Hi, I am trying to fix the problems that the test farm found with my code, including several unused variables etc caught by abirules. Locally though "make tests_abirules" fails completely (all tests fail, can't find input file chkvars.F90 etc). Am I running it incorrectly or is it configured only to work on the test farm at the moment?

thanks,
Joe
Josef W. Zwanziger
Professor, Department of Chemistry
Canada Research Chair in NMR Studies of Materials
Dalhousie University
Halifax, NS B3H 4J3 Canada
jzwanzig@gmail.com

User avatar
jbeuken
Posts: 365
Joined: Tue Aug 18, 2009 9:24 pm
Contact:

Re: make tests_abirules

Post by jbeuken » Tue Feb 02, 2010 7:39 pm

Hello Joe,

Sorry if it's evident but I don't known which attempts you have already made...

1) go to the top of the directory where you untarred/checkout the package , (named "abinit" for convenience)
2) create the file "make.log" with the command : make mj4 > make.log
3) go to the tests dir : cd tests
4) make tests_abirules

the python script ( ./tests/Scripts/warningschk.py ) uses 'abinit/make.log' and 'abinit/src/*/*.F90'

PS : you can ask for an access to the test farm

Regards

jmb
------
Jean-Michel Beuken
Computer Scientist

User avatar
jzwanzig
Posts: 504
Joined: Mon Aug 17, 2009 9:25 am

Re: make tests_abirules

Post by jzwanzig » Tue Feb 02, 2010 8:10 pm

OK, thanks, that's very helpful. I had assumed it would run from a tmp build directory, and didn't know it also needs a make.log file. Now I can get the test suite to run, although my branch registers a "fail" on test 5 "Nonstandard type declaration" but I can't find any information about where this is occurring in the code. I'll keep looking.

thanks
Joe
Josef W. Zwanziger
Professor, Department of Chemistry
Canada Research Chair in NMR Studies of Materials
Dalhousie University
Halifax, NS B3H 4J3 Canada
jzwanzig@gmail.com

gonze
Posts: 412
Joined: Fri Aug 14, 2009 8:29 pm

Re: make tests_abirules

Post by gonze » Tue Feb 02, 2010 9:14 pm

Dear Joe,

Also, you need to use the gfort compiler, and compilation options are needed to generate correctly the make.log file.
Please, see
doc/config/build-examples/bb_intel-gfortran4.4_inca_sdebug.ac
where you will find
with_fc_optflags="-pg -g -Wall -pedantic -march=native -funroll-loops -O3 -ffast-math -Wstrict-aliasing=2 -fgcse-lm -fgcse-sm -ffast-math -ftree-vectorize -ffree-line-length-none -fbounds-check"

Still, looking at the build in which the unused variables and args were noticed :
http://buildbot.abinit.org/builders/inc ... /builds/34
the file 10.6. extraout
http://buildbot.abinit.org/builders/inc ... s/extraout
and the file 8.2 make
should contain enough description of the problems to correct them ?! Or is there
some difficulties in these files that prevents to identify the problem ?

Best regards,
Xavier

**********************************************************************
Warning pattern : 'Unused variable'
**********************************************************************
smatrix_k_paw.F90 : var = bdotr [66_paw]
initberry.F90 : var = klmn [67_common]
**********************************************************************

**********************************************************************
Warning pattern : 'Unused dummy argument'
**********************************************************************
Lij.F90 : var = pawang [66_paw]
Lij.F90 : var = typat [66_paw]
qijb.F90 : var = typat [66_paw]
smatrix_k_paw.F90 : var = mpi_enreg [66_paw]
smatrix_k_paw.F90 : var = ntypat [66_paw]
berryphase_new.F90 : var = atindx1 [79_seqpar_mpi]
**********************************************************************

User avatar
jzwanzig
Posts: 504
Joined: Mon Aug 17, 2009 9:25 am

Re: make tests_abirules

Post by jzwanzig » Wed Feb 03, 2010 2:09 am

Hi, thanks for the further tips. I had found that data on the test farm web site and could use it to solve most problems (except for the atindx1 variable in berryphase_new, as that appears only in code that is run in a sequential build and not in a parallel build). The tips you and Jean-Michel provided are helpful in getting the tests to run also locally, though they still say that my code fails test 5 (locally) and I still can't figure out why. I'll keep looking.

thanks,
Joe
Josef W. Zwanziger
Professor, Department of Chemistry
Canada Research Chair in NMR Studies of Materials
Dalhousie University
Halifax, NS B3H 4J3 Canada
jzwanzig@gmail.com

mverstra
Posts: 655
Joined: Wed Aug 19, 2009 12:01 pm

Re: make tests_abirules

Post by mverstra » Wed Feb 03, 2010 9:01 am

Sounds obvious, but could I suggest that make abirules have a little check that the file make.log is present, and that the proper compiler is being used? This should be simple in the makefile. Ideally we could generalize to a few other sympathetic compilers like ifort, but this is more involved and not immediately needed (although I have noticed that the debug info is not identical between different compilers).

The buildbot files are usually amply enough to correct for abirules.

Cheers

Matthieu
Matthieu Verstraete
University of Liege, Belgium

Locked