Page 1 of 1

make tests_abirules

Posted: Mon Feb 01, 2010 11:00 pm
by jzwanzig
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

Re: make tests_abirules

Posted: Tue Feb 02, 2010 7:39 pm
by jbeuken
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

Re: make tests_abirules

Posted: Tue Feb 02, 2010 8:10 pm
by jzwanzig
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

Re: make tests_abirules

Posted: Tue Feb 02, 2010 9:14 pm
by gonze
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]
**********************************************************************

Re: make tests_abirules

Posted: Wed Feb 03, 2010 2:09 am
by jzwanzig
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

Re: make tests_abirules

Posted: Wed Feb 03, 2010 9:01 am
by mverstra
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