unofficial mirror of emacs-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Stephen Leake <stephen_leake@stephe-leake.org>
To: phillip.lord@russet.org.uk (Phillip Lord)
Cc: johnw@gnu.org, Michael Albinus <michael.albinus@gmx.de>,
	emacs-devel@gnu.org
Subject: Re: Locations of Tests
Date: Thu, 05 Nov 2015 07:41:42 -0600	[thread overview]
Message-ID: <864mh0y355.fsf@stephe-leake.org> (raw)
In-Reply-To: <87ziytqww6.fsf@russet.org.uk> (Phillip Lord's message of "Wed, 04 Nov 2015 21:26:17 +0000")

phillip.lord@russet.org.uk (Phillip Lord) writes:

> John Wiegley <jwiegley@gmail.com> writes:
>
>
> #+TITLE: The Location of Emacs-Lisp Tests

This looks good in general; a couple minor comments below.

> * Introduction
>
> In this document, we describe the relationship between Emacs-Lisp files and
> their associated automated test files.
>
>
> * In Emacs
>
> The Emacs repository contains a very large number of Emacs-Lisp files, many of
> which pre-date both formal package support for Emacs and automated unit
> testing. The test layout is, therefore, somewhat different than for ELPA
> packages.
>
> All paths are relative to the Emacs root directory.
>
> ** Source
>
> Lisp files are stored in the ~lisp~ directory or its sub-directories.
> Sub-directories are in many cases themed after packages (~gnus~, ~org~,
> ~calc~), related functionality (~net~, ~emacs-lisp~, ~progmodes~) or status
> (~obsolete~).
>
> C source is stored in the ~src~ directory, which is flat.
>
> ** Test Files
>
> Automated tests should be stored in the ~test/automated~ directory. Tests
> should reflect the directory structure of the source tree; so tests for files
> in the ~emacs-lisp~ source directory should reside in the
> ~test/automated/emacs-lisp~ directory.
>
> Tests should normally reside in a file with an ~-test~ added to the name of
> the tested source file; hence ~ert.el~ is tested in ~ert-test.el~, or
> ~pcase.el~ is tested in ~pcase-test.el~.
>
> Where features of the C source are tested using Emacs-Lisp test files, these
> should reside in ~/test/automated/c~ and be named after the C file.

Since we are trying to mimic the source layout, perhaps it would be
better to have:

tests/automated/src  ;; tests of files in the src dir

tests/automated/lisp ;; tests of file in the lisp dir

tests/automated/lisp/prog-modes ;; etc

> ** Resource Files
>
> Resource files for tests (containing test data) should reside in a directory
> named after the feature with a ~-resources~ suffix. Hence, tests files for
> ~flymake.el~ should reside in a directory called ~flymake-resources~.
>
> No guidance is given for the organisation of resource files inside the
> ~-resource~ directory; files can be organised at the author's discretion.
>
>
> * In ELPA
>
> All paths are given relative to the package root.
>
> ** Source Files
>
> ELPA lisp files should be stored at top-level within the package.
>
> ** Test Files
>
> Test files should normally reside in the ~test~ directory, and be named after
> the file being tested.

With the -test suffix; it helps to be very clear, 

> ** Resources Files
>
> Resource files for tests should reside in the ~dev-resources~ directory. No
> guidance is given for the organisation of resource files inside the
> ~dev-resource~ directory; files can be organised at the author's discretion.

-- 
-- Stephe



  reply	other threads:[~2015-11-05 13:41 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-04 17:36 Locations of Tests Phillip Lord
2015-11-04 17:53 ` John Wiegley
2015-11-04 18:14   ` Artur Malabarba
2015-11-04 18:21     ` John Wiegley
2015-11-25  9:23       ` Phillip Lord
2015-11-25  9:43         ` Artur Malabarba
2015-11-25 14:17           ` Phillip Lord
2015-11-04 19:15     ` Steinar Bang
2015-11-04 19:23       ` David Kastrup
2015-11-04 21:33         ` Phillip Lord
2015-11-04 19:07   ` Michael Albinus
2015-11-04 19:15     ` John Wiegley
2015-11-04 21:26       ` Phillip Lord
2015-11-05 13:41         ` Stephen Leake [this message]
2015-11-05 13:59           ` Artur Malabarba
2015-11-05 15:02             ` Nicolas Petton
2015-11-05 15:08               ` Artur Malabarba
2015-11-06  9:56                 ` Phillip Lord
2015-11-05 15:27           ` Juanma Barranquero
2015-11-06  9:55           ` Phillip Lord
2015-11-06 10:02 ` Makefile-help (was Re: Locations of Tests) Phillip Lord
2015-11-07  6:48   ` Stephen Leake
2015-11-07 10:55     ` Location of tests (again) (was Re: Makefile-help) Phillip Lord
2015-11-07 11:06       ` Juanma Barranquero
2015-11-07 11:22         ` Phillip Lord
2015-11-07 11:36           ` Juanma Barranquero
2015-11-07 17:46             ` Phillip Lord
2015-11-07 11:45           ` Eli Zaretskii
2015-11-07 18:09             ` Stephen Leake
2015-11-10 20:34       ` Przemysław Wojnowski
2015-11-10 20:45         ` Phillip Lord
2015-11-10 21:41           ` Przemysław Wojnowski
2015-11-10 22:27             ` John Wiegley
2015-11-11  0:28             ` bikeshedding (was Re: Location of tests (again) (was Re: Makefile-help)) Stephen Leake
2015-11-11 10:31             ` Location of tests (again) (was Re: Makefile-help) Phillip Lord
2015-11-11 17:02               ` UI tests Richard Stallman
2015-11-11 17:25                 ` John Wiegley
2015-11-12 14:09                 ` Phillip Lord
2015-11-12 14:37                   ` Alan Mackenzie
2015-11-12 16:33                   ` Eli Zaretskii
2015-11-13 21:58                   ` Richard Stallman
2015-11-15 12:14                 ` Przemysław Wojnowski
2015-11-16 19:32                   ` Richard Stallman

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=864mh0y355.fsf@stephe-leake.org \
    --to=stephen_leake@stephe-leake.org \
    --cc=emacs-devel@gnu.org \
    --cc=johnw@gnu.org \
    --cc=michael.albinus@gmx.de \
    --cc=phillip.lord@russet.org.uk \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).