diff options
Diffstat (limited to 'third_party/heimdal/tests/bin')
-rw-r--r-- | third_party/heimdal/tests/bin/Makefile.am | 30 | ||||
-rw-r--r-- | third_party/heimdal/tests/bin/intr.c | 56 | ||||
-rw-r--r-- | third_party/heimdal/tests/bin/setup-env.in | 89 |
3 files changed, 175 insertions, 0 deletions
diff --git a/third_party/heimdal/tests/bin/Makefile.am b/third_party/heimdal/tests/bin/Makefile.am new file mode 100644 index 0000000..98bb342 --- /dev/null +++ b/third_party/heimdal/tests/bin/Makefile.am @@ -0,0 +1,30 @@ +include $(top_srcdir)/Makefile.am.common + +noinst_SCRIPTS = setup-env + +noinst_PROGRAMS = intr + +intr_SOURCES = intr.c + +CHECK_LOCAL = no-check-local + +intr_LDADD = $(LIB_roken) + +do_subst = \ + top_srcdir="$$(cd ${top_srcdir} && pwd)" ; \ + top_builddir="$$(cd ${top_builddir} && pwd)" ; \ + sed $(do_dlopen) \ + -e "s,[@]EGREP[@],$(EGREP),g" \ + -e "s,[@]top_srcdir[@],$${top_srcdir},g" \ + -e "s,[@]top_builddir[@],$${top_builddir},g" \ + -e "s,[@]NO_AFS[@],$(NO_AFS),g" + +setup-env: setup-env.in Makefile + $(do_subst) < $(srcdir)/setup-env.in > setup-env.tmp + chmod +x setup-env.tmp + mv setup-env.tmp setup-env + +EXTRA_DIST = setup-env.in + +CLEANFILES = setup-env setup-env.tmp + diff --git a/third_party/heimdal/tests/bin/intr.c b/third_party/heimdal/tests/bin/intr.c new file mode 100644 index 0000000..867c5c2 --- /dev/null +++ b/third_party/heimdal/tests/bin/intr.c @@ -0,0 +1,56 @@ +#include <config.h> + +#include <getarg.h> +#include <roken.h> +#include <time.h> + +static int help_flag; +static int timeout = 3; + +static struct getargs args[] = { + { "help", 'h', arg_flag, &help_flag, NULL, NULL }, + { "timeout", 't', arg_integer, &timeout, NULL, NULL } +}; + +static int nargs = sizeof(args) / sizeof(args[0]); + +static time_t +handle_timeout(void *data) +{ + static int killed; + + if (!killed++) + return -1; /* kill it */ + return -2; /* stop waiting for it */ +} + +static void +usage(int status) +{ + arg_printusage(args, nargs, NULL, "command"); + exit(status); +} + + +int +main(int argc, char **argv) +{ + int optidx = 0; + + setprogname(argv[0]); + + if (getarg(args, nargs, argc, argv, &optidx)) + usage(1); + + if (help_flag) + usage(0); + + argc -= optidx; + argv += optidx; + + if (argc == 0) + usage(1); + + return simple_execvp_timed(argv[0], argv, handle_timeout, NULL, + timeout); +} diff --git a/third_party/heimdal/tests/bin/setup-env.in b/third_party/heimdal/tests/bin/setup-env.in new file mode 100644 index 0000000..8efa0e9 --- /dev/null +++ b/third_party/heimdal/tests/bin/setup-env.in @@ -0,0 +1,89 @@ +#!/bin/sh + +HEIM_PIDFILE_DIR="${objdir}/" +export HEIM_PIDFILE_DIR + +unset KRB5_CONFIG +unset KRB5CCNAME + +unset GSS_MECH_CONFIG +unset GSSAPI_SPNEGO_NAME + +top_builddir="@top_builddir@" +top_srcdir="@top_srcdir@" +EGREP="@EGREP@" +NO_AFS="@NO_AFS@" +MITKRB5="@MITKRB5@" + +# Meant to be sourced (source or .) by the tester application, offers +# most commands in heimdal as variables + +# regular apps +bx509d="${TESTS_ENVIRONMENT} ${top_builddir}/kdc/bx509d" +httpkadmind="${TESTS_ENVIRONMENT} ${top_builddir}/kdc/httpkadmind" +hxtool="${TESTS_ENVIRONMENT} ${top_builddir}/lib/hx509/hxtool" +iprop_log="${TESTS_ENVIRONMENT} ${top_builddir}/lib/kadm5/iprop-log" +ipropd_master="${TESTS_ENVIRONMENT} ${top_builddir}/lib/kadm5/ipropd-master" +ipropd_slave="${TESTS_ENVIRONMENT} ${top_builddir}/lib/kadm5/ipropd-slave" +kadmin="${TESTS_ENVIRONMENT} ${top_builddir}/kadmin/kadmin" +kadmind="${TESTS_ENVIRONMENT} ${top_builddir}/kadmin/kadmind" +kdc="${TESTS_ENVIRONMENT} ${top_builddir}/kdc/kdc" +kdc_tester="${TESTS_ENVIRONMENT} ${top_builddir}/kdc/kdc-tester" +kcm="${TESTS_ENVIRONMENT} ${top_builddir}/kcm/kcm" +test_csr_authorizer="${TESTS_ENVIRONMENT} ${top_builddir}/kdc/test_csr_authorizer" +test_kdc_ca="${TESTS_ENVIRONMENT} ${top_builddir}/kdc/test_kdc_ca" +test_token_validator="${TESTS_ENVIRONMENT} ${top_builddir}/kdc/test_token_validator" +kdestroy="${TESTS_ENVIRONMENT} ${top_builddir}/kuser/kdestroy" +kdigest="${TESTS_ENVIRONMENT} ${top_builddir}/kuser/kdigest" +kgetcred="${TESTS_ENVIRONMENT} ${top_builddir}/kuser/kgetcred" +kimpersonate="${TESTS_ENVIRONMENT} ${top_builddir}/kuser/kimpersonate" +kinit="${TESTS_ENVIRONMENT} ${top_builddir}/kuser/kinit" +klist="${TESTS_ENVIRONMENT} ${top_builddir}/kuser/heimtools klist" +kpasswd="${TESTS_ENVIRONMENT} ${top_builddir}/kpasswd/kpasswd" +kpasswdd="${TESTS_ENVIRONMENT} ${top_builddir}/kpasswd/kpasswdd" +kswitch="${TESTS_ENVIRONMENT} ${top_builddir}/kuser/heimtools kswitch" +kx509="${TESTS_ENVIRONMENT} ${top_builddir}/kuser/heimtools kx509" +ktutil="${TESTS_ENVIRONMENT} ${top_builddir}/admin/ktutil" +gsstool="${TESTS_ENVIRONMENT} ${top_builddir}/lib/gssapi/gsstool" +gsstoken="${TESTS_ENVIRONMENT} ${top_builddir}/lib/gssapi/gss-token" + +# regression test tools +test_ap_req="${TESTS_ENVIRONMENT} ${top_builddir}/lib/krb5/test_ap-req" +test_canon="${TESTS_ENVIRONMENT} ${top_builddir}/lib/krb5/test_canon" +test_gic="${TESTS_ENVIRONMENT} ${top_builddir}/lib/krb5/test_gic" +test_renew="${TESTS_ENVIRONMENT} ${top_builddir}/lib/krb5/test_renew" +test_ntlm="${TESTS_ENVIRONMENT} ${top_builddir}/lib/gssapi/test_ntlm" +test_context="${TESTS_ENVIRONMENT} ${top_builddir}/lib/gssapi/test_context" +rkbase64="${TESTS_ENVIRONMENT} ${top_builddir}/lib/roken/rkbase64" +rkpty="${TESTS_ENVIRONMENT} ${top_builddir}/lib/roken/rkpty" +rkvis="${TESTS_ENVIRONMENT} ${top_builddir}/lib/roken/rkvis" +test_set_kvno0="${TESTS_ENVIRONMENT} ${top_builddir}/lib/krb5/test_set_kvno0" +test_alname="${TESTS_ENVIRONMENT} ${top_builddir}/lib/krb5/test_alname" +test_kuserok="${TESTS_ENVIRONMENT} ${top_builddir}/lib/krb5/test_kuserok" +test_mkforwardable="${TESTS_ENVIRONMENT} ${top_builddir}/lib/krb5/test_mkforwardable" + +# misc apps +have_db="${top_builddir}/tests/db/have-db" +leaks_kill="${top_srcdir}/tests/kdc/leaks-kill.sh" +wait_kdc="${top_srcdir}/tests/kdc/wait-kdc.sh" +getpid () { + if [ -f "$HEIM_PIDFILE_DIR/lt-${1}.pid" ]; then + cat "$HEIM_PIDFILE_DIR/lt-${1}.pid" + else + cat "$HEIM_PIDFILE_DIR/${1}.pid" + fi +} + +if [ ! "${NO_AFS}" ] ; then + afs_no_unlog="--no-unlog" + afs_no_afslog="--no-afslog" +else + afs_no_unlog="" + afs_no_afslog="" +fi + +# data +hx509_data="${top_srcdir}/lib/hx509/data" + +# malloc debug +HEIM_MALLOC_DEBUG="MallocStackLoggingNoCompact=1 MallocErrorAbort=1 MallocLogFile=/tmp/heim-malloc-log" |