#!/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>
#
$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};
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};
@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};
$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 ------------------------------------------------------
}
}
+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;
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';
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) {