Add kadmin ACL enforcement tests
[krb5.git] / src / tests / Makefile.in
1 mydir=tests
2 BUILDTOP=$(REL)..
3 SUBDIRS = resolve asn.1 create hammer verify gssapi dejagnu shlib \
4         gss-threads misc mkeystash_compat
5
6 RUN_SETUP = @KRB5_RUN_ENV@ KRB5_KDC_PROFILE=kdc.conf KRB5_CONFIG=krb5.conf
7 KRB5_RUN_ENV= @KRB5_RUN_ENV@
8 PROG_LIBPATH=-L$(TOPLIBD)
9 PROG_RPATH=$(KRB5_LIBDIR)
10
11 TEST_DB = ./testdb
12 TEST_REALM = FOO.TEST.REALM
13 TEST_MKEY = footes
14 TEST_NUM = 65
15 TEST_DEPTH = 5
16 TEST_PREFIX = "foo bar"
17
18 KADMIN_OPTS= -d $(TEST_DB) -r $(TEST_REALM) -P $(TEST_MKEY)
19 KTEST_OPTS= $(KADMIN_OPTS) -p $(TEST_PREFIX) -n $(TEST_NUM) -D $(TEST_DEPTH)
20
21 hist: hist.o $(KDB5_DEPLIBS) $(KADMSRV_DEPLIBS) $(KRB5_BASE_DEPLIBS)
22         $(CC_LINK) -o $@ hist.o $(KDB5_LIBS) $(KADMSRV_LIBS) $(KRB5_BASE_LIBS)
23
24 check-unix:: kdb_check
25
26 kdc.conf: Makefile
27         rm -rf kdc.conf
28         @echo "[realms]" > kdc.conf
29         @echo "$(TEST_REALM) = {" >> kdc.conf
30         @echo "  key_stash_file = `pwd`/stash_file" >> kdc.conf
31         @echo "}" >> kdc.conf
32
33 krb5.conf: Makefile
34         cat $(top_srcdir)/config-files/krb5.conf > krb5.new
35         echo "[dbmodules]" >> krb5.new
36         echo " db_module_dir = `pwd`/../plugins/kdb" >> krb5.new
37         mv krb5.new krb5.conf
38
39 kdb_check: kdc.conf krb5.conf
40         $(RM) $(TEST_DB)*
41         $(RUN_SETUP) $(VALGRIND) ../kadmin/dbutil/kdb5_util $(KADMIN_OPTS) create -W
42         $(RUN_SETUP) $(VALGRIND) ../tests/create/kdb5_mkdums $(KTEST_OPTS) 
43         $(RUN_SETUP) $(VALGRIND) ../tests/verify/kdb5_verify $(KTEST_OPTS) 
44         $(RUN_SETUP) $(VALGRIND) ../kadmin/dbutil/kdb5_util $(KADMIN_OPTS) dump $(TEST_DB).dump
45         $(RUN_SETUP) $(VALGRIND) ../kadmin/dbutil/kdb5_util $(KADMIN_OPTS) dump -ov $(TEST_DB).ovdump
46         $(RUN_SETUP) $(VALGRIND) ../kadmin/dbutil/kdb5_util $(KADMIN_OPTS) destroy -f
47         @echo "====> NOTE!"
48         @echo "The following 'create' command is needed due to a change"
49         @echo "in functionality caused by DAL integration.  See ticket 3973."
50         @echo ====
51         $(RUN_SETUP) $(VALGRIND) ../kadmin/dbutil/kdb5_util $(KADMIN_OPTS) create -W
52         $(RUN_SETUP) $(VALGRIND) ../kadmin/dbutil/kdb5_util $(KADMIN_OPTS) load $(TEST_DB).dump 
53         $(RUN_SETUP) $(VALGRIND) ../kadmin/dbutil/kdb5_util $(KADMIN_OPTS) load -update -ov $(TEST_DB).ovdump 
54         $(RUN_SETUP) $(VALGRIND) ../tests/verify/kdb5_verify $(KTEST_OPTS) 
55         $(RUN_SETUP) $(VALGRIND) ../kadmin/dbutil/kdb5_util $(KADMIN_OPTS) dump $(TEST_DB).dump2
56         $(RUN_SETUP) $(VALGRIND) ../kadmin/dbutil/kdb5_util $(KADMIN_OPTS) dump -ov $(TEST_DB).ovdump2
57         sort $(TEST_DB).dump > $(TEST_DB).sort
58         sort $(TEST_DB).dump2 > $(TEST_DB).sort2
59         sort $(TEST_DB).ovdump > $(TEST_DB).ovsort
60         sort $(TEST_DB).ovdump2 > $(TEST_DB).ovsort2
61         cmp $(TEST_DB).sort $(TEST_DB).sort2
62         cmp $(TEST_DB).ovsort $(TEST_DB).ovsort2
63         $(RUN_SETUP) $(VALGRIND) ../kadmin/dbutil/kdb5_util $(KADMIN_OPTS) destroy -f
64         $(RM) $(TEST_DB)* stash_file
65
66 check-pytests:: hist
67         $(RUNPYTEST) $(srcdir)/t_general.py $(PYTESTFLAGS)
68         $(RUNPYTEST) $(srcdir)/t_anonpkinit.py $(PYTESTFLAGS)
69         $(RUNPYTEST) $(srcdir)/t_lockout.py $(PYTESTFLAGS)
70         $(RUNPYTEST) $(srcdir)/t_kadm5_hook.py $(PYTESTFLAGS)
71         $(RUNPYTEST) $(srcdir)/t_keyrollover.py $(PYTESTFLAGS)
72         $(RUNPYTEST) $(srcdir)/t_renew.py $(PYTESTFLAGS)
73         $(RUNPYTEST) $(srcdir)/t_renprinc.py $(PYTESTFLAGS)
74         $(RUNPYTEST) $(srcdir)/t_cccol.py $(PYTESTFLAGS)
75         $(RUNPYTEST) $(srcdir)/t_stringattr.py $(PYTESTFLAGS)
76         $(RUNPYTEST) $(srcdir)/t_crossrealm.py $(PYTESTFLAGS)
77         $(RUNPYTEST) $(srcdir)/t_skew.py $(PYTESTFLAGS)
78         $(RUNPYTEST) $(srcdir)/t_keytab.py $(PYTESTFLAGS)
79         $(RUNPYTEST) $(srcdir)/t_pwhist.py $(PYTESTFLAGS)
80         $(RUNPYTEST) $(srcdir)/t_kadmin_acl.py $(PYTESTFLAGS)
81 #       $(RUNPYTEST) $(srcdir)/kdc_realm/kdcref.py $(PYTESTFLAGS)
82
83 clean::
84         $(RM) krb5.conf kdc.conf
85         $(RM) -rf kdc_realm/sandbox