====== 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 ... - The new tests have to be introduced in tests/v7 . - 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 [[https://wiki.abinit.org/doku.php?id=developers:beautification2015&#list_of_people|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 ... |