]> code.delx.au - gnu-emacs/blobdiff - CONTRIBUTE
; Merge from origin/emacs-25
[gnu-emacs] / CONTRIBUTE
index 0c0ef207ff3f97350b6101d8d9908c8c08a7568d..71bbebb7da7ea15b59772c01cda34336184f229e 100644 (file)
@@ -186,10 +186,12 @@ branch later.
 
 However, if you know that the change will be difficult to merge to the
 trunk (eg because the trunk code has changed a lot), you can apply the
-change to both trunk and branch yourself.  Indicate in the release
-branch commit log that there is no need to merge the commit to the
-trunk; start the commit message with "Backport:".  gitmerge.el will
-then exclude that commit from the merge to trunk.
+change to both trunk and branch yourself.  It could also happen that a
+change is cherry-picked from master to the release branch, and so
+doesn't need to be merged back.  In these cases, indicate in the
+release branch commit log that there is no need to merge the commit to
+the trunk; start the commit message with "Backport:".  gitmerge.el
+will then exclude that commit from the merge to trunk.
 
 
 ** Other process information
@@ -231,7 +233,7 @@ is still reproducible.
 
 The process of going through old or new bugs and acting on them is
 called bug triage.  This process is described in the file
-admin/notes/triage.
+admin/notes/bug-triage.
 
 ** Document your changes.
 
@@ -260,12 +262,33 @@ Emacs uses ERT, Emacs Lisp Regression Testing, for testing.  See (info
 "(ert)") or https://www.gnu.org/software/emacs/manual/html_node/ert/
 for more information on writing and running tests.
 
+If your test lasts longer than some few seconds, mark it in its
+'ert-deftest' definition with ":tags '(:expensive-test)".
+
 To run tests on the entire Emacs tree, run "make check" from the
 top-level directory.  Most tests are in the directory
 "test/".  From the "test/" directory, run "make
 <filename>" to run the tests for <filename>.el(c).  See
 "test/Makefile" for more information.
 
+Tests which are tagged ":expensive-test" are enabled additionally, if
+you run "make check-expensive" from the top-level directory.  "make
+<filename>" as mentioned above incorporates expensive tests for
+<filename>.el(c). You can also define any ert selector on the command
+line. So "make check SELECTOR=nil" is equivalent to "make
+check-expensive".
+
+You could also use predefined selectors of the Makefile. "make
+<filename> SELECTOR='$(SELECTOR_DEFAULT)'" runs all tests for
+<filename>.el(c) except the tests tagged as expensive.
+
+Selectors can be defined with different methods, see (info "(ert)Test
+Selectors") or
+https://www.gnu.org/software/emacs/manual/html_node/ert/Test-Selectors.html
+If your test file contains the tests "test-foo", "test2-foo" and
+"test-foo-remote", and you want to run only the former two tests, you
+could use a regexp: "make <filename> SELECTOR='\"foo$$\"'" .
+
 ** Understanding Emacs Internals.
 
 The best way to understand Emacs Internals is to read the code,