   "Test source files to be loaded.
 This list is populated by --test-source command-line options.")
 
+;; Customizable Edebug behavior only appeared in Emacs 27.
+(defvar edebug-behavior-alist)
+(defvar edebug-after-instrumentation-function)
+(defvar edebug-new-definition-function)
+
 (defun elisp/ert/run-batch-and-exit ()
   "Run ERT tests in batch mode.
 This is similar to ‘ert-run-tests-batch-and-exit’, but uses the

    (progress-reporter-done reporter)
    buffer))

(defun elisp/ert/write--coverage-report (coverage-dir buffers)
  "Write a coverage report to a file in COVERAGE-DIR.
BUFFERS is a list of buffers containing Emacs Lisp sources

                   ;; closing parenthesis or space.  We don’t consider this a
                   ;; covered line since it typically only contains unimportant
                   ;; pieces of the form.
                   (when (if ours
                             ;; If we added our own coverage instrumentation,
                             ;; the frequency is set only for form beginnings.
                             freq
                           ;; Otherwise, check whether we are probably at a form
                           ;; beginning.
                           (not (memql (char-syntax (char-after position))
                                       '(?\) ?\s))))
                     (let ((line (line-number-at-pos position)))
                       (cl-callf max (gethash line lines 0) freq))))
          (push (list (line-number-at-pos begin)
