[Monetdb-developers] MonetDB Bug-Etiquette

Stefan Manegold Stefan.Manegold at cwi.nl
Mon Nov 21 02:38:01 CET 2005


Dear MonetDB-users and -developers,

bug reports and especially test script play a crucial role with maintaining
and improving the stability and correct functioning of MonetDB.

However, adding test scripts "a posteriori" as we did recently during the
two "MonetDB-Bug-Days" (a third one is still to come before the end of this
year!) is a very tedious and time-consuming task, especially since who ever
is adding a test script first needs to get familiar with the details of the
very bug report.

Since both the user who submits a bug report and the developer(s) who
take(s) care of fixing a bug are by definition very familiar with the
details of a bug report, it seems more than obvious that they should share
the task of adding a test script to the CVS repository while dealing with
the respective bug, i.e., *before* closing the bug report.

Ideally, the user/submitter provides the query or script that triggers the
bug as well as the expected/correct output with his/her bug report. In case
the user/submitter has CVS check-in privileges, he/she could add the test
script to the CVS repository him-/herself. Otherwise, the developer/assignee
should add the user's test script to the CVS repository. The test script
helps both the developer/assignee and the user/submitter to monitor the
status of the bug by running "Mtest[.py]" (cf.,
http://monetdb.cwi.nl/monet/src/testing/README) or by checking the TestWeb
(http://monetdb.cwi.nl/Development/TestWeb/).

To coordinate this procedure, I made a first draft for a 
	"MonetDB Bug Etiquette", 
which you find attached to this mail.


I'd be very pleased, if you could comment on this.

Thank you all very much for your contribution to make MonetDB even better
than it already is!


Kind regards,

Stefan

-- 
| Dr. Stefan Manegold | mailto:Stefan.Manegold at cwi.nl |
| CWI,  P.O.Box 94079 | http://www.cwi.nl/~manegold/  |
| 1090 GB Amsterdam   | Tel.: +31 (20) 592-4212       |
| The Netherlands     | Fax : +31 (20) 592-4312       |
-------------- next part --------------
Here are some guidelines for both the user who submits a new bug report and
the developer to who takes care of fixing the respective bug.


User/Submitter:
===============
- Please fill in Category and Group.

- Feel free to set the Priority if you think the default is no appropriate.

- Feel free to assign the bug report to a specific developer, if you know
  who could/should take care of the respective bug.

- Please prefix your Summary with "SQL:", "XQuery:", or "PF:" if you are
  reporting a bug that is specific to SQL, XQuery, or the pathfinder
  compiler, respectively.

- Please provide in your report as much of the following information as
  possible and applicable:

    * Operating System (Distribution) with version (e.g. Windows XP, RedHat Linux 9);
    * Compiler with version (e.g. gcc-3.2.2, Visual C 6);
    * Parser tools with version (e.g. lex, flex, bison, yacc).

  And on Linux and Unix systems:

    * autoconf version;
    * automake version;
    * libtool version.

- Please provide a detailed description how to repeat the bug you report, or
  even a concise test script to do so. Preferably, the test script should
  also be added to the standard test-suite (in the CVS repository; see
  "Adding test scripts" below for more details!).

- Please feel free to close your bug report, in case you notice it does not
  occur any more (your test script in the standard test-suite is your
  free-of-charge monitor; simply check our "TestWeb" at
  http://monetdb.cwi.nl/Development/TestWeb/ ;-)). 
  See "Closing bug reports" below for more details!

- Once a developer closes your bug report, please double-check whether the
  solution indeed works for you (simply check the status of your test script
  in our "TestWeb" at http://monetdb.cwi.nl/Development/TestWeb/ ;-)).
  If is does not work for you, feel free to re-open the bug report,
  or file a new one. In either case, please give a detailed description
  of the remaining or new problem!


Developer/Assignee:
===================
- Please try to take care of "your" bug reports at your earliest
  convenience!

- Before closing a bug, see "Closing bug reports" below for more details!

- Please use this bug tracker to your finding related to the respective bug
  with the user/submitter and other developers.

- In case you cannot take care of a given bug (alone), please use this bug
  tracker to ask fellow developers for help and/or re-assign the bug report
  to some developer that you think could/should take care of this bug
  report.


Closing bug reports:
====================
- A bug report must not be closed, before a test script has been added to
  the standard test-suite (in the CVS repository; see "Adding test scripts"
  below for more details!) that shows the correctness of the solution.
  In case a test script is not feasible for the given bug report (e.g.,
  compilation problem, documentation problems, etc.), the comment given
  when closing the bug report must state clearly why no test script has
  been added.

- Before closing a bug report, the "Resolution:" must be set properly.

- When closing a bug report, a proper comment must be added that describes
  the solution.


Adding test scripts:
====================
- The user/submitter may add his/her test script to the CVS repository,
  provided he/she has check-in permission.
  Without CVS check-in permission, the user/submitter must at least
  provide a test script with his/her bug report.

- The developer/assignee must check, whether the user/submitter has added a
  test script to the CVS repository; if not, the developer/assignee is in
  charge of adding the user's/submitter's test script to the CVS repository.

- Test script must be added to the following directories:

       MonetDB:    tests/BugTracker/Tests/
           sql: src/test/BugTracker/Tests/
    pathfinder:    tests/BugTracker/Tests/

- Test scripts must comply with our testing system "Mtest.py"; see
  http://monetdb.cwi.nl/monet/src/testing/README for details.

- Test scripts must be named according to the following conventions:

    SF-<bug-report-id>.<descriptive-name>.*

  where <bug-report-id> is the ID of the respective bug report,
  and <descriptive-name> is a (short) descriptive name (e.g., derived from
  the Summary) to easily identify the bug, e.g.,

    SF-1082293.double_load_double_drop.milS
    SF-1082293.double_load_double_drop.stable.out
    SF-1082293.double_load_double_drop.stable.err


If you have any questions about filing or handling bug report and/or about
adding test scripts to the CVS repository, please feel to contact the
MonetDB Team (mailto:monet at cwi.nl).


More information about the developers-list mailing list