Home | History | Annotate | Line # | Download | only in test
Makefile revision 1.3
      1 # $NetBSD: Makefile,v 1.3 2011/02/11 23:44:43 christos Exp $
      2 
      3 CC=gcc
      4 SRC_PREFIX=../src
      5 CFLAGS=-I../include -I$(SRC_PREFIX) -D SASLC_TEST_DIR=\"`pwd`/\"
      6 ATFLIBS=-latf-c -lssl
      7 LDFLAGS=`pwd`/$(SRC_PREFIX)/libsaslc.so -ggdb
      8 TEST_CASES_C=t_dict t_session t_crypto t_error t_saslc t_parser
      9 TEST_CASES_SH=t_mech
     10 TEST_CASES=$(TEST_CASES_C)
     11 VALGRIND=valgrind
     12 VALGRIND_OPTS=--leak-check=full -q
     13 
     14 all: build
     15 
     16 build: $(TEST_CASES_SH) $(TEST_CASES_C) example_client
     17 
     18 $(TEST_CASES_SH):
     19 	@echo "building $@"
     20 	@$(ENV) atf-compile -o $@ $@.sh
     21 
     22 $(TEST_CASES_C):
     23 	@echo "building $@"
     24 	@$(CC) -o $@.o -c $@.c $(CFLAGS) -I/usr/include/local
     25 	@$(CC) -o $@ $@.o $(LDFLAGS) $(ATFLIBS)
     26 
     27 atf:
     28 	@echo ""
     29 	@echo "*************************************"
     30 	@echo "* ATF TESTS:                        *"
     31 	@echo "*************************************"
     32 	@echo ""
     33 	@$(ENV) atf-run -v test_dir=`pwd` | $(ENV) atf-report
     34 
     35 valgrind:
     36 	@echo ""
     37 	@echo "*************************************"
     38 	@echo "* VALGRIND TESTS:                   *"
     39 	@echo "*************************************"
     40 	@echo ""
     41 	@for prog in $(TEST_CASES); do \
     42 		echo "$$prog:"; \
     43 		for testcase in `./$$prog -l | grep ident | awk {'print $$2'}`; do \
     44 			echo " * $$testcase"; \
     45 			$(VALGRIND) $(VALGRIND_OPTS) ./$$prog $$testcase ; \
     46 		done \
     47 	done
     48 
     49 tests: build atf valgrind
     50 
     51 example_client: example_client.c
     52 
     53 clean:
     54 	@rm -f $(TEST_CASES_C) $(TEST_CASES_SH) *.o resfile \
     55 	    example_client
     56