Closed DamienCassou closed 7 years ago
I don't have anything compiled file (*.elc
).
I reproduced the problem locally by:
undercover.elc
message
everywhere in its source code (poor-man debugger)(setq undercover-force-coverage t)
What I see is that at the end of undercover--edebug-files
, the file-name-handler-alist
variable value is:
((/\(?:hierarchy\.el\)$ . undercover-file-handler) (\.gpg\(~\|\.~[0-9]+~\)?\' . epa-file-handler) (\(?:\.dz\|\.txz\|\.xz\|\.lzma\|\.lz\|\.g?z\|\.\(?:tgz\|svgz\|sifz\)\|\.tbz2?\|\.bz2\|\.Z\)\(?:~\|\.~[-[:alnum:]:#@^._]+\(?:~[[:digit:]]+\)?~\)?\' . jka-compr-handler) (\`/[^/]*\' . tramp-completion-file-name-handler) (\`/[^/|:][^/|]*: . tramp-autoload-file-name-handler) (\`/: . file-name-non-special))
but, undercover-file-handler
never prints the message
I put there.
Here are the changes I applied to undercover.el
.
--- .cask/25.2/elpa/undercover-20161114.819/undercover.el 2017-03-23 10:13:50.820551685 +0100
+++ .cask.bak/25.2/elpa/undercover-20161114.819.bak/undercover.messages.el 2017-03-23 10:09:42.207369720 +0100
@@ -89,6 +89,7 @@
(defun undercover--load-file-handler (file)
"Handle `load' FILE operation."
+ (message "Loading file: %s" file)
(let ((edebug-all-defs (undercover--coverage-enabled-p))
(load-file-name (file-truename file))
(load-in-progress t))
@@ -104,6 +105,7 @@
(defun undercover-file-handler (operation &rest args)
"Handle `load' OPERATION. Ignore all ARGS except first."
+ (message "undercover-file-handler %s %s" operation args)
(if (eq 'load operation)
(condition-case nil
(undercover--load-file-handler (car args))
@@ -114,9 +116,11 @@
(defun undercover--edebug-files (files)
"Use `edebug' package to instrument all macros and functions in FILES."
+ (message "undercover--edebug-files: %s" files)
(when files
(let ((regexp (->> files (regexp-opt) (format "/%s$"))))
- (add-to-list 'file-name-handler-alist (cons regexp 'undercover-file-handler)))))
+ (add-to-list 'file-name-handler-alist (cons regexp 'undercover-file-handler))
+ (message "undercover--edebug-files: %s" file-name-handler-alist))))
(setf (symbol-function 'undercover--stop-point-before)
(lambda (before-index)
@@ -400,10 +404,12 @@
(defun undercover-safe-report ()
"Version of `undercover-report' that ignore errors."
(ignore-errors
+ (message "Reporting...")
(undercover-report)))
(defun undercover-report-on-kill ()
"Add `undercover-safe-report' to `kill-emacs-hook'."
+ (message "Adding kill hook")
(add-hook 'kill-emacs-hook 'undercover-safe-report))
;;; Main functions:
@@ -462,10 +469,12 @@
If running under Travic CI automatically generate report
on `kill-emacs' and send it to coveralls.io."
- `(undercover--setup
- (list
- ,@(--map (if (atom it) it `(list ,@it))
- configuration))))
+ `(progn
+ (message "Measuring coverage...")
+ (undercover--setup
+ (list
+ ,@(--map (if (atom it) it `(list ,@it))
+ configuration)))))
(provide 'undercover)
;;; undercover.el ends here
The output is:
$ cask exec ert-runner
Measuring coverage...
Adding kill hook
undercover--edebug-files: (hierarchy.el)
undercover--edebug-files: ((/\(?:hierarchy\.el\)$ . undercover-file-handler) (\.gpg\(~\|\.~[0-9]+~\)?\' . epa-file-handler) (\(?:\.dz\|\.txz\|\.xz\|\.lzma\|\.lz\|\.g?z\|\.\(?:tgz\|svgz\|sifz\)\|\.tbz2?\|\.bz2\|\.Z\)\(?:~\|\.~[-[:alnum:]:#@^._]+\(?:~[[:digit:]]+\)?~\)?\' . jka-compr-handler) (\`/[^/]*\' . tramp-completion-file-name-handler) (\`/[^/|:][^/|]*: . tramp-autoload-file-name-handler) (\`/: . file-name-non-special))
............................
Ran 28 tests in 0.015 seconds
Reporting...
Report files: nil
UNDERCOVER: No coverage information. Make sure that your files are not compiled?
Hi @DamienCassou, this bug happens because of your .ert-runner
config. You load hierarchy.el
in it.
So when you run undercover
this file is already loaded and (require 'hierarchy)
does nothing.
Replace .ert-runner
content with -L .
and everything will work.
Btw, you can test undercover
locally by using TRAVIS=true
in your terminal
it works perfectly fine now, thank you very much. Do you want a PR adding this both info (.ert-runner
and TRAVIS=true
) to the README?
Sure, feel free to do it! :)
done
Hi,
I'm setting up undercover in https://github.com/DamienCassou/hierarchy/pull/9. As you can see in the log, undercover can't find any coverage info:
What am I doing wrong please?