[dpdk-dev] [PATCH v3 1/4] test: enable tests to run in no-huge mode

Aaron Conole aconole at redhat.com
Tue Mar 17 13:49:20 CET 2020


Ruifeng Wang <ruifeng.wang at arm.com> writes:

> When running with '--no-huge' flag, tests failed with messages as:
>     ACL context creation with invalid NUMA should have failed!
>     fbk hash creation should have failed
>     test_table_pipeline: Check pipeline invalid params failed.
>
> These cases test against invalid socket ID as input parameter, and
> expect error return. But function calls return success because
> invalid sock ID is overwritten to SOCKET_ID_ANY when in no-huge mode.
>
> The tests against invalid socket ID are skipped in no-huge mode.
>
> Fixes: 5640171c528a ("malloc: fix external heap allocation in no-huge mode")
> Cc: stable at dpdk.org
>
> Signed-off-by: Ruifeng Wang <ruifeng.wang at arm.com>
> Reviewed-by: Gavin Hu <gavin.hu at arm.com>
> ---

Acked-by: Aaron Conole <aconole at redhat.com>

>  app/test/test_acl.c            | 22 ++++++++++++----------
>  app/test/test_hash.c           |  7 +++++--
>  app/test/test_table_pipeline.c | 12 +++++++-----
>  3 files changed, 24 insertions(+), 17 deletions(-)
>
> diff --git a/app/test/test_acl.c b/app/test/test_acl.c
> index 501de35da..316bf4d06 100644
> --- a/app/test/test_acl.c
> +++ b/app/test/test_acl.c
> @@ -1397,16 +1397,18 @@ test_invalid_parameters(void)
>  	} else
>  		rte_acl_free(acx);
>  
> -	/* invalid NUMA node */
> -	memcpy(&param, &acl_param, sizeof(param));
> -	param.socket_id = RTE_MAX_NUMA_NODES + 1;
> -
> -	acx = rte_acl_create(&param);
> -	if (acx != NULL) {
> -		printf("Line %i: ACL context creation with invalid NUMA "
> -				"should have failed!\n", __LINE__);
> -		rte_acl_free(acx);
> -		return -1;
> +	if (rte_eal_has_hugepages()) {
> +		/* invalid NUMA node */
> +		memcpy(&param, &acl_param, sizeof(param));
> +		param.socket_id = RTE_MAX_NUMA_NODES + 1;
> +
> +		acx = rte_acl_create(&param);
> +		if (acx != NULL) {
> +			printf("Line %i: ACL context creation with invalid "
> +					"NUMA should have failed!\n", __LINE__);
> +			rte_acl_free(acx);
> +			return -1;
> +		}
>  	}
>  
>  	/* NULL name */
> diff --git a/app/test/test_hash.c b/app/test/test_hash.c
> index fbd5725c6..ab978ea68 100644
> --- a/app/test/test_hash.c
> +++ b/app/test/test_hash.c
> @@ -1136,8 +1136,11 @@ fbk_hash_unit_test(void)
>  	handle = rte_fbk_hash_create(&invalid_params_7);
>  	RETURN_IF_ERROR_FBK(handle != NULL, "fbk hash creation should have failed");
>  
> -	handle = rte_fbk_hash_create(&invalid_params_8);
> -	RETURN_IF_ERROR_FBK(handle != NULL, "fbk hash creation should have failed");
> +	if (rte_eal_has_hugepages()) {
> +		handle = rte_fbk_hash_create(&invalid_params_8);
> +		RETURN_IF_ERROR_FBK(handle != NULL,
> +					"fbk hash creation should have failed");
> +	}
>  
>  	handle = rte_fbk_hash_create(&invalid_params_same_name_1);
>  	RETURN_IF_ERROR_FBK(handle == NULL, "fbk hash creation should have succeeded");
> diff --git a/app/test/test_table_pipeline.c b/app/test/test_table_pipeline.c
> index 441338ac0..bc412c308 100644
> --- a/app/test/test_table_pipeline.c
> +++ b/app/test/test_table_pipeline.c
> @@ -190,11 +190,13 @@ check_pipeline_invalid_params(void)
>  		goto fail;
>  	}
>  
> -	p = rte_pipeline_create(&pipeline_params_3);
> -	if (p != NULL) {
> -		RTE_LOG(INFO, PIPELINE, "%s: Configure pipeline with invalid "
> -			"socket\n", __func__);
> -		goto fail;
> +	if (rte_eal_has_hugepages()) {
> +		p = rte_pipeline_create(&pipeline_params_3);
> +		if (p != NULL) {
> +			RTE_LOG(INFO, PIPELINE, "%s: Configure pipeline with "
> +				"invalid socket\n", __func__);
> +			goto fail;
> +		}
>  	}
>  
>  	/* Check pipeline consistency */



More information about the dev mailing list