tools build: Add test for missing include
The current build framework fails to cope with header file removal. The reason is that the removed header file stays in the .cmd file target rule and forces the build to fail. This issue is fixed and explained in the following patches. Adding a new build test that simulates header removal. Signed-off-by: Jiri Olsa <jolsa@kernel.org> Cc: David Ahern <dsahern@gmail.com> Cc: Namhyung Kim <namhyung@kernel.org> Cc: Peter Zijlstra <a.p.zijlstra@chello.nl> Link: http://lkml.kernel.org/r/1443004442-32660-3-git-send-email-jolsa@kernel.org Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
ab6201d09b
commit
0c00c3fb4e
5 changed files with 39 additions and 1 deletions
|
@ -4,6 +4,7 @@ ex-y += b.o
|
|||
ex-y += b.o
|
||||
ex-y += empty/
|
||||
ex-y += empty2/
|
||||
ex-y += inc.o
|
||||
|
||||
libex-y += c.o
|
||||
libex-y += d.o
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
export srctree := ../../../..
|
||||
export srctree := $(abspath ../../../..)
|
||||
export CC := gcc
|
||||
export LD := ld
|
||||
export AR := ar
|
||||
|
|
|
@ -5,6 +5,7 @@ int c(void);
|
|||
int d(void);
|
||||
int e(void);
|
||||
int f(void);
|
||||
int inc(void);
|
||||
|
||||
int main(void)
|
||||
{
|
||||
|
@ -14,6 +15,7 @@ int main(void)
|
|||
d();
|
||||
e();
|
||||
f();
|
||||
inc();
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
8
tools/build/tests/ex/inc.c
Normal file
8
tools/build/tests/ex/inc.c
Normal file
|
@ -0,0 +1,8 @@
|
|||
#ifdef INCLUDE
|
||||
#include "krava.h"
|
||||
#endif
|
||||
|
||||
int inc(void)
|
||||
{
|
||||
return 0;
|
||||
}
|
|
@ -34,9 +34,36 @@ function test_ex_suffix {
|
|||
make -C ex V=1 clean > /dev/null 2>&1
|
||||
rm -f ex.out
|
||||
}
|
||||
|
||||
function test_ex_include {
|
||||
make -C ex V=1 clean > ex.out 2>&1
|
||||
|
||||
# build with krava.h include
|
||||
touch ex/krava.h
|
||||
make -C ex V=1 CFLAGS=-DINCLUDE >> ex.out 2>&1
|
||||
|
||||
if [ ! -x ./ex/ex ]; then
|
||||
echo FAILED
|
||||
exit -1
|
||||
fi
|
||||
|
||||
# build without the include
|
||||
rm -f ex/krava.h ex/ex
|
||||
make -C ex V=1 >> ex.out 2>&1
|
||||
|
||||
if [ ! -x ./ex/ex ]; then
|
||||
echo FAILED
|
||||
exit -1
|
||||
fi
|
||||
|
||||
make -C ex V=1 clean > /dev/null 2>&1
|
||||
rm -f ex.out
|
||||
}
|
||||
|
||||
echo -n Testing..
|
||||
|
||||
test_ex
|
||||
test_ex_suffix
|
||||
test_ex_include
|
||||
|
||||
echo OK
|
||||
|
|
Loading…
Reference in a new issue