summaryrefslogtreecommitdiff
path: root/Porting/patching.pod
diff options
context:
space:
mode:
Diffstat (limited to 'Porting/patching.pod')
-rw-r--r--Porting/patching.pod35
1 files changed, 30 insertions, 5 deletions
diff --git a/Porting/patching.pod b/Porting/patching.pod
index b2a86b6f34..b528ad7080 100644
--- a/Porting/patching.pod
+++ b/Porting/patching.pod
@@ -2,10 +2,10 @@
patching.pod - Appropriate format for patches to the perl source tree
-=head2re to get this document
+=head2 Where to get this document
The latest version of this document is available from
- http://www.tdrenterprises.com/perl/perlpatch.html
+ http://perrin.dimensional.com/perl/perlpatch.html
=head2 How to contribute to this document
@@ -130,8 +130,33 @@ block of code that you are patching.
=item Testsuite
-Also please include an addition to the regression tests to properly
-exercise your patch.
+When submitting a patch you should make every effort to also include
+an addition to perl's regression tests to properly exercise your
+patch. Your testsuite additions should generally follow these
+guidelines (courtesy of Gurusamy Sarathy (gsar@engin.umich.edu))-
+
+ Know what you're testing. Read the docs, and the source.
+ Tend to fail, not succeed.
+ Interpret results strictly.
+ Use unrelated features (this will flush out bizarre interactions).
+ Use non-standard idioms (otherwise you are not testing TIMTOWTDI).
+ Avoid using hardcoded test umbers whenever possible (the EXPECTED/GOT style
+ found in t/op/tie.t is much more maintainable, and gives better failure
+ reports).
+ Give meaningful error messages when a test fails.
+ Avoid using qx// and system() unless you are testing for them. If you
+ do use them, make sure that you cover _all_ perl platforms.
+ Unlink any temporary files you create.
+ Promote unforeseen warnings to errors with $SIG{__WARN__}.
+ Be sure to use the libraries and modules shipped with version being tested,
+ not those that were already installed.
+ Add comments to the code explaining what you are testing for.
+ Make updating the '1..42' string unnecessary. Or make sure that you update it.
+ Test _all_ behaviors of a given operator, library, or function-
+ All optional arguments
+ Return values in various contexts (boolean, scalar, list, lvalue)
+ Use both global and lexical variables
+ Don't forget the exceptional, pathological cases.
=back
@@ -261,7 +286,7 @@ mind. 8-)
=head1 Last Modified
-Last modified 1 May 1998 by Daniel Grisinger <dgris@tdrenterprises.com>
+Last modified 21 May 1998 by Daniel Grisinger <dgris@perrin.dimensional.com>
=head1 Author and Copyright Information