Re: [PATCH 1/2] test-message: add message quota test

Lennart Poettering <[email protected]>
Newsgroups gmane.comp.freedesktop.dbus
Message-ID <20141106233836.GA30880@gardel-login>
On Sun, 02.11.14 19:15, John de la Garza ([email protected]) 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 <[email protected]>
> ---
>  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
> [email protected]
> http://lists.freedesktop.org/mailman/listinfo/dbus


Lennart

-- 
Lennart Poettering, Red Hat
_______________________________________________
dbus mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/dbus
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.