]> git.cameronkatri.com Git - mandoc.git/blobdiff - regress/regress.pl.1
make the path to ar(1) configurable, needed by NixOS;
[mandoc.git] / regress / regress.pl.1
index 6feebd1611ce91da868d784b8529c4af0c50c122..73db6118efdec7387df81e465d59c03dde996cbb 100644 (file)
@@ -1,6 +1,6 @@
-.\"    $Id: regress.pl.1,v 1.1 2017/02/08 03:02:13 schwarze Exp $
+.\"    $Id: regress.pl.1,v 1.5 2020/03/13 15:32:31 schwarze Exp $
 .\"
-.\" Copyright (c) 2017 Ingo Schwarze <schwarze@openbsd.org>
+.\" Copyright (c) 2017, 2019, 2020 Ingo Schwarze <schwarze@openbsd.org>
 .\"
 .\" Permission to use, copy, modify, and distribute this software for any
 .\" purpose with or without fee is hereby granted, provided that the above
@@ -14,7 +14,7 @@
 .\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
 .\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
 .\"
-.Dd $Mdocdate: February 8 2017 $
+.Dd $Mdocdate: March 13 2020 $
 .Dt REGRESS.PL 1
 .Os
 .Sh NAME
@@ -23,7 +23,7 @@
 .Sh SYNOPSIS
 .Nm ./regress.pl
 .Oo
-.Ar directory Ns Op Pf : Ar test
+.Ar directory Ns Op Pf / Ar test
 .Op Ar modifier ...
 .Oc
 .Sh DESCRIPTION
@@ -32,35 +32,24 @@ The
 steering script allows running the
 .Xr mandoc 1
 regression suite on arbitrary operating systems,
-even though the suite was designed for OpenBSD only.
+even though the suite was originally designed for OpenBSD only.
 .Pp
 When run without an argument,
 .Nm
 runs the complete regression suite.
 .Pp
-When run with one argument, that argument can be:
-.Bl -enum
-.It
-A single dot to run the complete suite.
-.It
-One of the top level directories, for example
-.Pa mdoc ,
-to run the test suite for a complete language or feature group.
-.It
-A subdirectory, for example
-.Pa man/IP ,
-to run the tests for a specific macro or an individual feature.
-.It
-A subdirectory with a test name appended with a colon, for example
-.Pa char/unicode : Ns Pa named ,
-to run the tests for one particular input file.
-.El
+The first argument is a Perl regular expression to match test names,
+automatically anchored at the beginning of the names.
+Test names are names of test input files without the file name extension
+.Pa .in ,
+for example
+.Pa char/unicode/named .
 .Pp
 Any additional arguments modify the way the tests are run.
 The default is
 .Cm all .
 The following modifiers are available:
-.Bl -tag -width verbose
+.Bl -tag -width markdown
 .It Cm all
 Run all kinds of subtests.
 This implies all other modifiers except
@@ -85,6 +74,12 @@ warning and error output.
 Run subtests for
 .Fl T Cm man
 output mode.
+.It Cm markdown
+Run subtests for
+.Fl T Cm markdown
+output mode.
+.It Cm tag
+Run subtests for automatic and manual tagging.
 .It Cm utf8
 Run subtests for
 .Fl T Cm utf8
@@ -92,35 +87,6 @@ output mode.
 .It Cm verbose
 Display approximate indications of what is being done.
 .El
-.Pp
-The amount of summary lines shown can be modified by giving an
-argument consisting of a single digit:
-.Bl -tag -width verbose
-.It Cm 3
-Show all summary lines for all directories entered.
-Even without
-.Cm verbose ,
-this generates more than hundred lines of output when running the
-complete regression suite.
-.It Cm 2
-This is the default.
-It shows the summary lines for the
-.Ar directory
-given on the command line and its immediate children.
-Except for
-.Pa mdoc ,
-the output usually fits on one screen.
-.It Cm 1
-Only show a single summary line for the whole run.
-.It Cm 0
-Do not show any summary lines.
-No output means success.
-Success or failure can also be seen from the exit status.
-.El
-.Pp
-All failed tests are always reported, even when the
-.Cm 0
-modifier is given.
 .Sh EXIT STATUS
 .Ex -std
 .Sh EXAMPLES
@@ -136,15 +102,9 @@ Complete check, but keep the tree clean:
 .Pp
 .Dl ./regress.pl \&. all clean
 .Pp
-Test all of
-.Pa mdoc ,
-but don't print the usual 65 lines of output:
-.Pp
-.Dl ./regress.pl mdoc 1
-.Pp
 Investigate a specific failure:
 .Pp
-.Dl ./regress.pl mdoc/Bd:broken man verbose
+.Dl ./regress.pl mdoc/Bd/broken man verbose
 .Sh HISTORY
 The
 .Nm
@@ -187,3 +147,12 @@ The
 subdirectory of the regression suite is not included.
 It uses a Makefile structure that differs vastly from the
 rest of the suite.
+.Sh BUGS
+The C library function
+.Xr wcwidth 3
+is known to be buggy on Solaris, which may cause failures in the
+regression suite, usually because output lines containing affected
+Unicode characters wrap too early.
+.Pp
+The regression suite does not work at all on Solaris 10 or earlier
+because the Perl interpreter provided with those systems is too old.