mirror of
https://git.savannah.gnu.org/git/make.git
synced 2025-01-12 16:45:35 +00:00
Fix tests for MacOS and Windows
* maintMakefile: Remove the template headers as prerequisites. * tests/scripts/features/jobserver: Only test fifo if enabled. * tests/scripts/variables/INCLUDE_DIRS: On MacOS none of the default directories exist so .INCLUDE_DIRS is empty by default. * tests/scripts/features/se_explicit: Fail via exit. cp will show different error messages on different systems. * tests/scripts/features/se_implicit: Ditto. * tests/scripts/features/se_statpat: Ditto.
This commit is contained in:
parent
26e359c71d
commit
15a7e3830f
6 changed files with 35 additions and 36 deletions
|
@ -82,9 +82,8 @@ Basic.mk: Basic.mk.template .dep_segment Makefile
|
|||
sed -e 's@^\([^ ]*\)\.o:@$$(OUTDIR)\1.$$(OBJEXT):@' \
|
||||
-e 's@\([^ ]*\.[ch]\)@$$(SRCDIR)/\1@g' \
|
||||
-e 's@$$(SRCDIR)/src/config.h@$$(OUTDIR)src/config.h@g' \
|
||||
-e 's@$$(SRCDIR)/lib/stdlib.h@@g' \
|
||||
-e 's@$$(SRCDIR)/lib/sys/types.h@@g' \
|
||||
-e 's@$$(SRCDIR)/lib/unistd.h@@g' \
|
||||
-e 's@$$(SRCDIR)/lib/alloca.h@@g' \
|
||||
-e 's@$$(SRCDIR)/lib/stdbool.h@@g' \
|
||||
$(word 2,$^) >>$@
|
||||
chmod a-w $@
|
||||
|
||||
|
|
|
@ -139,11 +139,12 @@ all a: ; @echo $@
|
|||
# test twice.
|
||||
# First time look for /$ERR_no_such_file/ to ensure mkfifo failed.
|
||||
# Second time look for /Nothing to be done/ to ensure make succeeded.
|
||||
$ENV{TMPDIR} = "nosuchdir";
|
||||
run_make_test("all:\n", '-j2', "/$ERR_no_such_file/");
|
||||
|
||||
$ENV{TMPDIR} = "nosuchdir";
|
||||
run_make_test(undef, '-j2', "/Nothing to be done/");
|
||||
if (exists $FEATURES{'jobserver-fifo'}) {
|
||||
$ENV{TMPDIR} = "nosuchdir";
|
||||
run_make_test("all:\n", '-j2', "/$ERR_no_such_file/");
|
||||
|
||||
$ENV{TMPDIR} = "nosuchdir";
|
||||
run_make_test(undef, '-j2', "/Nothing to be done/");
|
||||
}
|
||||
|
||||
1;
|
||||
|
|
|
@ -480,11 +480,10 @@ unlink('hello.1');
|
|||
# No side effects from second expansion of unrelated rules.
|
||||
run_make_test(q!
|
||||
.SECONDEXPANSION:
|
||||
hello.tsk:; cp hello.1 $@
|
||||
hello.tsk:; exit 1
|
||||
unrelated: $$(shell touch hello.1);
|
||||
!, '',
|
||||
"cp hello.1 hello.tsk
|
||||
cp: cannot stat 'hello.1': $ERR_no_such_file
|
||||
"exit 1
|
||||
#MAKE#: *** [#MAKEFILE#:3: hello.tsk] Error 1\n", 512);
|
||||
|
||||
# sv 62706.
|
||||
|
|
|
@ -482,12 +482,11 @@ hello.tsk from hello.o
|
|||
run_make_test(q!
|
||||
.SECONDEXPANSION:
|
||||
all: hello.tsk
|
||||
%.tsk: %.o; cp hello.1 $@
|
||||
%.tsk: %.o; exit 1
|
||||
hello.o:;
|
||||
%.q: $$(shell touch hello.1);
|
||||
!, '',
|
||||
"cp hello.1 hello.tsk
|
||||
cp: cannot stat 'hello.1': $ERR_no_such_file
|
||||
"exit 1
|
||||
#MAKE#: *** [#MAKEFILE#:4: hello.tsk] Error 1\n", 512);
|
||||
|
||||
# sv 62706.
|
||||
|
|
|
@ -207,12 +207,11 @@ unlink('hello.1');
|
|||
run_make_test(q!
|
||||
.SECONDEXPANSION:
|
||||
all: hello.tsk
|
||||
hello.tsk: %.tsk: %.o; cp hello.1 $@
|
||||
hello.tsk: %.tsk: %.o; exit 1
|
||||
hello.o:;
|
||||
bye.tsk: %.tsk: $$(shell touch hello.1);
|
||||
!, '',
|
||||
"cp hello.1 hello.tsk
|
||||
cp: cannot stat 'hello.1': $ERR_no_such_file
|
||||
"exit 1
|
||||
#MAKE#: *** [#MAKEFILE#:4: hello.tsk] Error 1\n", 512);
|
||||
|
||||
# sv 62706.
|
||||
|
|
|
@ -8,11 +8,12 @@ use Cwd;
|
|||
$dir = cwd;
|
||||
$dir =~ s,.*/([^/]+)$,../$1,;
|
||||
|
||||
# Test #1: The content of .INCLUDE_DIRS depends on the platform for which
|
||||
# make was built. What we know for sure is that it shouldn't be
|
||||
# empty.
|
||||
#
|
||||
run_make_test('
|
||||
if (-d '/usr/include') {
|
||||
# Test #1: The content of .INCLUDE_DIRS depends on the platform for which
|
||||
# make was built. What we know for sure is that it shouldn't be
|
||||
# empty.
|
||||
#
|
||||
run_make_test('
|
||||
ifeq ($(.INCLUDE_DIRS),)
|
||||
$(warning .INCLUDE_DIRS is empty)
|
||||
endif
|
||||
|
@ -20,8 +21,8 @@ endif
|
|||
.PHONY: all
|
||||
all:;@:
|
||||
',
|
||||
'', '');
|
||||
|
||||
'', '');
|
||||
}
|
||||
|
||||
# Test #2: Make sure -I paths end up in .INCLUDE_DIRS.
|
||||
#
|
||||
|
@ -57,20 +58,21 @@ all:;\@:
|
|||
|
||||
# Verify that -I- disables content from .INCLUDE_DIRS
|
||||
|
||||
run_make_test("
|
||||
ifneq (\$(.INCLUDE_DIRS),)
|
||||
\$(warning Mismatched \$(.INCLUDE_DIRS) != )
|
||||
run_make_test(q/
|
||||
ifneq ($(.INCLUDE_DIRS),)
|
||||
$(warning Mismatched $(.INCLUDE_DIRS) != )
|
||||
endif
|
||||
all:;\@:
|
||||
",
|
||||
all:;@:
|
||||
/,
|
||||
'-I-', '');
|
||||
|
||||
# Prefix -I dirs to the front
|
||||
mkdir('somedir', 0777);
|
||||
|
||||
my $xdirs = $dirs ? " $dirs" : '';
|
||||
run_make_test("
|
||||
ifneq (\$(.INCLUDE_DIRS),somedir $dirs)
|
||||
\$(warning Mismatched \$(.INCLUDE_DIRS) != somedir $dirs)
|
||||
ifneq (\$(.INCLUDE_DIRS),somedir$xdirs)
|
||||
\$(warning Mismatched '\$(.INCLUDE_DIRS)' != 'somedir$xdirs')
|
||||
endif
|
||||
all:;\@:
|
||||
",
|
||||
|
@ -78,12 +80,12 @@ all:;\@:
|
|||
|
||||
# Verify .INCLUDE_DIRS contains files after -I-
|
||||
|
||||
run_make_test("
|
||||
ifneq (\$(.INCLUDE_DIRS),somedir)
|
||||
\$(warning Mismatched \$(.INCLUDE_DIRS) != somedir)
|
||||
run_make_test(q/
|
||||
ifneq ($(.INCLUDE_DIRS),somedir)
|
||||
$(warning Mismatched $(.INCLUDE_DIRS) != somedir)
|
||||
endif
|
||||
all:;\@:
|
||||
",
|
||||
all:;@:
|
||||
/,
|
||||
'-I - -I somedir', '');
|
||||
|
||||
rmdir('somedir');
|
||||
|
|
Loading…
Reference in a new issue