Mercurial > repo
comparison perl-5.22.2/runtests.SH @ 8045:a16537d2fe07
<xfix> tar xf perl-5.22.2.tar.gz # Ah, whatever, I\'m doing it anyway
author | HackBot |
---|---|
date | Sat, 14 May 2016 14:54:38 +0000 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
8044:711c038a7dce | 8045:a16537d2fe07 |
---|---|
1 #!/bin/sh | |
2 | |
3 case $PERL_CONFIG_SH in | |
4 '') | |
5 if test ! -f config.sh; then | |
6 ln ../config.sh . || \ | |
7 ln ../../config.sh . || \ | |
8 ln ../../../config.sh . || \ | |
9 (echo "Can't find config.sh."; exit 1) | |
10 fi 2>/dev/null | |
11 . ./config.sh | |
12 ;; | |
13 esac | |
14 case "$0" in | |
15 */*) cd `expr X$0 : 'X\(.*\)/'` ;; | |
16 esac | |
17 echo "Extracting runtests (with variable substitutions)" | |
18 rm -f runtests | |
19 | |
20 $spitshell >runtests <<!GROK!THIS! | |
21 $startsh -e | |
22 # runtests.SH | |
23 # | |
24 !GROK!THIS! | |
25 | |
26 ## In the following, dollars and backticks do not need the extra backslash. | |
27 $spitshell >>runtests <<'!NO!SUBS!' | |
28 | |
29 export PATH || (echo "OOPS, this isn't sh. Desperation time. I will feed myself to sh."; sh $0; kill $$) | |
30 | |
31 # Avoid "warning: jobserver unavailable: using -j1." warnings under GNU make. | |
32 # When gmake -j N spawns a child, it passes | |
33 # MAKEFLAGS=" --jobserver-fds=3,4 -j". | |
34 # in the environment. Also, if make recognises that the child is another | |
35 # make (e.g. it's invoked as $(MAKE) or +command), it keeps open fd's 3 | |
36 # and 4 to allow the child process to access the job server. Otherwise, | |
37 # those fd's aren't kept open. | |
38 # In the case where one does 'make -j 16 test_harness', this script is | |
39 # called with MAKEFLAGS set, but fd's 3 and 4 closed. Later when | |
40 # descendents of this script run cpan/ExtUtils-Constant/t/Constant.t | |
41 # which itelf invokes make, the warnings ensue. | |
42 | |
43 unset MAKEFLAGS | |
44 | |
45 | |
46 case $# in | |
47 0) | |
48 echo "runtests tty_flag ..." | |
49 exit 1 | |
50 ;; | |
51 esac | |
52 | |
53 case $1 in | |
54 tty) | |
55 tty=Y | |
56 ;; | |
57 no-tty) | |
58 tty=N | |
59 ;; | |
60 choose) | |
61 if (true </dev/tty) >/dev/null 2>&1; then | |
62 tty=Y | |
63 else | |
64 tty=N | |
65 fi | |
66 ;; | |
67 *) | |
68 echo "ttyflag should be one of tty, no-tty or choose" | |
69 exit 1 | |
70 ;; | |
71 esac | |
72 | |
73 if test X"$TESTFILE" = X; then | |
74 TESTFILE=TEST | |
75 fi | |
76 | |
77 cd t | |
78 | |
79 # If this is run under an old shell that doesn't automatically | |
80 # update PWD, then we must update it. Otherwise, t/io/fs.t gets | |
81 # mixed up about what directory we are in. | |
82 case "$PWD" in | |
83 '') ;; # Do nothing if it isn't set at all. | |
84 */t) ;; # Leave it alone if it's properly updated. | |
85 *) PWD=${PWD}/t; export PWD ;; # Otherwise, fix it. | |
86 esac | |
87 | |
88 !NO!SUBS! | |
89 | |
90 ## In the following, dollars and backticks do need the extra backslash. | |
91 $spitshell >>runtests <<!GROK!THIS! | |
92 # The second branch is for testing without a tty or controlling terminal, | |
93 # see t/op/stat.t | |
94 if test \$tty = Y; then | |
95 ./perl$_exe \$TESTFILE \$TEST_ARGS \$TEST_FILES </dev/tty | |
96 else | |
97 PERL_SKIP_TTY_TEST=1 ./perl$_exe \$TESTFILE \$TEST_ARGS \$TEST_FILES | |
98 fi | |
99 | |
100 echo "Ran tests" > rantests | |
101 !GROK!THIS! | |
102 $eunicefix runtests | |
103 chmod +x runtests |