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