From 2c6ba996e6c2afb32384344b00bb3d0a67b11fd5 Mon Sep 17 00:00:00 2001 From: John Mark Bell Date: Wed, 8 Apr 2009 10:47:56 +0000 Subject: Integrate the testsuite. svn path=/trunk/libnsfb/; revision=7062 --- test/Makefile | 111 +------------------------------------------------------- test/plottest.c | 5 +++ 2 files changed, 7 insertions(+), 109 deletions(-) (limited to 'test') diff --git a/test/Makefile b/test/Makefile index a87bc36..e027ba0 100644 --- a/test/Makefile +++ b/test/Makefile @@ -1,110 +1,3 @@ -# Child makefile fragment for libhubbub -# -# Toolchain is provided by top-level makefile -# -# Variables provided by top-level makefile -# -# COMPONENT The name of the component -# EXPORT The location of the export directory -# TOP The location of the source tree root -# RELEASEDIR The place to put release objects -# DEBUGDIR The place to put debug objects -# -# do_include Canned command sequence to include a child makefile -# -# Variables provided by parent makefile: -# -# DIR The name of the directory we're in, relative to $(TOP) -# -# Variables we can manipulate: -# -# ITEMS_CLEAN The list of items to remove for "make clean" -# ITEMS_DISTCLEAN The list of items to remove for "make distclean" -# TARGET_TESTS The list of target names to run for "make test" -# -# SOURCES The list of sources to build for $(COMPONENT) -# -# Plus anything from the toolchain +DIR_TEST_ITEMS := plottest:plottest.c;nsglobe.c -# Push parent directory onto the directory stack -sp := $(sp).x -dirstack_$(sp) := $(d) -d := $(DIR) - -ifeq ($(MAKECMDGOALS),test) -# Extend toolchain settings -CFLAGS := $(CFLAGS) -I$(TOP)/include/ -LDFLAGS := $(LDFLAGS) -Wl,--whole-archive -lnsfb0 -Wl,--no-whole-archive -lSDL -endif - -ifdef PROFILE - CFLAGS := $(CFLAGS) -pg -fno-omit-frame-pointer - LDFLAGS := $(LDFLAGS) -pg -endif - -# Tests -TESTS_$(d) := plottest - -# Items for top-level makefile to use -ITEMS_CLEAN := $(ITEMS_CLEAN) \ - $(addprefix $(d), $(addsuffix $(EXEEXT), $(TESTS_$(d)))) \ - $(addprefix $(d), $(addsuffix .gcda, $(TESTS_$(d)))) \ - $(addprefix $(d), $(addsuffix .gcno, $(TESTS_$(d)))) \ - $(addprefix $(d), $(addsuffix .d, $(TESTS_$(d)))) -ITEMS_DISTCLEAN := $(ITEMS_DISTCLEAN) $(d)log - -# Targets for top-level makefile to run -TARGET_TESTS := $(TARGET_TESTS) test_$(d) - -# Now we get to hack around so that we know what directory we're in. -# $(d) no longer exists when running the commands for a target, so we can't -# simply use it verbatim. Assigning to a variable doesn't really help, as -# there's no guarantee that someone else hasn't overridden that variable. -# So, what we do is make the target depend on $(d), then pick it out of the -# dependency list when running commands. This isn't pretty, but is effective. -test_$(d): $(d) $(addprefix $(d), $(TESTS_$(d))) - @$(PERL) $(TOP)/$ $(1)" - @$$(CC) -c -g $$(DEBUGCFLAGS) -o $$@.o $(1) - @$$(LD) -g -o $$@ $$@.o -lhubbub-debug $$(LDFLAGS) -lgcov - @$$(RM) $$(RMFLAGS) $$@.o - -endef - -$(eval $(foreach TEST,$(addprefix $(d), $(TESTS_$(d))), \ - $(call dep_test,$(addsuffix .c, $(TEST)),$(addsuffix .d, $(TEST)),$(TEST)))) - -ifeq ($(MAKECMDGOALS),test) --include $(sort $(DEP_$(d))) -endif - -$(eval $(foreach TEST,$(addprefix $(d), $(TESTS_$(d))), \ - $(call compile_test,$(addsuffix .c, $(TEST)),$(TEST),$(addsuffix .d, $(TEST))))) - -# Now include any children we may have -MAKE_INCLUDES := $(wildcard $(d)*/Makefile) -$(eval $(foreach INC, $(MAKE_INCLUDES), $(call do_include,$(INC)))) - -# Finally, pop off the directory stack -d := $(dirstack_$(sp)) -sp := $(basename $(sp)) +include build/makefiles/Makefile.subdir diff --git a/test/plottest.c b/test/plottest.c index 899f3f4..992fdd9 100644 --- a/test/plottest.c +++ b/test/plottest.c @@ -5,6 +5,8 @@ #include "libnsfb.h" #include "libnsfb_plot.h" +#define UNUSED(x) ((x) = (x)) + extern const struct { unsigned int width; unsigned int height; @@ -23,6 +25,9 @@ int main(int argc, char **argv) int p[] = { 300,300, 350,350, 400,300, 450,250, 400,200}; int loop; + UNUSED(argc); + UNUSED(argv); + nsfb = nsfb_init(NSFB_FRONTEND_SDL); if (nsfb == NULL) { fprintf(stderr, "Unable to initialise nsfb with SDL frontend\n"); -- cgit v1.2.3