Craig writes:
> The patch at the end of this message fixes several problems with the
> japh test, including getting it to pass arguments to its own skip
> function in the expected order, getting it to increment the test
> counter when it skips multiple tests, getting it to not insert extra
> newlines in the output stream when it skips tests, getting it to
> actually skip the tests that it has marked in the data with the
> SKIP_OS tag, and dodging a couple of uninitialized value warnings in
> the END blocks. It now runs cleanly on VMS and will probably be a
> bit better on some other OS's as well.
Except for the END blocks, all of the other things were already fixed.
I am confused about your change in the END blocks, you changed:
END {unlink_all $datafile}
to
END {1 while unlink $datafile}
The unlink_all function does a '1 while unlink $datafile', and it will
print an error message if the file couldn't be removed. What is the
benefit of not using 'unlink_all'?
> I'm sorry to pick on Abigail, who is hardly the outrider in cryptic
> test descriptions, but the lone comment at the beginning of the test
> is less than helpful:
Will this patch do?
--- t/japh/abigail.t.orig Tue Apr 23 11:28:00 2002
+++ t/japh/abigail.t Tue Apr 23 11:32:34 2002
@@ -3,6 +3,18 @@
#
# Tests derived from Japhs.
#
+# These test use obscure features of Perl, or surprising combinations
+# of features. The tests were added because in the past, they have
+# exposed several bugs in Perl.
+#
+# Some of these tests may actually (mis)use bugs or use undefined behaviour.
+# These tests are still useful - behavioural changes or bugfixes will be
+# noted, and a remark can be put in the documentation. (Don't forget to
+# disable the test!)
+#
+# Getting everything to run well on the myriad of platforms Perl runs on
+# is unfortunally, not a trivial task.
+#
BEGIN {
if (ord("A") == 193) {