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

Reply via email to