- (with-temp-buffer
- (setq cus-test-libs-errors nil)
- (setq cus-test-libs-loaded nil)
- (cd source-directory)
- (if (not (file-executable-p "src/emacs"))
- (error "No Emacs executable in %ssrc" default-directory))
- (mapc
- (lambda (file)
- (condition-case alpha
- (let (fn cmd status)
- (setq fn (locate-library file))
- (if (not fn)
- (error "Library %s not found" file))
- (setq cmd (concat "src/emacs -batch -l " fn))
- (setq status (call-process shell-file-name nil nil nil
- shell-command-switch cmd))
- (if (equal status 0)
- (message "%s" file)
- (error "%s" status))
- (push file cus-test-libs-loaded))
- (error
- (push (cons file alpha) cus-test-libs-errors)
- (message "Error for %s: %s" file alpha))))
- (cus-test-get-autoload-deps))
- (message "Default Directory: %s" default-directory)
- (message "%s libraries had no load errors"
- (length cus-test-libs-loaded))
- (if (not cus-test-libs-errors)
- (message "No load problems encountered")
- (message "The following load problems appeared:")
- (cus-test-message cus-test-libs-errors))
- (run-hooks 'cus-test-after-load-libs-hook)))
+ (and noninteractive
+ command-line-args-left
+ (setq more (pop command-line-args-left)))
+ (cus-test-load-1
+ (let* ((default-directory source-directory)
+ (emacs (expand-file-name "src/emacs"))
+ skipped)
+ (or (file-executable-p emacs)
+ (error "No such executable `%s'" emacs))
+ (mapc
+ (lambda (file)
+ (if (member file cus-test-libs-noloads)
+ (push file skipped)
+ (condition-case alpha
+ (let* ((fn (expand-file-name file "lisp/"))
+ (elc (concat fn "c"))
+ status)
+ (if (file-readable-p elc) ; load compiled if present (faster)
+ (setq fn elc)
+ (or (file-readable-p fn)
+ (error "Library %s not found" file)))
+ (if (equal 0 (setq status (call-process emacs nil nil nil
+ "-batch" "-l" fn)))
+ (message "%s" file)
+ (error "%s" status))
+ (push file cus-test-libs-loaded))
+ (error
+ (push (cons file alpha) cus-test-libs-errors)
+ (message "Error for %s: %s" file alpha)))))
+ (if more
+ (cus-test-get-lisp-files (equal more "all"))
+ (cus-test-get-autoload-deps)))
+ (message "Default directory: %s" default-directory)
+ (when skipped
+ (message "The following libraries were skipped:")
+ (cus-test-message skipped)))))