summaryrefslogtreecommitdiff
path: root/t
Commit message (Collapse)AuthorAgeFilesLines
* t/op/catch.t: add comments explaining its purposeDavid Mitchell2022-06-201-0/+6
| | | | | This test file didn't have any comments explaining what it was for: especially confusing as there's no 'catch' op.
* fix panic from eval {} inside /(?{...})/David Mitchell2022-06-201-1/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | GH #19680 Normally in code like eval {.... }; then even if the eval is the last statement in the file or sub, the OP_LEAVETRY isn't the last op in the execution path: it's followed by an OP_LEAVE or OP_LEAVESUB or whatever, which will be the op to resume execution from after an exception is caught. However, if the eval is the *last* thing within a regex code block: /(?{ ...; eval {....}; })/ then the op_next pointer of the OP_LEAVETRY op is actually NULL. This confused S_docatch(), which wrongly assumed that a NULL PL_restartop indicated that the caught exception should be rethrown, popping execution back to the outer perl_run() call and hence leading to the confused panic warning: "panic: restartop in perl_run" The fix is to to separate out the "do we need to re-throw" test, (PL_restartjmpenv != PL_top_env), from the "no more ops so no need to re-enter the runops loop" test, (!PL_restartop).
* Remove usage of old package separator.Nicolas Mendoza2022-06-181-9/+9
| | | | | | | | | | | | | | | | | | | | | | The old separator is being tested in various other places: lib/overload.t t/comp/package.t t/comp/parser.t t/lib/croak/toke t/lib/warnings/toke t/op/method.t t/op/ref.t t/op/sort.t t/op/stash.t t/op/stash_parse_gv.t t/re/pat_re_eval.t t/uni/package.t t/uni/parser.t t/uni/stash.t t/uni/variables.t In this test it seems to be an actual leftover from old times.
* perldiag: ispunct is a libc, section 3, fcnKarl Williamson2022-06-181-1/+1
|
* perlapi: Split two groups of entriesKarl Williamson2022-06-181-0/+1
| | | | | The sorting order of perlapi is supposed to be dictionary order. These synonyms were grouped with other names in a non-ordered way.
* t/porting/libperl.t: don't check for non-public symbolsTomasz Konojacki2022-06-181-3/+2
| | | | | Both Perl_peep and Perl_pp_uc are private. Check for Perl_croak instead; it's a part of the public API.
* GH19478: applying taint is no reason to mess with posHugo van der Sanden2022-06-161-1/+13
| | | | | | | | | | | | | | 25fdce4a16 introduced a chunk in sv_magic() to "force pos to be stored as characters, not bytes" whenever any magic was applied to a string marked UTF8. It is not clear why a random call to sv_magic(), eg to mark a string as tainted, needs to do this - it would seem more logical for the check to happen either earlier (when the string first qualifies as SvMAGICAL(sv) && DO_UTF8(sv)) or later (eg on mg_find). Experimentally remove this block - it appears to cause no test failures, and allows the new test cases to pass.
* A better error message for `try {} catch {}` missing its (VAR)Paul "LeoNerd" Evans2022-06-131-0/+9
| | | | | | | | | | | | As suggested in https://github.com/Perl/perl5/issues/19811, this now outputs the message: $ ./perl -Mexperimental=try try { A() } catch { B() } catch block requires a (VAR) at - line 2, near "catch {" Execution of - aborted due to compilation errors.
* Remove support for UltrixKarl Williamson2022-06-104-20/+7
| | | | | | Ultrix has been removed. Ultrix was the native Unix-like operating system for various Digital Equipment Corporation machines. Its final release was in 1995.
* Comprehensive charset.t testsKarl Williamson2022-06-061-21/+110
| | | | | | These have been occasionally useful, but take quite a bit longer than just the sameples normally used. Enabled by environment variable $PERL_DEBUG_FULL_TEST
* remove some leftover debug output from filetime_from_time()Tony Cook2022-06-031-0/+14
|
* t/op/vec.t: use strict, warningsKarl Williamson2022-05-311-4/+12
|
* Don't check POD embedded in HTML generated from other PODjkahrman2022-05-281-2/+3
|
* Revert "Revert "mg.c, Cwd.pm - Empty path is the same as "." which is ↵Yves Orton2022-05-282-3/+21
| | | | | | | | | | forbidden under taint"" This reverts commit 9eb153ffbbde62558146e8f9b837034f42878e13. The patch this unreverts was accidentally pushed to blead without going through PR or smoke process which it really needs. This patch exists so it can go through that process.
* GH16319: avoid recursion parsing 'pack' templateHugo van der Sanden2022-05-281-1/+12
| | | | | A template with many open brackets or open parentheses could overflow the stack, modify the parsing loop to avoid that.
* podcheck.t: Note file that not to consider podKarl Williamson2022-05-271-0/+4
| | | | | | This file is part of a corpus, and is not to be visible to any person reading documentation. We don't care about any potential issues in it, therefore.
* perlapi: Document and mark internal my_socketpairKarl Williamson2022-05-181-0/+1
| | | | | This emulates socketpair on some systems that lack it; and should all be under the level that XS code would deal with.
* Loosen regex in tests which validate process name.Todd Rinaldo2022-05-181-1/+2
| | | | | | This addresses some kernel inconsistencies on how the process name can be represented in the /proc file. This specifically addresses a failure on AlmaLinux 8.
* fixup! Make t/op/magic.t pass on AlmaLinux 8’s kernel.Felipe Gasper2022-05-131-0/+10
|
* Make t/op/magic.t pass on AlmaLinux 8’s kernel.Felipe Gasper2022-05-131-1/+5
| | | | Issue #19690
* RMG: Fix verbatim line lengthKarl Williamson2022-05-131-1/+1
| | | | | | This changes the indent to the minimum necessary to trigger pod verbatim line handling. Doing so stops the wrapping in this file for all but one line, which has a good reason to not be split in two in the source.
* perlapi: Add some commentary for rsignal()Karl Williamson2022-05-111-0/+1
|
* perlapi: Document my_chsizeKarl Williamson2022-05-111-0/+1
|
* perlapi: Document mkstemp, mkostempKarl Williamson2022-05-091-0/+2
|
* perlapi: Document my_popen, my_pcloseKarl Williamson2022-05-091-0/+2
|
* perlhist: Fix overlong verbatim pod lineKarl Williamson2022-05-061-1/+0
|
* perlhack: Fix some pod markup, overlong verbatimKarl Williamson2022-05-061-2/+0
| | | | | | | the F<> marker shouldn't need to be told whether or not to use "" to demarcate its argument. It should know what to do. Also fix some overlong verbatim lines
* podcheck.t: Change $variable nameKarl Williamson2022-05-041-4/+4
| | | | This makes it clearer
* podcheck.t: Skip conflict markers in db fileKarl Williamson2022-05-041-1/+2
| | | | | | When rebasing, you can get conflicts. The simplest solution for a generated file is to regenerate it. But prior to this commit, all such lines would have to be manually removed.
* podcheck.t: Don't chdir without checking if feasibleKarl Williamson2022-05-041-1/+1
| | | | | This converts this file to follow the paradigm everywhere else, to chdir to 't' only if 't' is a directory
* podcheck.t: --show-all doesn't output skipped problemsKarl Williamson2022-05-041-4/+18
| | | | | | | | | | | | | | Before this commit, specifying --show-all caused a fire hose of messages to appear from pods that have many known problems, and whose output is completely suppressed normally. An example is perlepigraphs, where many lines are verbatim quotes from literature, and hence exceed our length limit, but we aren't going to change wrap them (some of them are poetry), so the output from that file of that type of problem is just completely suppressed. This commit keeps such output suppressed while showing all other issues. You can still get the suppressed output unsuppressed by explicitly specifying the file on the command line.
* bisect-runner: Fix verbatim line lengthKarl Williamson2022-05-041-1/+0
| | | | | This changes the indent to the minimum necessary to trigger pod verbatim line handling. Doing so stops the wrapping in this file.
* README.os2: Fix podKarl Williamson2022-05-041-1/+2
| | | | Fix how links are displayed, add some links
* README.irix: Fix overlong verbatim lineKarl Williamson2022-05-041-1/+0
|
* todo.pod: Use m// instead of //Karl Williamson2022-05-041-1/+0
| | | | | This makes it slightly easier for readers to understand, and a lot easier for podcheck.t to understand
* podcheck.t: Treat some additional files speciallyKarl Williamson2022-05-042-2/+6
| | | | | metaconfig units and plain text files aren't pod. And lines like Perl/perl.git aren't going to be file names.
* podcheck.t: White-space, comments, typosKarl Williamson2022-05-041-17/+17
| | | | | This does some white space changes for readability, clarifies comments and pod.
* podcheck.t: Allow dash in argument namesKarl Williamson2022-05-041-16/+17
| | | | | In addition to being able to call this with --add_link, you can now specify --add-link, depending on your preference.
* podcheck.t: Set $| to 1Karl Williamson2022-05-041-0/+2
| | | | | | | This causes the output to be flushed immediately. Without this, some options that tried to tell you that the operation would take a while to complete would not have that message come out until it had in fact completed. The message should be displayed immediately.
* Amiga-Exec/Exec.pm: Fix podKarl Williamson2022-05-041-1/+0
| | | | | This line has a syntax error in it. Fix it, and split into two lines so doesn't wrap on output in an 80 column terminal window
* lib/perl5db.pl: Give proper pod linksKarl Williamson2022-05-041-1/+0
| | | | These internal references are linkable
* lib/experimental.pm is no longer customizedLeon Timmermans2022-04-261-1/+0
|
* Replace 'use strict; use warnings;' with 'use VERSION' in docs code examplesPaul "LeoNerd" Evans2022-04-231-1/+1
|
* skip 2 tests if built with DEBUGGING and no taint supportNeil Bowers2022-04-201-4/+9
|
* Add/correct/delete notes of CUSTOMIZED files in bleadSteve Hay2022-04-201-2/+22
|
* changes to perl tests to handle perl without taint supportNeil Bowers2022-04-206-17/+60
|
* Revert "mg.c, Cwd.pm - Empty path is the same as "." which is forbidden ↵Yves Orton2022-04-202-21/+3
| | | | | | | | | | under taint" This reverts commit 5ede4453c4877110eb5214ff400c173210b101b1. I messed up and pushed it to blead not to the PR branch I meant to push it. Thanks to xenu for noticing. This needs a smoke before it should be applied.
* mg.c, Cwd.pm - Empty path is the same as "." which is forbidden under taintYves Orton2022-04-202-3/+21
| | | | | | | | | | | | | | | | | Having a relative path, including ".", is forbidden under taint. On *nix an empty PATH or an empty PATH component is equivalent to a PATH of ".", so they should be forbidden as well. Note that on Windows the current working directory is ALWAYS checked first if you try to execute something that does not specify its path, regardless of the PATH. I do not know what happens on VMS and I do not have access to a VMS environment to test. There are totally different codepaths for VMS as well. This patch does not (or rather should not) change behavior for VMS. Note this includes a version bump for all modules in dist/PathTools
* op/magic.t - make $SIG{ALRM} local test deal with inherited IGNORE'd signalYves Orton2022-04-191-1/+5
| | | | | | | | | | | | | | | | | | | | Signal ignores can be set up by a parent process and the child process will inherit them. So in some situations when we test $SIG{ALRM} might be "IGNORE" and not undef. So instead of just expecting undef, check what it was before the localization, and then check it is still that value afterwards. I found this while running make test via rebase --exec, something like this reduction (from Matthew Horsfall): $ git rebase --exec='perl -le"print \$SIG{ALRM}"' HEAD~1 IGNORE A similar case for a different signal would be this example (from Leon Timmermans): $ nohup perl -E 'say $SIG{HUP}' 2>/dev/null | cat IGNORE
* Skip Test::Harness t/harness.t SEGV testLeon Timmermans2022-04-181-0/+1
| | | | | This needs a better fix eventually, but this workaround will unblock the CI.