Skip to content

Test.pm: regression caused by the Perl abs2rel workaround #10628

@mspncp

Description

@mspncp

While working on #10604 (comment), I noticed that the tests now behave differently from what I was accustomed to: all paths in the test commands are given as absolute paths:

~/src/openssl$ make V=1 TESTS=test_ocsp tests
...
/home/msp/src/openssl/util/shlib_wrap.sh /home/msp/src/openssl/apps/openssl base64 -d -in /home/msp/src/openssl/test/ocsp-tests/ND1.ors -out ocsp-resp-fff.dat => 0

Until recently, the paths used to be relative to the test directory:

~/src/openssl$ make V=1 TESTS=test_ocsp tests
...
../../util/shlib_wrap.sh ../../apps/openssl base64 -d -in ../../test/ocsp-tests/ND1.ors -out ocsp-resp-fff.dat => 0

This was very handy for several reasons: For example, it was easy to copy & paste a command from a verbose test run of someone else into your shell (or from your master worktree into your 1.1.1. worktree) and it could be run without editing. If necessary, the command could also be debugged by inserting in gdb --args in the right location:

~/src/openssl$ make V=1 TESTS=test_ocsp tests
[...]
../../util/shlib_wrap.sh gdb --args ../../apps/openssl base64 -d -in ../../test/ocsp-tests/ND1.ors -out ocsp-resp-fff.dat => 0

The cause for this behavioral change is the following commit which added a workaraund for a Perl abs2rel bug:

  • 7a20272 Adding Test.pm with workaround for Perl abs2rel bug [master]
  • 374cab6 Adding Test.pm with workaround for Perl abs2rel bug [1.1.1]

I consider this behavioral change a regression, because it impedes the process of analyzing test failures. That's why I tagged it as a bug and I would appreciate very much if @mpeylo and @levitte would find an alternative workaround which does not have this negative side effect.

Metadata

Metadata

Assignees

No one assigned

    Labels

    branch: 1.1.1Applies to OpenSSL_1_1_1-stable branch (EOL)branch: masterApplies to master branchtriaged: bugThe issue/pr is/fixes a bug

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions