[PATCH 1/2] test-message: add message quota test
Lennart Poettering
mzqohf at 0pointer.de
Thu Nov 6 15:38:36 PST 2014
On Sun, 02.11.14 19:15, John de la Garza (john at jjdev.com) wrote:
Hmm, please send kdbus patches to the systemd ML, not the dbus ML!
We don#t really have a real mailing list for kdbus right now, but most
folks who hack on kdbus are on the systemd ML, hence we just poth
patches there!
Sorry for the confusion!
> Signed-off-by: John de la Garza <john at jjdev.com>
> ---
> test/kdbus-test.c | 6 ++++++
> test/kdbus-test.h | 1 +
> test/test-message.c | 33 +++++++++++++++++++++++++++++++++
> 3 files changed, 40 insertions(+)
>
> diff --git a/test/kdbus-test.c b/test/kdbus-test.c
> index 56a0ff9..d9e6a89 100644
> --- a/test/kdbus-test.c
> +++ b/test/kdbus-test.c
> @@ -106,6 +106,12 @@ static const struct kdbus_test tests[] = {
> .flags = TEST_CREATE_BUS,
> },
> {
> + .name = "message-quota",
> + .desc = "message quotas are enforced",
> + .func = kdbus_test_message_quota,
> + .flags = TEST_CREATE_BUS,
> + },
> + {
> .name = "timeout",
> .desc = "timeout",
> .func = kdbus_test_timeout,
> diff --git a/test/kdbus-test.h b/test/kdbus-test.h
> index bb9b372..e267182 100644
> --- a/test/kdbus-test.h
> +++ b/test/kdbus-test.h
> @@ -61,6 +61,7 @@ int kdbus_test_match_name_change(struct kdbus_test_env *env);
> int kdbus_test_match_name_remove(struct kdbus_test_env *env);
> int kdbus_test_message_basic(struct kdbus_test_env *env);
> int kdbus_test_message_prio(struct kdbus_test_env *env);
> +int kdbus_test_message_quota(struct kdbus_test_env *env);
> int kdbus_test_metadata_ns(struct kdbus_test_env *env);
> int kdbus_test_monitor(struct kdbus_test_env *env);
> int kdbus_test_name_basic(struct kdbus_test_env *env);
> diff --git a/test/test-message.c b/test/test-message.c
> index 93b9d9c..e7980a1 100644
> --- a/test/test-message.c
> +++ b/test/test-message.c
> @@ -13,6 +13,9 @@
> #include "kdbus-util.h"
> #include "kdbus-enum.h"
> #include "kdbus-test.h"
> +#include "../limits.h"
> +#include <sys/capability.h>
> +
>
> int kdbus_test_message_basic(struct kdbus_test_env *env)
> {
> @@ -124,3 +127,33 @@ int kdbus_test_message_prio(struct kdbus_test_env *env)
>
> return TEST_OK;
> }
> +
> +int kdbus_test_message_quota(struct kdbus_test_env *env)
> +{
> + struct kdbus_conn *a, *b;
> + uint64_t cookie = 0;
> + int ret;
> + int i;
> +
> + if (geteuid() == 0) {
> + kdbus_printf("error geteuid() == 0, %s() can't be root\n",
> + __func__);
> + return TEST_SKIP;
> + }
> +
> + a = kdbus_hello(env->buspath, 0, NULL, 0);
> + b = kdbus_hello(env->buspath, 0, NULL, 0);
> +
> + for (i = 0; i <= KDBUS_CONN_MAX_MSGS_PER_USER; i++) {
> + ret = kdbus_msg_send(b, NULL, ++cookie, 0, 0, 0, a->id);
> + ASSERT_RETURN(ret == 0);
> + }
> +
> + ret = kdbus_msg_send(b, NULL, ++cookie, 0, 0, 0, a->id);
> + ASSERT_RETURN(ret == -ENOBUFS);
> +
> + kdbus_conn_free(a);
> + kdbus_conn_free(b);
> +
> + return TEST_OK;
> +}
> --
> 2.1.1
>
> _______________________________________________
> dbus mailing list
> dbus at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dbus
Lennart
--
Lennart Poettering, Red Hat
More information about the dbus
mailing list