Branch: refs/heads/yves/better_bincompat_t
  Home:   https://github.com/Perl/perl5
  Commit: 0c2e87d0747ffc775fc3c30c78dd1b9bfadd0fbf
      
https://github.com/Perl/perl5/commit/0c2e87d0747ffc775fc3c30c78dd1b9bfadd0fbf
  Author: Yves Orton <demer...@gmail.com>
  Date:   2023-03-29 (Wed, 29 Mar 2023)

  Changed paths:
    M perl.c
    M perl.h
    M t/porting/bincompat.t

  Log Message:
  -----------
  t/porting/bincompat.t - test the code itself not just the output

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.


Reply via email to