Mailing List Archive

Re: [clamav-users] Regarding ClamAV code coverage metrics with help of existing unit-test cases
Hi,

it seems like there is a  hang issue while compiling the unit-test suite. 

commands that I ran under the ClamAV source code folder
a)./configure --enable-check --enable-coverage(successful)b)make(successful)c)make check VG=1(to  test the valgrind related scripts)[hanging]     ( or)d)make check (hanging)
As per Software code quailty standards,  a good software should   meet the below code coverage metrics
1.line coverage -90%2.function coverage-90%3.branch coverage-80%
May I know the below code coverage metric values  in ClamAV project as per existing unit-test suite
note:Since i have facing some issue while compiling all unit-test cases, as of now, i could not able to generate the code coverage report
my environment details as the belowCLAMAV_VERSION "0.103.0"valgrind-3.15.0
ubuntu version:20.0.4
Thanks,Satish Yaduvanshi On Thursday, 26 November, 2020, 02:35:25 pm IST, Andrew C Aitchison <andrew@aitchison.me.uk> wrote:

On Thu, 26 Nov 2020, Satish Kumar via clamav-users wrote:

> Dear All,
> I would like to build the ClamAV software from source code on an ubuntu machine and  measure the  code coverage of the ClamAV project with the help  of existing unit test cases in the ClamAV project
>  for that, the  below  steps that I  followed
> 1.compiled the ClamAV source code locally  and installed successfully on the local ubuntu machine
>  a)autogen.sh  b)./configure --enable-check  --enable-coveragec)sudo make install
> 2)After installation, I  switched from the ClamAV source folder to  "unit_tests" and  executed the make command but failed with the below error makemake: Nothing to be done for 'all'.
> I want to run all  unit-test cases covered (at one go)  under the unit_test folder  and measure the ClamAV  code coverage  metrics( in terms of  line/statement coverage, function coverage, branch coverage) by  exiting the unit-test case suite(s) of ClamAV
> I have gone through  ClamAV documentation a little bit but could not find a clue for it. Could any one of you please help me on  this and any help /suggestions would be appreciated 

# tail -17 Makefile
.PRECIOUS: Makefile

lcov:
        ($(MAKE); cd unit_tests; $(MAKE) lcov)
quick-check:
        ($(MAKE); cd unit_tests; $(MAKE) quick-check)
fuzz-all:
        ($(MAKE); cd fuzz; $(MAKE) all)
fuzz-check:
        ($(MAKE); cd fuzz; $(MAKE) check)

dist-hook:
        rm -rf $(distdir)/win32/clamav-for-windows $(distdir)/win32/build

# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
.NOEXPORT:

... so I would guess
    make lcov
or
    make lcov quick-check

--
Andrew C. Aitchison                    Kendal, UK
            andrew@aitchison.me.uk
_______________________________________________

clamav-devel mailing list
clamav-devel@lists.clamav.net
https://lists.clamav.net/mailman/listinfo/clamav-devel

Please submit your patches to our Github: https://github.com/Cisco-Talos/clamav-devel/pulls

Help us build a comprehensive ClamAV guide:
https://github.com/vrtadmin/clamav-faq

http://www.clamav.net/contact.html#ml