File: checkcfgvar.t

package info (click to toggle)
perl 5.40.1-6
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 126,152 kB
  • sloc: ansic: 668,539; perl: 525,522; sh: 72,038; pascal: 6,925; xml: 2,428; yacc: 1,410; makefile: 1,191; cpp: 208; lisp: 1
file content (35 lines) | stat: -rw-r--r-- 1,384 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!./perl -w

# What does this test?
# This uses Porting/checkcfgvar.pl to check that none of the config.sh-like
# files are missing any entries.
#
# Why do we test this?
# We need them to be complete when we ship a release, and this way we catch
# problems as early as possible. (Instead of creating the potential for yet
# another last-minute job for the release manager). If a config file for a
# platform is incomplete, it can't be used to correctly regenerate config.h,
# because missing values result in invalid C code. We keep the files sorted
# as it makes it easy to automate adding defaults.
#
# It's broken - how do I fix it?
# The most likely reason that the test failed is because you've just added
# a new entry to Configure, config.sh and config_h.SH but nowhere else.
# Run something like:
#   perl Porting/checkcfgvar.pl --regen --default=undef
# (the correct default might not always be undef) to do most of the work, and
# then hand-edit configure.com (as that's not automated).

use Config;
BEGIN {
    require "./test.pl";
    skip_all("Won't ship a release from EBCDIC") if $::IS_EBCDIC;
    @INC = '..' if -f '../TestInit.pm';
}
use TestInit qw(T A); # T is chdir to the top level, A makes paths absolute

if ( $Config{usecrosscompile} ) {
  skip_all( "Not all files are available during cross-compilation" );
}

system "$^X -Ilib Porting/checkcfgvar.pl --tap";