1 mydir=lib$(S)kadm5$(S)unit-test
2 BUILDTOP=$(REL)..$(S)..$(S)..
4 PROG_LIBPATH=-L$(TOPLIBD)
5 PROG_RPATH=$(KRB5_LIBDIR)
6 KDB_DEP_LIB=$(DL_LIB) $(THREAD_LINKOPTS)
9 SRCS= init-test.c destroy-test.c handle-test.c iter-test.c setkey-test.c \
10 randkey-test.c lock-test.c
13 # The client-side test programs.
16 init-test: init-test.o $(KADMCLNT_DEPLIBS) $(KRB5_BASE_DEPLIBS)
17 $(CC_LINK) -o init-test init-test.o \
18 $(KADMCLNT_LIBS) $(KRB5_BASE_LIBS)
20 destroy-test: destroy-test.o $(KADMCLNT_DEPLIBS) $(KRB5_BASE_DEPLIBS)
21 $(CC_LINK) -o destroy-test destroy-test.o \
22 $(KADMCLNT_LIBS) $(KRB5_BASE_LIBS)
24 client-handle-test: client-handle-test.o $(KADMCLNT_DEPLIBS) $(KRB5_BASE_DEPLIBS)
25 $(CC_LINK) -o client-handle-test client-handle-test.o \
26 $(KADMCLNT_LIBS) $(KRB5_BASE_LIBS)
28 client-handle-test.o: handle-test.c
29 $(CC) $(ALL_CFLAGS) -DCLIENT_TEST -o client-handle-test.o -c $(srcdir)/handle-test.c
31 client-iter-test: iter-test.o $(KADMLCNT_DEPLIBS) $(KRB5_BASE_DEPLIBS)
32 $(CC_LINK) -o client-iter-test iter-test.o \
33 $(KADMCLNT_LIBS) $(KRB5_BASE_LIBS)
35 client-setkey-test: setkey-test.o $(KADMCLNT_DEPLIBS) $(KRB5_BASE_DEPLIBS)
36 $(CC_LINK) -o client-setkey-test setkey-test.o \
37 $(KADMCLNT_LIBS) $(KRB5_BASE_LIBS)
40 # The server-side test programs.
43 randkey-test: randkey-test.o $(KADMSRV_DEPLIBS) $(KRB5_BASE_DEPLIBS)
44 $(CC_LINK) -o randkey-test randkey-test.o \
45 $(KADMSRV_LIBS) $(KDB_DEP_LIB) $(KRB5_BASE_LIBS)
47 server-handle-test: handle-test.o $(KADMSRV_DEPLIBS) $(KRB5_BASE_DEPLIBS)
48 $(CC_LINK) -o server-handle-test handle-test.o \
49 $(KADMSRV_LIBS) $(KDB_DEP_LIB) $(KRB5_BASE_LIBS)
51 lock-test: lock-test.o $(KADMSRV_DEPLIBS) $(KRB5_BASE_DEPLIBS)
52 $(CC_LINK) -o lock-test lock-test.o \
53 $(KADMSRV_LIBS) $(KDB_DEP_LIB) $(KRB5_BASE_LIBS)
55 server-iter-test: iter-test.o $(KADMSRV_DEPLIBS) $(KRB5_BASE_DEPLIBS)
56 $(CC_LINK) -o server-iter-test iter-test.o \
57 $(KADMSRV_LIBS) $(KDB_DEP_LIB) $(KRB5_BASE_LIBS)
59 server-setkey-test: setkey-test.o $(KADMSRV_DEPLIBS) $(KRB5_BASE_DEPLIBS)
60 $(CC_LINK) -o server-setkey-test setkey-test.o \
61 $(KADMSRV_LIBS) $(KDB_DEP_LIB) $(KRB5_BASE_LIBS)
64 # The unit-test targets
67 check:: check-@DO_TEST@
71 @echo "+++ WARNING: lib/kadm5 unit tests not run."
72 @echo "+++ Either tcl, runtest, or Perl is unavailable."
75 check-ok unit-test:: unit-test-client unit-test-server
77 unit-test-client: unit-test-client-setup unit-test-client-body \
78 unit-test-client-cleanup
80 unit-test-server: unit-test-server-setup unit-test-server-body \
81 unit-test-server-cleanup
83 test-randkey:: randkey-test
84 $(ENV_SETUP) $(VALGRIND) ./randkey-test
86 test-handle-server:: server-handle-test
87 $(ENV_SETUP) $(VALGRIND) ./server-handle-test
89 test-handle-client:: client-handle-test
90 $(ENV_SETUP) $(VALGRIND) ./client-handle-test
92 test-noauth: init-test
93 $(ENV_SETUP) $(VALGRIND) ./init-test
95 test-destroy: destroy-test
96 $(ENV_SETUP) $(VALGRIND) ./destroy-test
98 unit-test-client-setup::
99 $(ENV_SETUP) $(VALGRIND) $(START_SERVERS)
101 unit-test-client-cleanup::
102 $(ENV_SETUP) $(STOP_SERVERS)
104 unit-test-server-setup::
105 $(ENV_SETUP) $(VALGRIND) $(START_SERVERS_LOCAL)
107 unit-test-server-cleanup::
108 $(ENV_SETUP) $(STOP_SERVERS_LOCAL)
110 unit-test-client-body: site.exp test-noauth test-destroy test-handle-client
111 $(ENV_SETUP) $(RUNTEST) --tool api RPC=1 API=$(CLNTTCL) \
112 KINIT=$(BUILDTOP)/clients/kinit/kinit \
113 KDESTROY=$(BUILDTOP)/clients/kdestroy/kdestroy \
114 KADMIN_LOCAL=$(BUILDTOP)/kadmin/cli/kadmin.local \
115 PRIOCNTL_HACK=@PRIOCNTL_HACK@ VALGRIND="$(VALGRIND)" \
120 unit-test-server-body: site.exp test-handle-server lock-test
121 $(ENV_SETUP) $(RUNTEST) --tool api RPC=0 API=$(SRVTCL) \
122 LOCKTEST=./lock-test \
123 KADMIN_LOCAL=$(BUILDTOP)/kadmin/cli/kadmin.local \
124 PRIOCNTL_HACK=@PRIOCNTL_HACK@ VALGRIND="$(VALGRIND)" \
130 $(RM) init-test client_init.o init-test.o
131 $(RM) destroy-test destroy-test.o
132 $(RM) client-handle-test handle-test.o client-handle-test.o
133 $(RM) client-iter-test iter-test.o
134 $(RM) randkey-test randkey-test.o
135 $(RM) server-handle-test handle-test.o
136 $(RM) lock-test lock-test.o
137 $(RM) server-iter-test iter-test.o
138 $(RM) server-setkey-test client-setkey-test setkey-test.o
139 $(RM) *.log *.plog *.sum *.psum unit-test-log.*