mirror of
https://github.com/moparisthebest/curl
synced 2024-12-23 08:38:49 -05:00
test1173: detect some basic man page format mistakes
Triggered by PR #4111 Closes #4113
This commit is contained in:
parent
4c91ab7b2f
commit
7fb66c4034
@ -129,7 +129,7 @@ test1136 test1137 test1138 test1139 test1140 test1141 test1142 test1143 \
|
||||
test1144 test1145 test1146 test1147 test1148 test1149 test1150 test1151 \
|
||||
test1152 test1153 test1154 test1155 test1156 test1157 test1158 test1159 \
|
||||
test1160 test1161 test1162 test1163 test1164 test1165 \
|
||||
test1170 test1171 test1172 \
|
||||
test1170 test1171 test1172 test1173 \
|
||||
\
|
||||
test1200 test1201 test1202 test1203 test1204 test1205 test1206 test1207 \
|
||||
test1208 test1209 test1210 test1211 test1212 test1213 test1214 test1215 \
|
||||
|
26
tests/data/test1173
Normal file
26
tests/data/test1173
Normal file
@ -0,0 +1,26 @@
|
||||
<testcase>
|
||||
<info>
|
||||
<keywords>
|
||||
source analysis
|
||||
documentation
|
||||
--manual
|
||||
</keywords>
|
||||
</info>
|
||||
|
||||
#
|
||||
# Client-side
|
||||
<client>
|
||||
<server>
|
||||
none
|
||||
</server>
|
||||
|
||||
<name>
|
||||
Basic man page syntax check
|
||||
</name>
|
||||
|
||||
<command type="perl">
|
||||
%SRCDIR/manpage-syntax.pl %SRCDIR/../docs/*.1 %SRCDIR/../docs/libcurl/*.3
|
||||
</command>
|
||||
</client>
|
||||
|
||||
</testcase>
|
63
tests/manpage-syntax.pl
Normal file
63
tests/manpage-syntax.pl
Normal file
@ -0,0 +1,63 @@
|
||||
#!/usr/bin/env perl
|
||||
#***************************************************************************
|
||||
# _ _ ____ _
|
||||
# Project ___| | | | _ \| |
|
||||
# / __| | | | |_) | |
|
||||
# | (__| |_| | _ <| |___
|
||||
# \___|\___/|_| \_\_____|
|
||||
#
|
||||
# Copyright (C) 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||
#
|
||||
# This software is licensed as described in the file COPYING, which
|
||||
# you should have received as part of this distribution. The terms
|
||||
# are also available at https://curl.haxx.se/docs/copyright.html.
|
||||
#
|
||||
# You may opt to use, copy, modify, merge, publish, distribute and/or sell
|
||||
# copies of the Software, and permit persons to whom the Software is
|
||||
# furnished to do so, under the terms of the COPYING file.
|
||||
#
|
||||
# This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
|
||||
# KIND, either express or implied.
|
||||
#
|
||||
###########################################################################
|
||||
#
|
||||
# Scan man page(s) and detect some simple and yet common formatting mistakes.
|
||||
#
|
||||
# Output all deviances to stderr.
|
||||
|
||||
use strict;
|
||||
use warnings;
|
||||
|
||||
# we may get the dir roots pointed out
|
||||
my @manpages=@ARGV;
|
||||
my $errors = 0;
|
||||
|
||||
sub scanmanpage {
|
||||
my ($file) = @_;
|
||||
|
||||
print "Check $file\n";
|
||||
open(M, "<$file") || die "no such file: $file";
|
||||
my $line = 1;
|
||||
while(<M>) {
|
||||
if($_ =~ /^\'/) {
|
||||
print STDERR "$file:$line line starts with single quote!\n";
|
||||
$errors++;
|
||||
}
|
||||
if($_ =~ /\\f([BI])(.*)/) {
|
||||
my ($format, $rest) = ($1, $2);
|
||||
if($rest !~ /\\fP/) {
|
||||
print STDERR "$file:$line missing \\f${format} terminator!\n";
|
||||
$errors++;
|
||||
}
|
||||
}
|
||||
$line++;
|
||||
}
|
||||
close(M);
|
||||
}
|
||||
|
||||
|
||||
for my $m (@manpages) {
|
||||
scanmanpage($m);
|
||||
}
|
||||
|
||||
exit $errors;
|
Loading…
Reference in New Issue
Block a user