[SCM] Debian package checker branch, master, updated. 2.1.3-57-g7e12931

2009-01-01 Thread Russ Allbery
The following commit has been merged in the master branch:
commit c83a79c426e63fd127ff7233283a9d88175cbf80
Author: Russ Allbery r...@debian.org
Date:   Thu Jan 1 10:01:54 2009 -0800

Update desc documentation for tags and add test cases

diff --git a/doc/desc-files b/doc/desc-files
index ddc92ff..7f03567 100644
--- a/doc/desc-files
+++ b/doc/desc-files
@@ -1,5 +1,4 @@
-
-Description record for `collector' scripts:
+Description record for collection scripts:
 
   Collector-Script: file name of collector script
   Info: description of what this script does
@@ -9,7 +8,7 @@ Description record for `collector' scripts:
   Order: order--necessary if this script needs info from other scripts, see 
Needs-Info
   Needs-Info: info this scripts needs from other collector scripts
 
-Description record for `checker' scripts:
+Description record for checks scripts:
 
   Check-Script: file name of checker script
   Abbrev: abbrev
@@ -19,13 +18,26 @@ Description record for `checker' scripts:
   Unpack-Level: 1 | 2
   Needs-Info: info this script needs
 
-Description record of a `Lintian tag':
+Description record of a Lintian tag:
 
   Tag: tag
-  Type: warning | error | info
   Severity: serious | important | normal | minor | wishlist
   Certainty: certain | possible | wild-guess
   Info: description of this tag
   Ref: reference
-  Status: untested | empty 
+  [ Status: untested ]
   [ Experimental: yes ]
+
+Description record of a test case:
+
+  Testname: directory name of test
+  Version: package version
+  Description: description of test case
+  [ Type: native | non-native ]
+  [ Test-For: whitespace-separated list of tags ]
+  [ Test-Against: whitespace-separated list of tags ]
+  [ References: Debian Bug# | msg-id[, ... ] ]
+  [ Date: date for changelog entry ]
+  [ Author: maintainer for control and changelog ]
+  [ Architecture: architecture for control ]
+  [ Section: section for package ]

-- 
Debian package checker


-- 
To UNSUBSCRIBE, email to debian-lint-maint-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org



[SCM] Debian package checker branch, master, updated. 2.1.3-57-g7e12931

2009-01-01 Thread Russ Allbery
The following commit has been merged in the master branch:
commit 7e1293160484712ead203bc39364c3a26d9b99f7
Author: Russ Allbery r...@debian.org
Date:   Thu Jan 1 11:10:03 2009 -0800

Add documentation of the new test suite

* t/tests/README:
  + [RA] Add documentation of the new test suite.

Also add some basic information and a pointer to t/runtests and do some
minor reorganization of variable setup.

diff --git a/debian/changelog b/debian/changelog
index acf61ba..d886b9e 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -125,6 +125,8 @@ lintian (2.1.4) UNRELEASED; urgency=low
 + [RA] Support finding and running all tests for or against a
   particular tag.
 + [RA] Correctly set up non-native packages for dpkg-source.
+  * t/tests/README:
++ [RA] Add documentation of the new test suite.
 
  -- Russ Allbery r...@debian.org  Sun, 28 Dec 2008 13:02:03 -0800
 
diff --git a/t/runtests b/t/runtests
index 88aa2b9..2c597db 100755
--- a/t/runtests
+++ b/t/runtests
@@ -2,6 +2,7 @@
 
 # Copyright © 1998 Richard Braakman
 # Copyright © 2008 Frank Lichtenheld
+# Copyright © 2008 Russ Allbery
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -19,6 +20,10 @@
 # Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston,
 # MA 02110-1301, USA.
 
+# The harness for Lintian's new test suite.  Normally run through the runtests
+# or check-tag targets in debian/rules.  For detailed information on the test
+# suite layout and naming conventions, see t/tests/README.
+
 use strict;
 use warnings;
 
@@ -46,12 +51,6 @@ END
 exit 2;
 }
 
-# for debugging:
-my $debug = 0;
-
-# Tests layout:
-# XXX FIXME XXX
-
 # The build output is directed to build.pkgname in the testing-directory.
 
 # Exit codes:
@@ -59,9 +58,10 @@ my $debug = 0;
 # 1 - one or more tests failed
 # 2 - an error prevented proper running of the tests
 
+my $debug = 0;
 my $run_all_tests = 0;
-my $verbose = 0;
 my $tag;
+my $verbose = 0;
 
 # --- Parse options and arguments
 Getopt::Long::Configure('bundling');
diff --git a/t/tests/README b/t/tests/README
index 4c60f40..3983f02 100644
--- a/t/tests/README
+++ b/t/tests/README
@@ -1,3 +1,118 @@
+WRITING A TEST
+==
+
+A test in this framework consists of two components: a .desc file
+providing metadata about the test and a directory containing the files
+used to build the test package.
+
+The .desc file
+--
+
+The .desc file is formatted like a Debian control file and should be
+named with a sequence number, an underscore, and the name of the test
+directory.  See TEST NAMING CONVENTIONS below for information about
+the sequence number and test and directory naming.
+
+The required fields are:
+
+Testname: should match the directory name
+Version: version number of package
+Description: description of the purpose of the test
+
+In addition, the tags (if any) that the test case is testing for
+should be listed in a Test-For key.  The tags that the test case is
+testing are not issued (checking againts false positives) should be
+listed in a Test-Against key.  In both cases, the tags should be
+separated by whitespace.  The following format is suggested for
+multiple tags:
+
+Test-For:
+ lintian-tag-1
+ lintian-tag-2
+
+with the tags listed in alphabetical order.
+
+By default, all tests are built as native Debian packages.  To build
+the test case as a non-native package, add:
+
+Type: non-native
+
+to the .desc file.  You will also want to change the version number to
+be non-native unless you're testing a mismatch.
+
+Unless you're writing a test case just to improve Lintian's test
+coverage, you will normally want to add a References field giving the
+source of the test or the bug that you're testing for.  This should be
+one of Debian Bug# for a bug report, a URL into the
+debian-lint-maint mailing list archives, or a message ID for the
+message to the list.
+
+All other fields in the .desc file are optional and control the values
+filled into the template control and changelog files by the test suite
+harness.  The following additional fields are currently supported:
+
+Date: date for changelog entry
+Author: maintainer for control and changelog
+Architecture: architecture for control
+Section: section for package
+
+See t/runtests and t/templates/skel/{control,changelog}.in for how
+they're used.
+
+The test directory
+--
+
+The test directory should contain the following files and directories:
+
+debian
+The file tree forming the unpacked package.  This directory should
+normally have a debian subdirectory containing any files that are
+different than the template unless exactly the default template
+values are used.  The skeleton will be copied to the build
+directory for the package and then the contents of this directory
+will be copied over