| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 | # -*- mode:org -*-#+TITLE: Org-mode Testing#+PROPERTY: results silent* DependenciesThe only dependency is [[http://www.emacswiki.org/emacs/ErtTestLibrary][ERT]] the Emacs testing library which ships withEmacs24.  If you are running an older version of Emacs and don'talready have ERT installed it can be installed from its old [[https://github.com/ohler/ert][gitrepository]].* Non-interactive batch testing from the command lineThe simplest way to run the Org-mode test suite is from the commandline with the following invocation.  Note that the paths below arerelative to the base of the Org-mode directory.#+BEGIN_SRC sh :dir (expand-file-name "..")  # For Emacs earlier than 24, add -L /path/to/ert  emacs -Q --batch \        -L lisp/ -L testing/ -L testing/lisp -l lisp/org.el \        -l lisp/org-id.el -l testing/org-test.el \        --eval "(progn (org-reload) (setq org-confirm-babel-evaluate nil))" \        -f org-test-run-batch-tests#+END_SRCThe options in the above command are explained below.| -Q      | ignores any personal configuration ensuring a vanilla Emacs instance is used || --batch | runs Emacs in "batch" mode with no gui and termination after execution       || -l      | loads Org-mode and the org mode test suite defined in testing/org-test.el    || --eval  | reloads Org-mode and allows evaluation of code blocks by the tests           || -f      | actually runs the tests using the `org-test-run-batch-tests' function        |* Interactive testing from within EmacsTo run the Org-mode test suite from a current Emacs instance simplyload and run the test suite with the following commands.1) First load the test suite.   #+BEGIN_SRC emacs-lisp :var here=(buffer-file-name)     (add-to-list 'load-path (file-name-directory here))     (require 'org-test)   #+END_SRC2) Then run the test suite.   #+BEGIN_SRC emacs-lisp     (org-test-run-all-tests)   #+END_SRC* Troubleshooting- If the value of the =org-babel-no-eval-on-ctrl-c-ctrl-c= is non-nil  then it will result in some test failure, as there are tests which  rely on this behavior.
 |