[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Code coverage
From: |
Amirouche Boubekki |
Subject: |
Re: Code coverage |
Date: |
Sat, 13 Apr 2019 17:59:27 +0200 |
Le sam. 13 avr. 2019 à 16:52, Jeremy Korwin-Zmijowski <
address@hidden> a écrit :
> Le vendredi 12 avril 2019 à 12:35 +0200, address@hidden a
> écrit :
> > Hello dear guilers !
> >
> > I have implemented a code coverage test with a piece of code I
> > modified
> > for my usage, here it is (filename : cybo-cov.scm):
> >
> > (use-modules (system vm coverage)
> > (system vm vm)
> > (srfi srfi-11))
> >
> > (let ((output-directory
> > (string-append
> > (getenv "HOME") "/Workspace/guile-cybo/coverage")))
> > (let-values (((data . values)
> > (with-code-coverage (the-vm)
> > (lambda ()
> > (load "cybo-test.scm")))))
> > (let* ((port (mkstemp! (string-copy "/tmp/cybo-coverage-
> > XXXXXX")))
> > (file (port-filename port)))
> > (coverage-data->lcov data port)
> > (close port)
> > (when (not (zero? (system* "genhtml" file "-o" output-
> > directory)))
> > (error "genhtml failed"))
> > (delete-file file))))
> >
> > When I execute
> >
> > $ guile -L .
> >
> > then
> >
> > scheme@(guile-user)> (load "cybo-cov.scm")
> >
> > The report seems to cover my project and all Guile 2.0 code. I would
> > like the test to focus on my project only.
> > Does someone know how I can configure the test ?
> >
> > Thank you in advance for your help.
> >
> > Jeko
> >
>
> The code for Guile 2.2.3 is
>
> (use-modules (system vm coverage)
> (system vm vm)
> (srfi srfi-11))
>
> (let ((output-directory (string-append
> (getenv "HOME")
> "/Workspace/guile-cybo/coverage")))
> (let-values (((data . values)
> (with-code-coverage
> (lambda ()
> (load "cybo-test.scm")))))
> (let* ((port (mkstemp! (string-copy "/tmp/cybo-coverage-XXXXXX")))
> (file (port-filename port)))
> (coverage-data->lcov data port)
> (close port)
> (when (not (zero? (system* "genhtml" file "-o" output-
> directory)))
> (error "genhtml failed"))
> (delete-file file))))
>
> Jeko
>
I am not sure of what you are trying to achieve. There was recent-ish
thread about code coverage
in guile-devel mailing list:
http://lists.gnu.org/archive/html/guile-devel/2019-02/msg00029.html
HTH