Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 0c00c3fb authored by Jiri Olsa's avatar Jiri Olsa Committed by Arnaldo Carvalho de Melo
Browse files

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: default avatarJiri 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: default avatarArnaldo Carvalho de Melo <acme@redhat.com>
parent ab6201d0
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -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 −1
Original line number Diff line number Diff line
export srctree := ../../../..
export srctree := $(abspath ../../../..)
export CC      := gcc
export LD      := ld
export AR      := ar
+2 −0
Original line number Diff line number Diff line
@@ -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 −0
Original line number Diff line number Diff line
#ifdef INCLUDE
#include "krava.h"
#endif

int inc(void)
{
	return 0;
}
+27 −0
Original line number Diff line number Diff line
@@ -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