# New Ticket Created by Joshua Hoblitt # Please include the string: [perl #37100] # in the subject line of all future correspondence about this issue. # <URL: https://rt.perl.org/rt3/Ticket/Display.html?id=37100 >
This patch adds a new test, t/docs/pod.t, that scans through the parrot tree and checks the Pod syntax of all files identified by Pod::Find as containing Pod markup. This is invoked by a new test target named "doc_tests" which has been added to the "fulltest" target. This patch also fixes all of the syntax errors currently found by the new test. MANIFEST | 1 + charset/gen_tables.pl | 4 ++++ config/gen/makefiles/root.in | 7 ++++++- docs/pdds/pdd04_datatypes.pod | 4 ---- docs/pdds/pdd09_gc.pod | 4 ++-- lib/Test/More.pm | 3 +++ ops/pic.ops | 4 ++-- t/doc/pod.t | 29 +++++++++++++++++++++++++++++ 8 files changed, 47 insertions(+), 9 deletions(-)
Index: docs/pdds/pdd04_datatypes.pod =================================================================== --- docs/pdds/pdd04_datatypes.pod (revision 9152) +++ docs/pdds/pdd04_datatypes.pod (working copy) @@ -32,16 +32,12 @@ typedefs C<INTVAL> and C<UINTVAL> get you a platform-native signed and unsigned integer respectively. -=back - =head2 Floating point data types Floating point data types are generically referred to as C<NUM>s. These are whatever size float was chosen when parrot was configured. The C level typedef C<FLOATVAL> will get you one of these. -=back - =head2 String data types Parrot has a single internal string form: Index: docs/pdds/pdd09_gc.pod =================================================================== --- docs/pdds/pdd09_gc.pod (revision 9152) +++ docs/pdds/pdd09_gc.pod (working copy) @@ -205,13 +205,13 @@ which might do nothing if the object is already marked live. -=back - =item C<void (*init_pool) (Interp*, struct Small_Object_Pool *)> A function to initialize the given pool. This function should set the following object allocation functions for the given pool. +=back + =head2 Object allocation Each header pool provides one function pointer to get a new object Index: charset/gen_tables.pl =================================================================== --- charset/gen_tables.pl (revision 9152) +++ charset/gen_tables.pl (working copy) @@ -33,6 +33,8 @@ */ HEADER +=over + =item B<classify>( $chr ) Character classification @@ -66,6 +68,8 @@ Create a whole character table +=back + =cut sub create_table { Index: ops/pic.ops =================================================================== --- ops/pic.ops (revision 9152) +++ ops/pic.ops (working copy) @@ -26,12 +26,12 @@ These operations take an infix operation number and PMC arguments. -=over 4 - ######################################## =cut +=over 4 + =item B<pic_infix__>(inconst INT, in PMC, in PMC) One for fun and MOPS. Index: lib/Test/More.pm =================================================================== --- lib/Test/More.pm (revision 9152) +++ lib/Test/More.pm (working copy) @@ -999,6 +999,8 @@ Test::Differences and Test::Deep provide more in-depth functionality along these lines. +=back + =cut use vars qw(@Data_Stack %Refs_Seen); @@ -1115,6 +1117,7 @@ They may be deprecated in future versions. +=over =item B<eq_array> Index: MANIFEST =================================================================== --- MANIFEST (revision 9152) +++ MANIFEST (working copy) @@ -1778,6 +1778,7 @@ src/vtables.c [] src/warnings.c [] t/benchmarks.t [] +t/doc/pod.t [] t/dynclass/foo.t [] t/dynclass/gdbmhash.t [] t/dynclass/pybuiltin.t [] Index: t/doc/pod.t =================================================================== --- t/doc/pod.t (revision 0) +++ t/doc/pod.t (revision 0) @@ -0,0 +1,29 @@ +#! perl -w +# Copyright: 2005 The Perl Foundation. All Rights Reserved. +# $Id$ + +use strict; + +use vars qw( %docs $n_docs ); + +BEGIN { + eval "use Pod::Find"; + if ($@) { + print "1..1\nok 1 # skip Pod::Find not installed\n"; + exit; + } + %docs = Pod::Find::pod_find( + { -verbose => 0, -inc => 0 }, + qw( . ) # search path(s) + ); + + $n_docs = scalar keys %docs; +} + +use Test::More tests => $n_docs; + +eval "use Test::Pod 0.95"; +SKIP: { + skip "Test::Pod 0.95 not installed.", $n_docs if $@; + Test::Pod::pod_file_ok( $_ ) foreach keys %docs; +} Index: config/gen/makefiles/root.in =================================================================== --- config/gen/makefiles/root.in (revision 9152) +++ config/gen/makefiles/root.in (working copy) @@ -1218,7 +1218,8 @@ run_tests \ src_tests \ perl_tests \ - testbench + testbench \ + doc_tests # bounds checking, slow core testb : test_prep @@ -1269,6 +1270,10 @@ testbench: test_prep $(PERL) t/harness t/benchmarks.t +# doc tests +doc_tests : + $(PERL) t/harness t/doc/pod.t + # Running a benchmark mopsbench : test_prep $(PARROT) $(PARROT_ARGS) examples/assembly/mops.pasm