xref: /openbsd-src/gnu/usr.bin/perl/t/porting/checkcfgvar.t (revision 3d61058aa5c692477b6d18acfbbdb653a9930ff9)
1898184e3Ssthen#!./perl -w
2898184e3Ssthen
3898184e3Ssthen# What does this test?
4898184e3Ssthen# This uses Porting/checkcfgvar.pl to check that none of the config.sh-like
5898184e3Ssthen# files are missing any entries.
6898184e3Ssthen#
7898184e3Ssthen# Why do we test this?
8898184e3Ssthen# We need them to be complete when we ship a release, and this way we catch
9898184e3Ssthen# problems as early as possible. (Instead of creating the potential for yet
10898184e3Ssthen# another last-minute job for the release manager). If a config file for a
11898184e3Ssthen# platform is incomplete, it can't be used to correctly regenerate config.h,
12898184e3Ssthen# because missing values result in invalid C code. We keep the files sorted
13898184e3Ssthen# as it makes it easy to automate adding defaults.
14898184e3Ssthen#
15898184e3Ssthen# It's broken - how do I fix it?
16898184e3Ssthen# The most likely reason that the test failed is because you've just added
17898184e3Ssthen# a new entry to Configure, config.sh and config_h.SH but nowhere else.
18898184e3Ssthen# Run something like:
19898184e3Ssthen#   perl Porting/checkcfgvar.pl --regen --default=undef
20898184e3Ssthen# (the correct default might not always be undef) to do most of the work, and
21898184e3Ssthen# then hand-edit configure.com (as that's not automated).
22898184e3Ssthen
236fb12b70Safresh1use Config;
24898184e3SsthenBEGIN {
256fb12b70Safresh1    require "./test.pl";
26*b8851fccSafresh1    skip_all("Won't ship a release from EBCDIC") if $::IS_EBCDIC;
27898184e3Ssthen    @INC = '..' if -f '../TestInit.pm';
28898184e3Ssthen}
29898184e3Ssthenuse TestInit qw(T A); # T is chdir to the top level, A makes paths absolute
30898184e3Ssthen
316fb12b70Safresh1if ( $Config{usecrosscompile} ) {
326fb12b70Safresh1  skip_all( "Not all files are available during cross-compilation" );
336fb12b70Safresh1}
346fb12b70Safresh1
35*b8851fccSafresh1system "$^X -Ilib Porting/checkcfgvar.pl --tap";
36