Server IP : 111.118.215.189 / Your IP : 3.147.48.161 Web Server : Apache System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64 User : a1673wkz ( 2475) PHP Version : 8.2.25 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON Directory (0755) : /usr/share/emacs/24.3/lisp/emacs-lisp/ |
[ Home ] | [ C0mmand ] | [ Upload File ] |
---|
;ELC ;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:09:05 2024 ;;; from file /builddir/build/BUILD/emacs-24.3/lisp/emacs-lisp/testcover.el ;;; in Emacs version 24.3.1 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (byte-code "\300\301!\210\302\303!\210\304\303\305\306\307\310\311\312\313\314& \210\315\316\317\320\307\303\321\322&\210\315\323\324\325\307\303\321\326&\210\315\327\330\331\307\303\321\326&\210\315\332\333\334\307\303\321\326&\210\315\335\336\337\307\303\321\326&\210\315\340\341\342\307\303\321\326&\210\315\343\344\345\307\303%\210\346\347\350\351\307\303%\210\346\352\353\354\307\303%\207" [require edebug provide testcover custom-declare-group nil "Code-coverage tester." :group lisp :prefix "testcover-" :version "21.1" custom-declare-variable testcover-constants '(nil t emacs-build-time emacs-version emacs-major-version emacs-minor-version) "Variables whose values never change. No brown splotch is shown for\nthese. This list is quite incomplete!" :type (repeat variable) testcover-1value-functions '(backward-char barf-if-buffer-read-only beginning-of-line buffer-disable-undo buffer-enable-undo current-global-map deactivate-mark delete-backward-char delete-char delete-region ding forward-char function* insert insert-and-inherit kill-all-local-variables kill-line kill-paragraph kill-region kill-sexp lambda minibuffer-complete-and-exit narrow-to-region next-line push-mark put-text-property run-hooks set-match-data signal substitute-key-definition suppress-keymap undo use-local-map while widen yank) "Functions that always return the same value. No brown splotch is shown\nfor these. This list is quite incomplete! Notes: Nobody ever changes the\ncurrent global map. The macro `lambda' is self-evaluating, hence always\nreturns the same value (the function it defines may return varying values\nwhen called)." hook testcover-noreturn-functions '(error noreturn throw signal) "Subset of `testcover-1value-functions' -- these never return. We mark\nthem as having returned nil just before calling them." testcover-compose-functions '(+ - * / = append length list make-keymap make-sparse-keymap mapcar message propertize replace-regexp-in-string run-with-idle-timer set-buffer-modified-p) "Functions that are 1-valued if all their args are either constants or\ncalls to one of the `testcover-1value-functions', so if that's true then no\nbrown splotch is shown for these. This list is quite incomplete! Most\nside-effect-free functions should be here." testcover-progn-functions '(define-key fset function goto-char mapc overlay-put progn save-current-buffer save-excursion save-match-data save-restriction save-selected-window save-window-excursion set set-default set-marker-insertion-type setq setq-default with-current-buffer with-output-to-temp-buffer with-syntax-table with-temp-buffer with-temp-file with-temp-message with-timeout) "Functions whose return value is the same as their last argument. No\nbrown splotch is shown for these if the last argument is a constant or a\ncall to one of the `testcover-1value-functions'. This list is probably\nincomplete!" testcover-prog1-functions '(prog1 unwind-protect) "Functions whose return value is the same as their first argument. No\nbrown splotch is shown for these if the first argument is a constant or a\ncall to one of the `testcover-1value-functions'." testcover-potentially-1value-functions '(add-hook and beep or remove-hook unless when) "Functions that are potentially 1-valued. No brown splotch if actually\n1-valued, no error if actually multi-valued." custom-declare-face testcover-nohits ((t (:background "DeepPink2"))) "Face for forms that had no hits during coverage test" testcover-1value ((t (:background "Wheat2"))) "Face for forms that always produced the same value during coverage test"] 10) #@81 Symbols declared with defconst in the last file processed by `testcover-start'. (defvar testcover-module-constants nil (#$ . 4165)) #@131 Symbols declared with defun in the last file processed by `testcover-start', whose functions should always return the same value. (defvar testcover-module-1value-functions nil (#$ . 4304)) #@130 Symbols declared with defun in the last file processed by `testcover-start', whose functions might always return the same value. (defvar testcover-module-potentially-1value-functions nil (#$ . 4500)) #@60 Locally bound to coverage vector for function in progress. (defvar testcover-vector nil (#$ . 4706)) #@270 Uses edebug to instrument all macros and functions in FILENAME, then changes the instrumentation from edebug to testcover--much faster, no problems with type-ahead or post-command-hook, etc. If BYTE-COMPILE is non-nil, byte-compiles each function after instrumenting. (defalias 'testcover-start #[(filename &optional byte-compile) "\306!\307\310\311\211\311\312!\210+\205J \313\f!\311\211\205I @\314@!\203? \315\316@\"\210\317@!\210A\211\204% \311*\207" [filename edebug-all-defs load-read-function buf edebug-form-data testcover-module-constants find-file testcover-read t nil eval-buffer reverse fboundp message "Compiling %s..." byte-compile testcover-module-1value-functions x --dolist-tail--] 4 (#$ . 4814) "fStart covering file: "]) #@41 Start coverage on function under point. (defalias 'testcover-this-defun #[nil "\302\303\304!K\305 !\210 *\207" [edebug-all-defs x t eval-defun nil testcover-reinstrument] 2 (#$ . 5589) nil]) #@77 Read a form using edebug, changing edebug callbacks to testcover callbacks. (defalias 'testcover-read #[(&optional stream) "\302!\303 !\210 )\207" [stream x edebug-read testcover-reinstrument] 2 (#$ . 5788)]) #@234 Reinstruments FORM to use testcover instead of edebug. This function modifies the list that FORM points to. Result is nil if FORM should return multiple values, t if should always return same value, 'maybe if either is acceptable. (defalias 'testcover-reinstrument #[(form) "\242\306\211\211\204 9\203 \f>\204 >\205\377\307\202\377:\2032 \310!\210\311A!\210\306\202\377*>\204@ +>\203I \311A!\210\307\202\377,>\204W ->\203` \311A!\210\312\202\377.>\203n \311A!\202\377/>\203\213 \311\2110AA)!\210\310\2110A@)!\202\3771>\203\232 \313A\310\"\202\377\314=\203\315 \315\240\210A\316\233\241\210\2110A@)\2110A@)\317N2\311\3208\2110A@)AA!)\202\377\321=\203U\2110A@)\322=\204\361 2\2110A@)\2110A@)\323I\210\3208\211AA\241\210\310\3208! \307=\203\f\324\202 \325\240\210 \2032\n\326I\210\3208\2423>\203<A@\n\327BB\240\210\330\240\2102\n\326I\210\307\202Q\3208\242\326=\203Q\3072\n\326I\210\324\240\210 \202\377\331=\203\211\311\316\233!\211\307=\203s\2110A@)+B+ \312=\205\377\2110A@)-B\211-\202\377\332>\203\245\2110A@) B\311\2110AA)!\202\377\333>\203\323\311\2110AA)!\210\311\2110A@)!\320\2110A@)8\203\317 \202\377\307\202\377\334>\203\360\335\311\2110A@)\"\210\311\2110AA)!\202\377\336=\203\310\2110A@)!\210\310\3208!\311\316\233!4\2115\2054\205\312*\202\377\337=\203.\313A\311\"\205\377\312\202\377\340=\203T\310\3208!\313\341\342\316\233\"\311\"6\2117\205P6\205P\312*\202\377\343=\203^\307\202\377\344=\203w\343*B*\310\2110A@)!)\202\377\345=\203\221\346\343*\"*\310\2110A@)!)\202\377\326=\203\2110A@)9\203\246\307\202\377\2110A@)@\321=\203\352\316\2110A@)89\203\3522\320\2110A@)8\326I\210A\324\320\2110A@)8\316\2110A@)8E\240\210\307\202\377\2110A@)@\321=\203\316\2110A@)8\202\n\2110A@)@\211*B*\310\2110A@)!)\202\377\347=\203\261\2110A@)9\2034\312\202\377\2110A@)@\321=\203|\316\2110A@)89\203|2\320\2110A@)8\326I\210A\330\325\320\2110A@)8\350BB\316\2110A@)8E\240\210\312\202\377\2110A@)@\321=\203\225\316\2110A@)8\202\234\2110A@)@\2113B3\310\2110A@)!)\202\377\351=\203\371\2110A@)\242\343=\203\371\2110A@)\2110A@)9\203\371\2110A@)\2110A@)\2110AA)B\310!AA\241\210 \202\377\311A!\210\306+\207" [form val id fun testcover-constants testcover-module-constants nil t testcover-reinstrument testcover-reinstrument-list maybe testcover-reinstrument-compose edebug-enter testcover-enter 3 edebug-coverage 2 edebug-after 0 ok-coverage testcover-1value testcover-after 1value (nil) progn defun (defconst defcustom) (dotimes dolist) (let let*) mapc if cond condition-case mapcar cdr quote \` \, remq noreturn (nil) apply testcover-1value-functions testcover-module-1value-functions testcover-potentially-1value-functions testcover-module-potentially-1value-functions testcover-progn-functions testcover-prog1-functions x testcover-compose-functions testcover-vector testcover-noreturn-functions else then errs body] 7 (#$ . 6006)]) #@268 Reinstruments each form in LIST to use testcover instead of edebug. This function modifies the forms in LIST. Result is `testcover-reinstrument's value for the last form in LIST. If the LIST is empty, its evaluation will always be nil, so we return t for 1-valued. (defalias 'testcover-reinstrument-list #[(list) "\302 :\203 \303 \211A@!\202 )\207" [result list t testcover-reinstrument] 3 (#$ . 9100)]) #@314 For a compositional function, the result is 1-valued if all arguments are, potentially 1-valued if all arguments are either definitely or potentially 1-valued, and multi-valued otherwise. FUN should be `testcover-reinstrument' for compositional functions, `testcover-reinstrument-list' for clauses in a `cond'. (defalias 'testcover-reinstrument-compose #[(list fun) "\302\303\304 \"\210)\207" [result list t mapc #[(x) " !\n\303=\203 \211\207\n\304=\205 ?\205 \305\211\207" [fun x result t maybe nil] 2]] 3 (#$ . 9519)]) #@67 Turn off instrumentation of all macros and functions in FILENAME. (defalias 'testcover-end #[(filename) "\302!\303 !)\207" [filename buf find-file-noselect eval-buffer] 2 (#$ . 10059) "fStop covering file: "]) #@179 Internal function for coverage testing. Invokes TESTCOVER-FUN while binding `testcover-vector' to the code-coverage vector for TESTCOVER-SYM (the name of the current function). (defalias 'testcover-enter #[(testcover-sym testcover-fun) "\303N\n )\207" [testcover-sym testcover-vector testcover-fun edebug-coverage] 2 (#$ . 10278)]) #@111 Internal function for coverage testing. Returns VAL after installing it in `testcover-vector' at offset IDX. (defalias 'testcover-after #[(idx val) " H\303=\203 \nI\210\202 H\n\232\204 \304I\210\n\207" [testcover-vector idx val unknown ok-coverage] 3 (#$ . 10620)]) (put 'testcover-after 'gv-expander #[(do idx val) "\301\302\"\207" [val gv-get #[(getter setter) " \302\"\207" [do getter #[(store) "\304\305 E\n!E\207" [idx getter setter store progn testcover-after] 4]] 3]] 3]) #@189 Internal function for coverage testing. Returns VAL after installing it in `testcover-vector' at offset IDX. Error if FORM does not always return the same value during coverage testing. (defalias 'testcover-1value #[(idx val) " H\303=\203 \303\nBI\210\202) H\242\303=\203$ HA\n\232\204) \304\305\n\"\210\n\207" [testcover-vector idx val 1value error "Value of form marked with `1value' does vary: %s"] 4 (#$ . 11121)]) #@616 Marks one DEF (a function or macro symbol) to highlight its contained forms that did not get completely tested during coverage tests. A marking with the face `testcover-nohits' (default = red) indicates that the form was never evaluated. A marking using the `testcover-1value' face (default = tan) indicates that the form always evaluated to the same value. The forms throw, error, and signal are not marked. They do not return and would always get a red mark. Some forms that always return the same value (e.g., setq of a constant), always get a tan mark that can't be eliminated by adding more test cases. (defalias 'testcover-mark #[(def) "\306N\211@\307 8\211G\310 \311N\312\211\312 \n\203, \203, \2041 \313\314\"\210\f\315V\205\221 \316\n!q\210\317\320\321\n\322\n\fSH\323#\"\"\210\f\315V\203\216 \fS\fH\211\324=\204K \242\325=\204K \n\fH\\\211\203K \326S\"\327\330 \331>\203\210 \332\202\211 \333#\210\202K \334 !. \207" [def data def-mark points len changed edebug 2 buffer-modified-p edebug-coverage nil error "Missing edebug data for function %s" 0 marker-buffer mapc delete-overlay overlays-in + 1 ok-coverage 1value make-overlay overlay-put face (unknown 1value) testcover-nohits testcover-1value set-buffer-modified-p coverage ov j item] 9 (#$ . 11557)]) #@122 Mark all forms in BUFFER that did not get completely tested during coverage tests. This function creates many overlays. (defalias 'testcover-mark-all #[(&optional buffer) "\203 \304!\210\305b\210 \306\211\205* @\211@\307N\203\"