Unit tests framework
F: app/test/commands.c
-F: app/test/has-hugepage.sh
+F: app/test/has_hugepage.py
F: app/test/packet_burst_generator.c
F: app/test/packet_burst_generator.h
F: app/test/process.h
+++ /dev/null
-#! /bin/sh
-# SPDX-License-Identifier: BSD-3-Clause
-# Copyright 2020 Mellanox Technologies, Ltd
-
-if [ "$(uname)" = "Linux" ] ; then
- cat /proc/sys/vm/nr_hugepages || echo 0
-elif [ "$(uname)" = "FreeBSD" ] ; then
- echo 1 # assume FreeBSD always has hugepages
-else
- echo 0
-fi
--- /dev/null
+# SPDX-License-Identifier: BSD-3-Clause
+# Copyright (c) 2021 Microsoft Corporation
+"""This script checks if the system supports huge pages"""
+
+import platform
+import ctypes
+
+os_name = platform.system()
+if os_name == "Linux":
+ try:
+ with open("/proc/sys/vm/nr_hugepages") as file_o:
+ content = file_o.read()
+ print(content)
+ except:
+ print("0")
+
+elif os_name == "FreeBSD":
+ # Assume FreeBSD always has hugepages enabled
+ print("1")
+elif os_name == "Windows":
+ if ctypes.windll.kernel32.GetLargePageMinimum() > 0:
+ print("1")
+ else:
+ print("0")
+else:
+ print("0")
driver_install_path),
install: true)
-has_hugepage = run_command('has-hugepage.sh', check: true).stdout().strip() != '0'
+has_hugepage = run_command(py3, 'has_hugepage.py', check: true).stdout().strip() != '0'
message('hugepage availability: @0@'.format(has_hugepage))
# some perf tests (eg: memcpy perf autotest)take very long