Branch: refs/heads/yves/taint_disabled
  Home:   https://github.com/Perl/perl5
  Commit: 1c6e8975c0d870fcf0aad5fffd09de709889e299
      
https://github.com/Perl/perl5/commit/1c6e8975c0d870fcf0aad5fffd09de709889e299
  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".

* test.pl  - make run_multiple_progs() skip test cases based on the
  switches that 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: 11cafc0d0ddb9980a2be902d70a8d7b1b59fe096
      
https://github.com/Perl/perl5/commit/11cafc0d0ddb9980a2be902d70a8d7b1b59fe096
  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 formed by itself
causes use of -t and -T to throw fatal exceptions during process
startup.


Compare: https://github.com/Perl/perl5/compare/87c7f60e4261...11cafc0d0ddb

Reply via email to