Branch: refs/heads/yves/taint_disabled Home: https://github.com/Perl/perl5 Commit: 6818ff3b3f238cf40f89c6117e86d90f30907df2 https://github.com/Perl/perl5/commit/6818ff3b3f238cf40f89c6117e86d90f30907df2 Author: Yves Orton <demer...@gmail.com> Date: 2023-04-02 (Sun, 02 Apr 2023)
Changed paths: M configpm M lib/Config.t Log Message: ----------- Config.pm - add taint_disabled and taint_support to %Config 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. Commit: 32d5adb3028350d2f465f0ae1e8dd7c3005f49a4 https://github.com/Perl/perl5/commit/32d5adb3028350d2f465f0ae1e8dd7c3005f49a4 Author: David Cantrell <da...@cantrell.org.uk> Date: 2023-04-02 (Sun, 02 Apr 2023) Changed paths: M .github/workflows/testsuite.yml Log Message: ----------- workflows/testsuite.yml - Automatically test without taint support 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] Commit: 40b4fae97cd0fe9fb82757cfba16b247deedd208 https://github.com/Perl/perl5/commit/40b4fae97cd0fe9fb82757cfba16b247deedd208 Author: Yves Orton <demer...@gmail.com> Date: 2023-04-02 (Sun, 02 Apr 2023) Changed paths: M ext/XS-APItest/t/call.t M lib/B/Deparse.t M t/TEST M t/harness M t/run/switchDx.t M t/test.pl Log Message: ----------- test infra - Under -DNO_TAINT_SUPPORT skip tests that use -T or -t 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. Commit: 5b2d45323fb15ce928d9de23c224fd4fba3e972f https://github.com/Perl/perl5/commit/5b2d45323fb15ce928d9de23c224fd4fba3e972f Author: Yves Orton <demer...@gmail.com> Date: 2023-04-02 (Sun, 02 Apr 2023) Changed paths: M .github/workflows/testsuite.yml Log Message: ----------- workflows/testsuite.yaml - Add testing of -DNO_TAINT_SUPPORT 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. Compare: https://github.com/Perl/perl5/compare/11cafc0d0ddb...5b2d45323fb1