| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
| |
makedef.pl exports them unconditionally and embed.pl should use the same
logic.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a macro that does a quick check before calling a function to
actually do the work. The sense of that check was reversed.
The check is repeated in the function, but this time correctly.
The bottom line was if the function should be called, the macro failed
to call it. If it shouldn't be called the macro would call it, but the
check in the function caused it to return without doing anything. Hence
this whole thing was a no-op.
However, I cant get things to fail without this patch. ISTR this was
the result of a BBC, with another one likely affected, but I can't find
them now.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Brace expansion is not available in a POSIX shell, is handled
slightly differently by the shells that do support it, and is
unlikely to work when the underlying implementation for Perl's
glob() function is not a Unix shell. So instead of doing:
{foo,bar,baz}/*.t
just accumulate the results of simpler glob operations:
foo/*.t
bar/*.t
baz/*.t
This also allows us to dispense with the recursive function
_extract_tests() and its fancy dispatch based on reference type;
we would only ever be calling it with a simple string argument,
so we might as well just call glob() directly.
|
|
|
| |
Generated by patch(1) when applying diffs to the tree
|
| |
|
| |
|
|
|
|
| |
This comment did not reflect what is actually now happening.
|
|
|
|
|
| |
THe documentation for my_strftime was moved to locale.c earlier in 5.37.
This comment should have been updated then.
|
|
|
|
|
|
|
|
|
| |
Otherwise the test suite dies with:
Can't read op/hook.DIR/require.t.
The problem never arose until 93f6f9654a81b66c4 added another
directory one level down from those immediately under t/.
|
|
|
|
|
| |
Otherwise we'll try (and fail) to make a global symbol for a
static inline function.
|
|
|
|
|
|
|
|
|
| |
It breaks the build on VMS because .PHONY is a syntax error in
the native make-like utilities. It probably also breaks nmake
builds on Windows.
The solution here is to exclude the .PHONY directive unless running
under gmake or bsdmake.
|
|
|
|
|
|
|
|
|
| |
ppport.h is pod, but the link to it, removed by this commit, is broken,
resulting in a 404 "Raptor not found" from
https://perldoc.perl.org/Devel::PPPort#SEE-ALSO
This commit changes the mention of the file from a link to a F<>.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
(including a 5.36.1, currently aiming for 23 April)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Karl complained about some of the wrapping logic we use for expressions.
This tweaks the rules in a number of different ways in an attempt to
produce more legible expressions. For instance if we have a complex
expression with different parenthesized sub expressions, then try to put
each sub expression on its own line. A previous patch ensures that we
put shorter sub expressions first, and this patch builds on that to put
each sub expression on its own line.
We also use different logic to wrap the expressions, with the end result
that each line should have the same number of defined() operations on it
(with the exception of the last). We also try harder to line up
logical operators and defined() functions.
|
|
|
|
|
|
|
|
|
| |
contents is short
it is a bit "noisy" to have comments that duplication the conditions
when the original line with the condition is visible on the screen at
the same time. this patch changes the rules so we only add these comments
when the clause is 10 lines or more from its prior
|
|
|
|
| |
which in turn allows the nested if clauses to be merged
|
|
|
|
|
| |
if we have defined(X) && (defined(Y) || defined(Z)) put the defined(X)
first because it has less operations in it.
|
|
|
|
|
| |
This generally was getting set anyway, but a test yet to be committed
found a case where it wasn't.
|
|
|
|
|
|
|
|
| |
Test that we can pass test with -DNO_TAINT_SUPPORT but without
-DSILENT_NO_TAINT_SUPPORT. Both disable taint mode, but the latter
causes -t and -T to be silently ignored, whereas the former by itself
causes use of -t and -T to throw fatal exceptions during process
startup.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch uses a collection of heuristics to skip test files which
would die on a perl compiled with -DNO_TAINT_SUPPORT but without
-DSILENT_NO_TAINT_SUPPORT.
-DNO_TAINT_SUPPORT disables taint support in a "safe" way, such that if
you try to use taint mode with the -t or -T options an exception will be
thrown informing you that the perl you are using does not support taint.
(The related setting -DSILENT_NO_TAINT_SUPPORT disables taint support
but causes the -t and -T options to be silently ignored.)
The error from using -t and -T is thrown very early in the process
startup and there is no way to "gracefully" handle it and convert it
into something else, for instance to skip a test file which contains it.
This patch generally fixes our code to skip these tests.
* Make t/TEST and t/harness check shebang lines and use filename checks
to filter out tests that use -t or -T. Primarily this is the result of
checking their shebang line, but some cpan/ files are excluded by
name, either from a very short list of exclusions, or because their
file name contains the word "taint". Non-cpan test files were fixed
individually as noted below.
* test.pl - make run_multiple_progs() skip test cases based on the
switches that are part of the test definition. This function is
used in a great deal of our internal tests, so it fixes a lot of
tests in one go.
* XS-APITest/t/call.t, t/run/switchDX.t, lib/B/Deparse.t - Skip a small
set of tests in each file.
|
|
|
|
|
|
|
|
| |
Add an entry for -DSILENT_NO_TAINT_SUPPORT to our linux based test
matrix. Currently we cannot do the same for plain -DNO_TAINT_SUPPORT
as it chokes on -t and -T on the command line.
[Committers note: edited commit message to add detail]
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This adds 'taint_disabled' and 'taint_support' to Config.pm and %Config.
This way people can use them while we decide what to do about the
changes to Configure. We shouldn't need to have Configure changed to
export status variables like this in Config.pm
See: https://github.com/Perl-Toolchain-Gang/Test-Harness/pull/118
and: https://github.com/Perl/perl5/pull/20972
for related work that is stalled because we have not decided what
to do about these variables.
|
|
|
|
|
|
|
|
|
| |
- fix (;$)
- remove infinite loops from check_proto()
- implement (+)
- fix (\@) and (\%)
Fixes GH #20989.
|
|
|
|
|
|
|
|
|
|
|
| |
Manually messing around with Z<> and E<nbsp> just ends up looking weird
in some formatters. See for example
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1033649>.
Use POD's built-in support for numbered lists instead. (Also, add the
missing "." after some numbers in the first list.)
Fixes #20997.
|
|
|
|
|
|
|
|
|
| |
Previously:
regexec.c: In function ‘S_capture_clear’:
regexec.c:373:72: warning: unused parameter ‘str’ [-Wunused-parameter]
373 | S_capture_clear(pTHX_ regexp *rex, U16 from_ix, U16 to_ix, const char *str comma_pDEPTH) {
| ~~~~~~~~~~~~^~~
|
|
|
|
|
|
| |
This thinko was exposed by smoke tests using an uncommitted test.
PEBKAC
|
|
|
|
|
|
| |
The $type variable in typemaps is documented as in perlxstypemap as
"any : replaced with _", however currently it only does so in INPUT
sections. This will also make it do the same in OUTPUT sections.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Our checks on the define info we expose via Internals::V(), especially
the sorted part, did not really work properly as it only checked defines
that are actually exposed in our standard builds. Many of the defines
that are exposed in this list are special cases that would not be
enabled in a normal build we test under CI, and indeed prior to this
patch it was possible for us to produce unsorted output if certain
defines were enabled.
This patch adds checks that reads the actual code. It checks that the
define and the string are the same, and it checks that strings would be
output in sorted order assuming every define was enabled.
There are two historical exceptions where the string we show and the
define use internally are different, but we work around these two cases
with as special case hash.
|
|
|
|
|
| |
... in the Module::Install::DSL hack. Also, move `{` up to the same line
as the controlling `if` for consistency with the rest of the file.
|
|
|
|
|
|
|
|
| |
`is_module_install_hack` is a local variable in S_process_special_blocks
that is only used to silently treat INIT blocks (in package
Module::Install::DSL) as BEGIN blocks. But instead of setting the
variable and jumping before the `if` block that checks the variable, we
can just jump into the block and get rid of the variable.
|
| |
|
| |
|
| |
|