summaryrefslogtreecommitdiff
path: root/t/porting
Commit message (Collapse)AuthorAgeFilesLines
* regen podcheck db after a fix to perlwin32Karl Williamson2023-05-071-1/+0
| | | | | | | | | | | | | | (aka README.win32) The fix was in commit 034a96a9c8546c2e080a802babba5ed9bc6c7798 Author: Elvin Aslanov <rwp.primary@gmail.com> Date: Wed Apr 19 15:17:19 2023 +0200 Add MS Build Tools links Add new section on Microsoft Build Tools, improve formatting.
* Porting/Maintainers.pl - Tidy up CUSTOMIZED filesSteve Hay2023-04-191-1/+3
|
* Devel::PPPort: Fix broken pod linkKarl Williamson2023-04-131-1/+0
| | | | | | | | | 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<>.
* regen/HeaderParser.pm - improved expression formatting and wrappingYves Orton2023-04-051-17/+110
| | | | | | | | | | | | | | | 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.
* t/porting/bincompat.t - test the code itself not just the outputYves Orton2023-03-301-4/+43
| | | | | | | | | | | | | | | | | | 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.
* Porting/maintainers.pl - remove Net-Ping customized filesYves Orton2023-03-291-6/+0
| | | | | Net-Ping is in dist/ which means we are upstream, so there should not be any customized files.
* t/porting/globvar.t - fix for HPUXYves Orton2023-03-291-2/+6
| | | | | | | | | | | On HPUX `nm globals.o` produces output like this (without the indent): [5] | 2420| 2|OBJT |GLOB |0| .rodata|PL_Yes So change the $define qr// to accommodate it. We also have to TODO some of the tests, as HPUX seems to export everything.
* t/porting/test_testlist.t - test that we test the same thing with t/harness ↵Yves Orton2023-03-221-0/+94
| | | | | | | | | | and t/TEST Also that we test everything expected in MANIFEST. Also includes some fixups to t/TEST to deal with the fact that List/Util is not anymore the name of a distribution even though it is the name of an extension. Same for Cwd.
* cpan/libnet - update to version 3.15 and remove old customization infoYves Orton2023-03-201-14/+0
| | | | | | | | | | | | | | | | | | | | | | | | | We were bundling something that claimed to be 3.14 but which was not. This removes the customization info and sync with a rereleased 3.15 which is the same as the actual 3.14 but with a version bump to keep cmp_version.t happy. This is the change log 3.15 and 3.14: 3.15 2023-03-20 - Release for updating bleadperl to avoid cmp_version.t trouble. No code changes. 3.14 2022-05-22 - Remove broken link in Net::FTP manpage. [Mike Blackwell] - Fix EBCDIC detection. [Karl Williamson, PR#45] - Fix non-deterministic output in libnet.cfg. [Sergei Trofimovich, PR#44] - Fix TLS session reuse for dataconn with TLS 1.3 when using passive mode. [Steffen Ullrich, PR#41]
* t/porting/deprecation.t - add tests for deprecation documentation and categoriesYves Orton2023-03-181-0/+145
|
* diag.t - parse and validate "when" parameter from deprecated_xxx() macrosYves Orton2023-03-181-2/+9
| | | | | the "when" parameter is expected to be a version string of the form "5.\d+", with no minor version.
* diag.t - detect use of "deprecate_xxx()" style functionsYves Orton2023-03-181-3/+15
|
* Porting/manifest_lib.pl - autofix space/tab issues on `make manisort`Yves Orton2023-03-131-3/+3
|
* pod/perlfilter.pod - replace piracy comments with something more realisticZefram2023-03-031-3/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The pod/perlfilter.pod document says "The original purpose of source filters was to let you encrypt your program source to prevent casual piracy.". The likening of copyright infringement to nautical hijacking is wildly hyperbolic. Perl should not be spreading this line of tendentious misinformation. Even without the hyperbole, it's misleading to say that program encryption is aimed at preventing copyright infringement: it doesn't actually impede copying of the whole file. The things it really impedes are the understanding and editing of the program, which are actions that are at most only loosely connected to copyright infringement. I suggest that the word "piracy" should be replaced with "reading", which is both a more neutral term and a more accurate description of what program encryption impedes. There's also a similar problem with the word "cracker" later in the document. The document also understates how fundamental it is that program encryption can't fully prevent access to the real source code. This patch fixes all of these problems. [Note from the committer: this patch was submitted to perl5-porters via perlbug, this message was extracted and moderately edited (mostly for tense) for creating this patch. I also added the changes to customized.dat, although I am not sure why that was necessary. - Yves]
* generated files - update mode lines to specify file typeElvin Aslanov2023-02-191-1/+1
| | | | | | | | | | This updates the mode-line for most of our generated files so that they include file type information so they will be properly syntax highlighted on github. This does not make any other functional changes to the files. [Note: Commit message rewritten by Yves]
* t/porting/regen.t - no more "whack-a-mole" subtest executionYves Orton2023-02-191-23/+55
| | | | | | | | | | | | | | | | | Prior to this patch t/porting/regen.t would stop after it found a single case where the generated file was not up to date. If there were many files this meant that you would fix, run the test again find out about the next one, and repeat over and over... This kind of test whack-a-mole is very frustrating. To make things worse the old hint when there was a failure would tell you to run make regen, which was only true for certain of the tests that might have failed. This patch updates this logic so we test ALL the files in one go, and then if there were any issues we die with a report detailing *all* of the regen commands that need to be run. It also includes some minor cleanup and tweaks so it runs properly when executed from the root dir of the repo.
* Initial attack at basic 'class' featurePaul "LeoNerd" Evans2023-02-101-0/+2
| | | | | | | | | | | | | Adds a new experimental warning, feature, keywords and enough parsing to implement basic classes with an empty `new` constructor method. Inject a $self lexical into method bodies; populate it with the object instance, suitably shifted Creates a new OP_METHSTART opcode to perform method setup Define an aux flag to remark which stashes are classes Basic implementation of fields. Basic anonymous methods.
* Hint should advise using 'make regen'James E Keenan2023-01-111-2/+2
| | | | | | | | | | Per discussion by @demerphq in https://github.com/Perl/perl5/pull/20682#issuecomment-1377536039. The 'regen' programs should be run with your installed 'perl'. Use single quote in heredoc, as $_ is no longer being interpolated (per @JRaspass in https://github.com/Perl/perl5/pull/20683#discussion_r1066294815).
* update_authors.t - fixup shallow clone guardsYves Orton2023-01-081-2/+9
| | | | | | | | | | We were not testing for errors from rev-parse, and we were improperly passsing in a range and the --verify mode does not expect a range, it expects a specific commit. This changes the test to check each end of the commit range, and to check for errors. It also uses the {commit} notation to check if the objects actually are commits.
* regen/embed_lib.pl - don't add integer to reference and fixup source dataYves Orton2023-01-041-0/+10
| | | | | | | Dave noticed there was a bug where I was adding a reference to an integer. That did not make any sense. This patch fixes up the data so the source of the line is more clear. I will do a further follow up to improve this more, this is just to get the bug out of the way.
* HvNAMEf_QUOTEDPREFIX implies \"%s\"Paul "LeoNerd" Evans2022-12-241-1/+1
|
* regen/embed.pl - switch to using HeaderParser for code generation and etc.Yves Orton2022-12-242-6/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | HeaderParser was designed to replace the old grouping code in embed.pl and regen/embed_lib.pl, which is used to generate embed.h and proto.h and embedvar.h It can handle "elif" in embed.fnc, and produces more consistently structured and formatted and readable output than the old code. It also has much better logic to dedupe expressions. Adding or changing a constraint in embed.fnc should no longer have any "action at a distance" effects on the output for other functions which were not changed or obviously affected by the change. The old code assumed that sorting the constraints applying to a given function definition was acceptable, with the result that "elif" was impossible to support properly, and creating the problem that adding a new constraint which sorted into a different position could change a large amount of the output, making it hard to verify that the change was correct. The new logic should, once the initial normalization is applied, ensure that any further changes are minimal. This patch also includes a new tool regen/normalize_embed.pl which will be run by make regen, which consistently formats embed.fnc itself, which should make maintaining the file easier, especially during code splits and reorgs. Function definitions can be lifted out, moved to the end, with new constraints, and the `make regen` will put it all back into the correct place and order. A number of tools and tests which use embed_lib.pl to load embed.fnc data have necessarily been changed to use the new HeaderParser based logic.
* regen/HeaderParser.pm - A module to parse our header filesYves Orton2022-12-241-0/+517
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Consistent proper header file parsing with an OO interface. There are various traps and zaps parsing header files, such as line continuations, and multiline comments acting as a line continuation. There are also issues that the naive may overlook such as indented preprocessor directives, and such things. There are also some specialized tasks which we perform to construct header files from other header files, such as grouping content under similar guard clauses together, normalizing guard clauses, and the like. HeaderParser provides an API to handle these issues. The code which needs to read header files, or write header files, can use the HeaderParser to group and normalize the content they are reading or writing. This also frees the code generators from needing to worry about indentation, or such artifacts, HeaderParser normalizes it all away. This patch includes migrating everything to use the new infra, but it does not include some of the changes that would come with that new infra, so it would not pass test on THIS commit. Running make regen should "fix" this, although it is deliberate to make rebasing the branch easier. One of the notable changes in this commit is that embed.fnc is now under control of `make regen` (even though it is an input to `make regen`) and any changes will be automatically tied by running it, even if those changes also trigger other changes. HeaderParser sits underneath it all, so there is no chicken and egg problem that would require running `make regen` twice, the output of processing the modified embed.fnc would be identical to the output of processing the original. fixup
* sv.c - add support for HvNAMEf and HvNAMEf_QUOTEDPREFIX formatsYves Orton2022-12-221-1/+4
| | | | | | | | They are similar to SVf and SVf_QUOTEDPREFIX but take an HV * argument and use HvNAME() and related macros to extract the string. This is helpful as it makes constructing error messages from a stash (HV *) easier. It is the callers responsibility to ensure that the HV is actually a stash.
* Update t/porting/customized.dat for 5.37.7Richard Leach2022-12-201-8/+0
|
* podcheck.t - make error message less confusingYves Orton2022-12-091-1/+2
| | | | | | podcheck.t assumes all non =head text will be indented at least 4 spaces, but this wasn't explicit in the output from podcheck for verbatim line length checks.
* regen.pl - add miniperlmain.pl, it is fast, and doesn't hurtYves Orton2022-11-301-1/+1
| | | | | | I was surprised `make regen` didnt regenerate miniperlmain.pl, given it is fast I see no reason we shouldn't do it as part of the regen process.
* skip checking categorization of libperl symbols for LTO buildsTony Cook2022-11-281-0/+12
| | | | | | | | | | | | For LTO builds with gcc and clang the PL_no_mem symbol as listed by nm is flagged as "D" (writable data) and "T" (text, aka code) respectively. Looking at the final generated executable PL_no_mem does end up in the .rodata (read only data) section, so it might be worth adding a separate test for that. Fixes #20518
* skip testing .github/README.md if doesn't appear to be a READMETony Cook2022-11-121-1/+3
| | | | | | | | | | | | | git on windows at least of 2.37.1 does not checkout symbolic links as symbolic links, leaving them as files containing the filename linked to. This meant this test against .github/README.md failed, since it only contained "../README": nothing that appears to be a copyright message I considered testing that .github/README.md was a symbolic link but 8975221916 suggests that it may eventually become more distinct from the root README file, so instead check its size.
* allow porting/corelist.t to be run from rootYves Orton2022-11-061-1/+3
|
* regen/scope_types.pl - add tool to manage the scope type definesYves Orton2022-11-011-2/+2
| | | | | | | | | In scope.c and scope.h there are various defines that must be coordinated with the contents of an array, and comments and ids which might have to be mass changed manually in some circumstances. As this is error prone this patch adds a new regen script to ensure it is kept in sync and to make the process of adding new types trivial. The data that drives the script is kept in the scripts __DATA__ section.
* porting/diag.t - allow it to be run from the root directoryYves Orton2022-10-261-1/+5
| | | | | | I think this used to work before we removed "." from @INC and nobody noticed when we made that change. This adds it back into @INC if necessary like we would have from t/.
* Move Math-Complex from cpan/ to dist/Karl Williamson2022-10-012-4/+6
| | | | This module is now being maintained by p5p now.
* Fix links in perldeltaKarl Williamson2022-09-201-0/+3
| | | | | | | | | | | | | | | | | | | | | | This is a correction for f1cc674150b9408466f484c1bd08faaa989000de The I<...> formatting code is to be used generally for descriptive text that is to be replaced by the user with whatever is appropriate. C<...> is for text that is to be typed as-is. That would be more appropriate for these module names, which are as-is. But in this case, these are links to modules. perl doesn't currently know if those are valid or not, so podcheck.t fails them. It has to be told that the spellings indeed are real modules. So instead of changing the L<...> to something else, a better solution that will allow hyperlinks to be followed (when formatted by e.g., a browser), is to inform podcheck.t that these are valid links. This is trivially done by perl t/porting/podcheck.t --add-link Test::Vars for example. This revises its knowledge database, which will need to be committed.
* Net-Ping: No longer need to TODO some tests when on FreeBSDJames E Keenan2022-09-131-2/+2
| | | | | | | | | See Net-Ping maintainer's comment: https://github.com/rurban/Net-Ping/pull/18#issuecomment-1234223370 Regenerate customized database. For: https://github.com/Perl/perl5/pull/20216
* perlfilter.pod: Retain entry in customized databaseJames E Keenan2022-09-122-8/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | pod/perlfilter.pod is (for historical reasons, apparently) maintained upstream on CPAN as part of the Filter distribution. As such, (i) it should, generally speaking, only be edited upstream and synched into core; (ii) needs to be referenced in several places in the Filter::Util::Call element in %Maintainers::Modules (Porting/Maintainers.pl); (iii) needs to have an entry in t/porting/customized.dat (the "customized database") to protect it from being "overwritten" or accidentally removed. For all of the above conditions to work together, the filter_customized() subroutine in t/porting/customized.t needs to be able to construct a regex which recognizes pod/perlfilter.pod's weirdness. Prior to this patch it was failing to do so. Thus when pod/perlfilter.pod was accidentally edited in commit d84bd0bd47, the need to regenerate the customized database was not recognized. Later, review of a different pull request which required regeneration of the customized database spotted the unintentional deletion of the entry for pod/perlfilter.pod from t/porting/customized.dat. Addressing this problem is inevitably going to be kludgy, but it will be less kludgy if done in t/porting/customized.t than in Porting/Maintainers.pl. This patch modifies the former file to guarantee that the string 'pod/perlfilter.pod' is matched. After that modification, 'cd t; ./perl -I../lib porting/customized.t --regen; cd -' was run. This accomplished the (previously overlooked) removal of certain entries for Memoize in the customized database while leaving the entry for pod/perlfilter.pod in that database intact. If at some point in the future we decide that pod/perlfilter.pod should be maintained directly in core, we can remove this kludge and simplify the Filter::Util::Call element in %Maintainers::Modules in Porting/Maintainers.pl. For: https://github.com/Perl/perl5/issues/20228. Should (partially) unblock https://github.com/Perl/perl5/pull/20216.
* perldiag.pod - Document "Filehandle .. reopened for input"Yves Orton2022-09-081-1/+0
| | | | | I wanted to see why a given diagnostics was not listed in perldiag.pod, so I documented it. Turns out it was in the TODO list. :-)
* diag.t - show what needs to be removed to un-TODO a testYves Orton2022-09-081-3/+15
| | | | | The old message was a little less than helpful. The new one shows the file and line to remove.
* porting/diag.t - improved parsing a bitYves Orton2022-09-081-16/+24
| | | | | | | | | | | | | | | | | | | | | The "multiline" logic of diag.t was getting confused by define statements that would define a symbol to call an error function but not end in ";", this would then slurp potentially many lines errorenously, potentially absorbing more than one message. The multi-line logic also would undef $listed_as and lose the diag_listed_as data in some circumstances. Fixing those issues revealed some interesting cases. To fix one of them I defined a new noop macro in perl.h to help: PERL_DIAG_WARN_SYNTAX(), which helps the diag.t parser identify messages without needing to be actually part of a specific message line. These macros are noops, they just return their argument, but they help hint to diag.t what is going on. Maybe in the future this can be reworked to be more generic, there are other similar cases that are not covered. Interestingly fixing this bug meant that at least one message that used to be erroneously picked up was no longer identified or tested. This was replaced with a PERL_DIAG_DIE_SYNTAX() wrapper.
* Add a .github/README.mdBram2022-09-031-2/+19
| | | | | | | | | | | | | | | | | | | | | | This is based on the existing README and is an almost exact copy. Some minor formatting changes to improve the rendering but the text remains the same. This is done because not having a formatted README is blocking some other changes.[^1] t/porting/copyright.t was also adjusted to check the copyright in .github/README.md *Long term*: In the long term the contents of README and .github/README.md will differ. Since these serve a different purpose: - README: this is included with each release and for that it's more then good enough enough; - .github/README.md: this is for people viewing the repository on GitHub and for that the current README is - in my opinion - not good enough. It should be much more informative (compare it with some other repos and that should be obvious, in #18965 there are some examples but many more exist). [^1]: rendering platform specific READMEs as POD in GitHub.
* diag.t: subDivide exception listKarl Williamson2022-08-281-18/+26
| | | | | | | | | | | | | | Some of the entries in this list of diagnostics are ones that people just haven't gotten around to documenting. Patches welcome! But there are, in my opinion, a very few are ones that don't ever need to be documented because the text of the diganostic is sufficiently explanatory in and of itself. This commit revises the comments explaining the exception list, and moves the ones I think are sufficiently self-explanatory to the front.
* sv.c - add a _QUOTEDPREFIX version of SVf, UTF8f, and HEKf for use in error ↵Yves Orton2022-08-251-3/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | messages. These new formats are intended to be used in error messages where we want to show the contents of a string without any possible hidden characters not rendering in the error message, and where it would be unreasonable to show every character of the string if it is very long. A good example would be when we want to say that a class name is illegal. Consider: "Foo\0"->thing() should not throw an error message about "Foo" being missing, the fact there is a null in there should be visible to the developer. Similarly if we had ("x" x 1000_000)->thing() we also do not want to throw a 1MB error message as it is generally just unhelpful, a class name that long is almost certainly a mistake. Currently this patch restricts it to showing 256 characters, the first 128 followed by an ellipses followed by the last 128 characters, but the docs are such that we can change that if we wish, I suspect something like 100 would be more reasonable. You can override the define PERL_QUOTEDPREFIX_LEN to a longer value in Configure if you wish. Example usage: other= newSVpvs("Some\0::Thing\n"); sv_catpvf(msg_sv,"%" SVf_QUOTEDPREFIX, SVfARG(other)); Should append "Some\0::Thing\n" to the msg_sv. If it were very long it would have ellipses infixed. The class name "x" x 1_000_000 would show Can't locate object method "non_existent_method" via \ package "x[repeated 128 times]"..."x[repeated 128 times]" \ (perhaps you forgot to load \ "x[repeated 128 times]"..."x[repeated 128 times]"?) at -e line 1. (but obviously as one line with the literal text of the class instead of "[repeated 128 times]") This patch changes a variety of error messages that used to output the full string always. I haven't changed every place that this could happen yet, just the main ones related to method calls, subroutine names and the like.
* Skip t/porting/authors.t on shallow clonesBram2022-08-221-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | On shallow clones the history is not available. Before: The 'are we on a branch' logic was broken which caused this test to assume it was always on a branch which caused it to use: `git log HEAD^1..HEAD^2` | perl Porting/checkAUTHORS.pl --tap`. That `git log` command returns *no commits* when HEAD is *not* a branch and then the test passes. In a shallow clone (clone without history) there is only one commit and never a merge so this test silently did nothing on a shallow clone. Intermediate: In commit 16dd3f70cc16005d5af7146385733a7c945fb67e the 'are we on a branch' logic was fixed and now it does do the right thing. But this introduces a new problem: on a shallow clone there is no history so there never is a merge commit. But GitHub Actions does *add* a merge commit (in some cases) with a different author/committer name/emailaddress (one which should not be in AUTHORS). Result: the GitHub CI *failed* because they're using shallow clones. Now: When a shallow clone is detected just skip the entire test. Before it already did that (by accident) now make this explicit. Example git log: my branch for which a PR was created: $ git log --format=format:"%h %aN <%aE> - %s" --graph -n25 * 12a6316 Bram <perl-rt@wizbit.be> - TMP: Add some temporary debugging * 8ac37a5 Bram <perl-rt@wizbit.be> - CI: Special case porting test in 'sanity check' * 7f36725 Karl Williamson <khw@cpan.org> - makedef: Export certain symbols GitHub CI with full git history (i.e. no shallow clone): $ git log --format=format:"%h %aN <%aE> - %s" --graph -n25 * 99884eedeb Bram <109858694+bram-perl@users.noreply.github.com> - Merge 12a6316de1a8834f07d76c59480bafc3fdfa0c66 into 7f367253e335e8507638bb2ca1767c0fedbc95d3 |\ | * 12a6316de1 Bram <perl-rt@wizbit.be> - TMP: Add some temporary debugging | * 8ac37a5a03 Bram <perl-rt@wizbit.be> - CI: Special case porting test in 'sanity check' |/ * 7f367253e3 Karl Williamson <khw@cpan.org> - makedef: Export certain symbols GitHub CI without history (i.e. shallow clone): $ git log --format=format:"%h %aN <%aE> - %s" --graph -n25 * 99884eede Bram <109858694+bram-perl@users.noreply.github.com> - Merge 12a6316de1a8834f07d76c59480bafc3fdfa0c66 into 7f367253e335e8507638bb2ca1767c0fedbc95d3 For future reference: the git show info: commit 99884eedebb6cccd1596023a94e32eb3aea6f5e8 Author: Bram <109858694+bram-perl@users.noreply.github.com> Commit: GitHub <noreply@github.com> (I do *not* have that Author email-address configured)
* checkAUTHORS.pl - delete and replace with updateAUTHORS.plYves Orton2022-08-212-59/+1
| | | | | | | | | | | | | updateAUTHORS.pl now can replace all the capabilities of checkAUTHORS.pl, and checkAUTHORS.pl has a slightly different idea of what needs to be validated, and is not aware of the Porting/exclude_contrib.txt. Instead of teaching it to be aware and maintaining two tools this drops checkAUTHORS.pl In the process we move the logic for t/porting/pending-author.t into t/porting/authors.t, by letting updateAUTHORS.pl do it as well. This is helpful because updateAUTHORS.pl contains similar core git logic so that it can implement some of its options.
* updateAUTHORS.p[lm] - add support for reports like checkAUTHORS.pl hasYves Orton2022-08-211-0/+164
| | | | | | Adds the --stats, --files, --who, and related options similar to what checkAUTHORS.pl offers. See perldoc Porting/updateAUTHORS.pl for the list of options it supports.
* t/porting/update_authors.t - initial tests for Porting/updateAUTHORS.plYves Orton2022-08-211-0/+19
| | | | | | We can at least make sure it compiles... Later we can build on this, for now this sanity checks that we haven't *completely* broken the script while we refactor it.
* t/porting/podcheck.t - ignore .bak filesYves Orton2022-08-211-1/+2
| | | | they are not pod, but rather editor droppings.
* fix t/porting/authors.t detection of merge commitsGraham Knop2022-08-181-3/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git-rev-parse HEAD^2` was used to detect if HEAD was a merge commit. When HEAD is not a merge commit then HEAD^2 produces an error; When HEAD is a merge commit then HEAD^2 points to the second parent. The problem was that `git rev-parse "HEAD^2"` also produced output on STDOUT which caused `$revision_range` to be set to something bogus. Example: $ git rev-parse HEAD^2 2>/dev/null ; echo $? HEAD^2 128 $ git log HEAD^1..HEAD^2 fatal: ambiguous argument 'HEAD^1..HEAD^2': unknown revision or path not in the working tree. Use '--' to separate paths from revisions, like this: 'git <command> [<revision>...] -- [<file>...]' The fix is to use --verify which doesn't give output on STDOUT for something invalid. It does print an error on STDERR (for invalid things) which can be silenced using -q $ git rev-parse --verify HEAD^2 fatal: Needed a single revision $ git rev-parse -q --verify HEAD^2 $ For an actual merge commit: $ git rev-parse -q --verify e91a97a^2 bee6601bbf238b5366ce11cd41f6b095bfeebfd8 (i.e. working as expected)
* diag.t: Rmv obsolete don't caresKarl Williamson2022-08-181-24/+0
| | | | | | | | | These messages are obsolete. They exist to tell perl not to complain when it finds a matching diagnostic that isn't listed in perldiag. But the messages don't get generated any more, so running the test without them still passes. Many of these were spotted by @bram-perl
* diag.t: Collapse "Function not implemented" entriesKarl Williamson2022-08-181-23/+7
| | | | | These are clear enough without explanation in perldiag. There's a bunch of them that can be represented by just one.