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