app/test: fix memory autotests on FreeBSD

Message ID 20210917150917.90892-1-bruce.richardson@intel.com (mailing list archive)
State Accepted, archived
Delegated to: David Marchand
Headers
Series app/test: fix memory autotests on FreeBSD |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/github-robot: build success github build: passed
ci/Intel-compilation success Compilation OK
ci/intel-Testing fail Testing issues
ci/iol-aarch64-compile-testing success Testing PASS
ci/iol-x86_64-unit-testing success Testing PASS
ci/iol-x86_64-compile-testing success Testing PASS

Commit Message

Bruce Richardson Sept. 17, 2021, 3:09 p.m. UTC
  The memory autotests were failing on FreeBSD, due to an incorrect errno
variable being checked for ENOTSUP. The test checked "errno" while the
DPDK API sets "rte_errno". Changing to check the right variable makes
the test behave properly.

Fixes: c3e35a0966b8 ("test/mem: check segment fd API")
Cc: anatoly.burakov@intel.com

Reported-by: Brandon Lo <blo@iol.unh.edu>
Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
---
 app/test/test_memory.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
  

Comments

David Marchand Oct. 2, 2021, 2:41 p.m. UTC | #1
On Fri, Sep 17, 2021 at 5:09 PM Bruce Richardson
<bruce.richardson@intel.com> wrote:
>
> The memory autotests were failing on FreeBSD, due to an incorrect errno
> variable being checked for ENOTSUP. The test checked "errno" while the
> DPDK API sets "rte_errno". Changing to check the right variable makes
> the test behave properly.
>
> Fixes: c3e35a0966b8 ("test/mem: check segment fd API")
>
> Reported-by: Brandon Lo <blo@iol.unh.edu>
> Signed-off-by: Bruce Richardson <bruce.richardson@intel.com>
Reviewed-by: David Marchand <david.marchand@redhat.com>

Applied, thanks.
  

Patch

diff --git a/app/test/test_memory.c b/app/test/test_memory.c
index 7d5ae99bab..dbf6871e71 100644
--- a/app/test/test_memory.c
+++ b/app/test/test_memory.c
@@ -6,6 +6,7 @@ 
 #include <stdint.h>
 
 #include <rte_eal.h>
+#include <rte_errno.h>
 #include <rte_memory.h>
 #include <rte_common.h>
 #include <rte_memzone.h>
@@ -53,7 +54,7 @@  check_seg_fds(const struct rte_memseg_list *msl, const struct rte_memseg *ms,
 		/* ENOTSUP means segment is valid, but there is not support for
 		 * segment fd API (e.g. on FreeBSD).
 		 */
-		if (errno == ENOTSUP)
+		if (rte_errno == ENOTSUP)
 			return 1;
 		/* all other errors are treated as failures */
 		return -1;