guile-user
[Top][All Lists]
Advanced

[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


reply via email to

[Prev in Thread] Current Thread [Next in Thread]