Bastien Guerry b857974f7d Small reformatting of testing/README. 9 years ago
examples 6c911234ac Remove files coming from maint. 9 years ago
jump @ 820bb7d81b a9f3c9fe11 now using newer version of jump.el -- run $ git submodule update 11 years ago
lisp dbc6fd1ebf Merge branch 'hotfix' 9 years ago
.gitignore 1b6de8fad5 ignore org-id file generated during testing 9 years ago
README b857974f7d Small reformatting of testing/README. 9 years ago
org-test-ob-consts.el ecd0562c5f Fix the master branch. 9 years ago
org-test.el ecd0562c5f Fix the master branch. 9 years ago


# -*- mode:org -*-
#+TITLE: Org-mode Testing
#+PROPERTY: results silent

* Dependencies

The only dependency is [[][ERT]] the Emacs testing library which ships with
Emacs24. If you are running an older version of Emacs and don't
already have ERT installed it can be installed from its old [[][git

* Non-interactive batch testing from the command line

The simplest way to run the Org-mode test suite is from the command
line with the following invocation. Note that the paths below are
relative 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

The 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 Emacs

To run the Org-mode test suite from a current Emacs instance simply
load 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)

2) Then run the test suite.
#+BEGIN_SRC emacs-lisp

* 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.