User Tools

Site Tools


beauty:2014:code_coverage

Code Coverage

The result of the code coverage analysis of v7.11.1 is presented in http://coverage.abinit.org/trunk_7.11.1-private . You can browse this page and the associated links to more detailed information. This analysis does not include the results of parallel tests, unfortunately.

On a total of 3625 “functions” (=Fortran subroutines and functions), 2565 are tested, that is a relative coverage of 70.8% of the total. This is already a lot, but many functions are not yet covered.

The goal of this beautification task is to increase the relative coverage.

The increase of relative coverage can be obtained by either writing new automatic tests, or by suppressing functions of ABINIT that are useless. The goal is definitely NOT to reach 100%, as in any case, as mentioned above, the parallel tests are not included at present in the coverage analysis… and also, the task would be huge, with more than 1000 functions to be tested or removed …

Actually, many of the functions still to be tested are part of different “quasi-library”, for which focused unitary test batteries should be written. This might be the target of another beautification operation. The present one will on the contrary focus on the testing using the normal automatic tests procedure.

A list of 30 functions not covered at present is provided at the end of this page. It is suggested to the developers to volunteer to test one or several functions among this list. If however, you would like to provide a test of a function not in the list, please, simply add the name of the function, then your name …

In practice …

  1. The new tests have to be introduced in tests/v7 .
  2. The numbering scheme for each newly created test will be determined by a digit of your choice (between 1 and 9), followed by the two-digit identifier in the list of people. In case you need several tests chained together, contact Xavier (indeed, the numbering scheme might be inadequate for this purpose).

As an example, if Yannick Gillet (identifier = “09”) decides to create tests, he can use the numbers 109, 209, 309, 409, … 909 .

List of >30 functions not covered by a test

Here comes a (somehow arbitrary) list of >30 functions not covered by a test, suggested for examination by some volunteer ! After volunteering, either write a test, or suppress the subroutine (and the calls to this routine). If you have your own preferred routine, do not hesitate to add it at the end of the list, and sign up for that routine … !

Directory/file Name of subroutine(function) Name of volunteer Number of the new test / Decision to suppress / Other comment
95_drive/screening.F90 write_deltaI Yannick Deleted
83_cut3d/recip.F90 recip Xavier DONE
83_cut3d/volumeint.F90 volumeint Xavier Added to Tv2#79
77_ddb/complete_gkk.F90 complete_gkk MVer : v6#95-96
77_ddb/d2c_weights.F90 d2c_weights MVer : v6#95-96
77_ddb/d2c_wtq.F90 d2c_wtq MVer : v6#95-96
77_ddb/eliashberg_ld.F90 eli_app_m_1d MVer : v6#95-96
77_ddb/eliashberg_ld.F90 eli_m_iter_1d MVer : v6#95-96
77_ddb/ep_el_weights.F90 ep_el_weights MVer : v6#95-96
77_ddb/get_nv_fs_en.F90 get_nv_fs_en MVer : v6#95-96
77_ddb/get_nv_fs_temp.F90 get_nv_fs_temp MVer : v6#95-96
77_ddb/integrate_gamma_tr.F90 integrate_gamma_tr MVer : v6#95-96
77_ddb/mka1f_tr.F90 mka1f_tr MVer : v6#95-96
77_ddb/nmsq_gam_sumfs.F90 nmsq_gam_sumfs MVer : v6#95-96
77_ddb/printvtk.F90 printvtk MVer : v6#95-96
72_response/m_ddb.F90 ddb_make_asrq0corr Matteo
72_response/m_ddb.F90 asrq0corr_free Matteo
71_bse/m_haydock.F90 haydock_psherm Yannick+Matteo Requires some coding ?
71_bse/m_exc_diago.F90 exc_diago_coupling Yannick+Matteo In progress in v67mbpt/t11.in
70_gw/calc_wf_qp.F90 calc_wf_qp Matteo
70_gw/check_completeness.F90 check_completeness Yannick Deleted
70_gw/dotproductqrc.F90 dotproductqrcs
70_gw/paw_qpscgw.F90 paw_qpscgw
69_wfdesc/wfd_pawrhoij.F90 wfd_pawrhoij
69_wfdesc/wfd_vnlpsi.F90 wfd_vnlpsi
68_rsprc/lavnl.F90 lavnl
68_rsprc/prctfvw1.F90 prctfvw1 Xavier Deleted
68_rsprc/prctfvw2.F90 prctfvw2 Xavier Deleted
68_rsprc/prctfw3.F90 prctfw3 Xavier Deleted
68_recursion/nlenergyrec.F90 nlenergyrec MT: M. Mancini should be contacted
68_recursion/pspnl_hgh_rec.F90 pspnl_hgh_rec MT: M. Mancini should be contacted
68_recursion/pspnl_operat_rec.F90 pspnl_operat_rec MT: M. Mancini should be contacted
68_recursion/recursion_nl.F90 recursion_nl MT: M. Mancini should be contacted
68_recursion/vn_nl_rec.F90 vn_nl_rec MT: M. Mancini should be contacted
67_common/berryphase.F90 berryphase
67_common/calc_cs.F90 calc_cs
67_common/conducti_paw_core.F90 conducti_paw_core Marc, DONE Test v5#09-10 modified (from V Recoules)
67_common/emispec_paw.F90 emispec_paw Marc, DONE Test v5#09-10 modified (from V Recoules)
67_common/extrapwf.F90 extrapwf Marc, DONE A new test(v7#t121) has been added and minor modifs made in the code
67_common/hartre1.F90 hartre1 Jonathan
65_nonlop ??? Jonathan
56_XXX rhoxc, xcden … Aurélien cleaning …
beauty/2014/code_coverage.txt · Last modified: 2014/11/05 22:51 by Yann Pouillon