summaryrefslogtreecommitdiffstats
path: root/coverage/bin/Makefile
diff options
context:
space:
mode:
authorJose Bollo <jose.bollo@iot.bzh>2018-07-12 10:59:48 +0200
committerJosé Bollo <jose.bollo@iot.bzh>2018-07-24 16:28:32 +0200
commite17ae412245ba9afb33ff6a0f1f665b4d66d4da4 (patch)
tree698628c58b541007033ede6b4343dae921214da6 /coverage/bin/Makefile
parent4c0f6ce66c66d39dc61ec661d88277c51d2fd9ae (diff)
coverage and test: Add tests
coverage values: - lines: 70.5 % - functions: 76.3 % Change-Id: Iaf802e84bbfa57502bbbac8c3b567b14c01608b6 Signed-off-by: Jose Bollo <jose.bollo@iot.bzh>
Diffstat (limited to 'coverage/bin/Makefile')
-rw-r--r--coverage/bin/Makefile122
1 files changed, 105 insertions, 17 deletions
diff --git a/coverage/bin/Makefile b/coverage/bin/Makefile
index 19bf254a..f9d561ed 100644
--- a/coverage/bin/Makefile
+++ b/coverage/bin/Makefile
@@ -4,41 +4,102 @@
heredir = .
basedir = ../..
-targets = afb-daemon-cov afb-client hi3.so hello.so salut.so salam.so shalom.so demat.so bug.so hellov2.so
+bindings = \
+ hi3.so \
+ hello.so \
+ salut.so \
+ salam.so \
+ shalom.so \
+ demat.so \
+ hellov2.so
+
+bugs = $(foreach i,\
+ 1 2 3 4 5 6 7 8 9 \
+ 10 11 12 13 14 15 16 17 18 19 \
+ 20 21, \
+ bugs/bug$i.so)
+
+tests = \
+ test-apiset \
+ test-session \
+ test-wrap-json
+
+targets = \
+ afb-daemon-cov \
+ afb-client \
+ $(tests) \
+ $(bindings) \
+ $(bugs)
binaries: $(targets)
clean:
- @rm $(targets) *.gcno *.gcda
+ @echo remove all binaries
+ @rm $(targets) *.gcno *.gcda *.o 2>/dev/null || true
#======================================================================================
-# creates the targets
+# definitions
#======================================================================================
incdir = $(basedir)/include
srcdir = $(basedir)/src
+tstdir = $(basedir)/src/tests
samdir = $(basedir)/bindings/samples
bindir = $(heredir)/bin
-cflags = -I$(incdir) \
- $(shell pkg-config --cflags --libs openssl libmicrohttpd json-c libsystemd uuid) \
- -ldl -lrt -lpthread
+deps = openssl libmicrohttpd json-c libsystemd uuid
+
+ccflags = \
+ -g \
+ -I$(incdir) \
+ $(shell pkg-config --cflags $(deps))
+
+ldflags = -ldl -lrt -lpthread \
+ $(shell pkg-config --libs $(deps))
+
+cflags = $(ccflags) $(ldflags)
+
+defs = -DAGL_DEVEL \
+ -DWITH_MONITORING_OPTION \
+ -DWITH_SUPERVISION \
+ -DAFB_VERSION=\"cov\" \
+ -DBINDING_INSTALL_DIR=\"$(shell pwd)/fake\"
afb_lib_src = $(shell ls $(srcdir)/*.c | egrep -v '/afs-|/main-' )
-afb_clib_src = $(shell ls $(srcdir)/*.c | egrep -v '/afs-|/main-' )
+afb_lib_obj = $(patsubst $(srcdir)/%.c,%.o,$(afb_lib_src))
+afb_lib = afb-lib.a
+afb_lib_defs = $(defs)
+
+afb_daemon_srcs = $(srcdir)/main-afb-daemon.c $(afb_lib_obj)
+afb_daemon_defs = $(afb_lib_defs)
-afb_daemon_srcs = $(srcdir)/main-afb-daemon.c $(afb_lib_src)
-afb_daemon_defs = '-DAFB_VERSION="cov"' -DAGL_DEVEL -DWITH_MONITORING_OPTION '-DBINDING_INSTALL_DIR="fake"'
+afb_client_srcs = $(srcdir)/main-afb-client-demo.c $(afb_lib_src)
+afb_client_defs = $(defs)
-afb_client_srcs = $(srcdir)/main-afb-client-demo.c $(afb_clib_src)
-afb_client_defs = '-DAFB_VERSION="cov"' '-DBINDING_INSTALL_DIR="fake"'
+tst_defs = $(defs)
+tst_flags = $(cflags) \
+ -I$(srcdir) \
+ $(shell pkg-config --cflags --libs check)
+
+tst_defs = '-DAFB_VERSION="cov"' '-DBINDING_INSTALL_DIR="fake"'
+tst_flags = $(cflags) \
+ -I$(srcdir) \
+ $(shell pkg-config --cflags --libs check)
hello2_src = $(samdir)/hello2.c
hello3_src = $(samdir)/hello3.c
hi_src = $(samdir)/hi3.c
binding_flags = -shared -fPIC -Wl,--version-script=$(samdir)/export.map
+#======================================================================================
+# creates the targets
+#======================================================================================
+
+%.o: $(srcdir)/%.c
+ @echo creation of $@
+ @gcc -c -o $@ $< --coverage $(afb_lib_defs) $(ccflags)
+
afb-daemon-cov: $(afb_daemon_srcs)
@echo creation of $@
@gcc -o $@ $(afb_daemon_srcs) --coverage $(afb_daemon_defs) $(cflags)
@@ -47,21 +108,41 @@ afb-client: $(afb_client_srcs)
@echo creation of $@
@gcc -o $@ $(afb_client_srcs) $(afb_client_defs) $(cflags)
+#======================================================================================
+# create test
+#======================================================================================
+
+test-apiset: $(tstdir)/apiset/test-apiset.c $(afb_lib_obj)
+ @echo creation of $@
+ @gcc -o $@ $(tstdir)/apiset/test-apiset.c $(afb_lib_obj) --coverage $(tst_defs) $(tst_flags)
+
+test-session: $(tstdir)/session/test-session.c $(afb_lib_obj)
+ @echo creation of $@
+ @gcc -o $@ $(tstdir)/session/test-session.c $(afb_lib_obj) --coverage $(tst_defs) $(tst_flags)
+
+test-wrap-json: $(tstdir)/session/test-session.c $(afb_lib_obj)
+ @echo creation of $@
+ @gcc -o $@ $(tstdir)/wrap-json/test-wrap-json.c $(afb_lib_obj) --coverage $(tst_defs) $(tst_flags)
+
+#======================================================================================
+# create bindings
+#======================================================================================
+
hi3.so: $(hi3_src)
@echo creation of $@
@gcc -o $@ $(hi3_src) $(binding_flags) $(cflags)
hello.so: $(hello3_src)
@echo creation of $@
- @gcc -o $@ $(hello3_src) '-DAPINAME="hello"' $(binding_flags) $(cflags)
+ @gcc -o $@ $(hello3_src) '-DAPINAME="hello"' '-DPREINIT_PROVIDE_CLASS="class1 class2"' $(binding_flags) $(cflags)
salut.so: $(hello3_src)
@echo creation of $@
- @gcc -o $@ $(hello3_src) '-DAPINAME="salut"' $(binding_flags) $(cflags)
+ @gcc -o $@ $(hello3_src) '-DAPINAME="salut"' '-DPREINIT_REQUIRE_CLASS="class2"' $(binding_flags) $(cflags)
salam.so: $(hello3_src)
@echo creation of $@
- @gcc -o $@ $(hello3_src) '-DAPINAME="salam"' $(binding_flags) $(cflags)
+ @gcc -o $@ $(hello3_src) '-DAPINAME="salam"' '-DINIT_REQUIRE_API="hello salut"' $(binding_flags) $(cflags)
shalom.so: $(hello3_src)
@echo creation of $@
@@ -75,7 +156,14 @@ hellov2.so: $(hello2_src)
@echo creation of $@
@gcc -o $@ $(hello2_src) '-DAPINAME="hello-v2"' $(binding_flags) $(cflags)
-bug.so: bug.c
- @echo creation of $@
- @gcc -o $@ bug.c $(binding_flags) $(cflags)
+#======================================================================================
+# create bugs
+#======================================================================================
+
+bugs:
+ @echo creation of directory bugs
+ @mkdir bugs
+bugs/bug%.so: bug.c bugs
+ @echo creation of $@
+ @gcc -o $@ bug.c $(binding_flags) $(cflags) -D$(patsubst bugs/bug%.so,BUG%,$@)