]> git.cameronkatri.com Git - mandoc.git/blobdiff - regress/regress.pl
minor markup simplifications
[mandoc.git] / regress / regress.pl
index 2aa988b4165d6a4a905c29e2aa1550861b73593e..4ba905aff6ce46200c0e7b53f96cd66f17df8763 100755 (executable)
@@ -1,6 +1,6 @@
 #!/usr/bin/env perl
 #
-# $Id: regress.pl,v 1.3 2017/02/09 15:34:28 schwarze Exp $
+# $Id: regress.pl,v 1.6 2017/05/30 19:30:40 schwarze Exp $
 #
 # Copyright (c) 2017 Ingo Schwarze <schwarze@openbsd.org>
 #
@@ -113,15 +113,16 @@ for (@ARGV) {
                $displaylevel = int;
                next;
        }
-       /^(all|ascii|utf8|man|html|lint|clean|verbose)$/
+       /^(all|ascii|utf8|man|html|markdown|lint|clean|verbose)$/
            or usage "$_: invalid modifier";
        $targets{$_} = 1;
 }
 $targets{all} = 1
     unless $targets{ascii} || $targets{utf8} || $targets{man} ||
-      $targets{html} || $targets{lint} || $targets{clean};
+      $targets{html} || $targets{markdown} ||
+      $targets{lint} || $targets{clean};
 $targets{ascii} = $targets{utf8} = $targets{man} = $targets{html} =
-    $targets{lint} = 1 if $targets{all};
+    $targets{markdown} = $targets{lint} = 1 if $targets{all};
 $displaylevel = 3 if $targets{verbose};
 
 
@@ -160,8 +161,9 @@ if ($subdir eq '.') {
 
 my @mandoc = '../mandoc';
 my @subdir_names;
-my (@regress_testnames, @utf8_testnames, @html_testnames, @lint_testnames);
-my (%skip_ascii, %skip_man);
+my (@regress_testnames, @utf8_testnames, @lint_testnames);
+my (@html_testnames, @markdown_testnames);
+my (%skip_ascii, %skip_man, %skip_markdown);
 
 push @mandoc, split ' ', $vars{MOPTS} if $vars{MOPTS};
 delete $vars{MOPTS};
@@ -185,6 +187,10 @@ if (defined $vars{HTML_TARGETS}) {
        @html_testnames = split ' ', $vars{HTML_TARGETS};
        delete $vars{HTML_TARGETS};
 }
+if (defined $vars{MARKDOWN_TARGETS}) {
+       @markdown_testnames = split ' ', $vars{MARKDOWN_TARGETS};
+       delete $vars{MARKDOWN_TARGETS};
+}
 if (defined $vars{LINT_TARGETS}) {
        @lint_testnames = split ' ', $vars{LINT_TARGETS};
        delete $vars{LINT_TARGETS};
@@ -200,12 +206,17 @@ if (defined $vars{SKIP_TMAN}) {
        $skip_man{$_} = 1 for split ' ', $vars{SKIP_TMAN};
        delete $vars{SKIP_TMAN};
 }
+if (defined $vars{SKIP_MARKDOWN}) {
+       $skip_markdown{$_} = 1 for split ' ', $vars{SKIP_MARKDOWN};
+       delete $vars{SKIP_MARKDOWN};
+}
 if (keys %vars) {
        my @vars = keys %vars;
        die "unknown var(s) @vars";
 }
 map { $skip_ascii{$_} = 1; } @regress_testnames if $skip_ascii{ALL};
 map { $skip_man{$_} = 1; } @regress_testnames if $skip_man{ALL};
+map { $skip_markdown{$_} = 1; } @regress_testnames if $skip_markdown{ALL};
 
 # --- run targets ------------------------------------------------------
 
@@ -300,6 +311,27 @@ for my $testname (@html_testnames) {
        }
 }
 
+my $count_markdown = 0;
+for my $testname (@regress_testnames) {
+       next if $onlytest && $testname ne $onlytest;
+       my $i = "$subdir/$testname.in";
+       my $o = "$subdir/$testname.mandoc_markdown";
+       my $w = "$subdir/$testname.out_markdown";
+       if ($targets{markdown} && !$skip_markdown{$testname}) {
+               $count_markdown++;
+               $count_total++;
+               print "@mandoc -T markdown $i\n" if $targets{verbose};
+               sysout $o, @mandoc, qw(-T markdown), $i
+                   and fail $subdir, $testname, 'markdown:mandoc';
+               system @diff, $w, $o
+                   and fail $subdir, $testname, 'markdown:diff';
+       }
+       if ($targets{clean}) {
+               print "rm $o\n" if $targets{verbose};
+               unlink $o;
+       }
+}
+
 my $count_lint = 0;
 for my $testname (@lint_testnames) {
        next if $onlytest && $testname ne $onlytest;
@@ -309,8 +341,8 @@ for my $testname (@lint_testnames) {
        if ($targets{lint}) {
                $count_lint++;
                $count_total++;
-               print "@mandoc -T lint $i\n" if $targets{verbose};
-               syslint $o, @mandoc, qw(-T lint), $i
+               print "@mandoc -T lint -W all $i\n" if $targets{verbose};
+               syslint $o, @mandoc, qw(-T lint -W all), $i
                    and fail $subdir, $testname, 'lint:mandoc';
                system @diff, $w, $o
                    and fail $subdir, $testname, 'lint:diff';
@@ -334,6 +366,7 @@ print " $count_ascii ascii" if $count_ascii;
 print " $count_man man" if $count_man;
 print " $count_utf8 utf8" if $count_utf8;
 print " $count_html html" if $count_html;
+print " $count_markdown markdown" if $count_markdown;
 print " $count_lint lint" if $count_lint;
 
 if (@failures) {