testing/nxdiag: Move to "system" and improve info generated
Move the application to the "System" category. Improve host OS info by using platform.uname() and get current config file using CONFIG_BASE_DEFCONFIG
This commit is contained in:
parent
df418bea81
commit
9cc710e954
@ -1,4 +1,4 @@
|
||||
config TESTING_NXDIAG
|
||||
menuconfig SYSTEM_NXDIAG
|
||||
bool "System information and diagnostic (nxdiag)"
|
||||
default n
|
||||
---help---
|
||||
@ -6,19 +6,19 @@ config TESTING_NXDIAG
|
||||
and target system information. It can also perform some
|
||||
diagnostic checks on the host and target systems.
|
||||
|
||||
if TESTING_NXDIAG
|
||||
if SYSTEM_NXDIAG
|
||||
|
||||
config TESTING_NXDIAG_PRIORITY
|
||||
config SYSTEM_NXDIAG_PRIORITY
|
||||
int "Nxdiag task priority"
|
||||
default 100
|
||||
|
||||
config TESTING_NXDIAG_STACKSIZE
|
||||
config SYSTEM_NXDIAG_STACKSIZE
|
||||
int "Nxdiag stack size"
|
||||
default DEFAULT_TASK_STACKSIZE
|
||||
|
||||
comment "NuttX system information"
|
||||
|
||||
config TESTING_NXDIAG_CONF
|
||||
config SYSTEM_NXDIAG_CONF
|
||||
bool "Get NuttX configuration"
|
||||
default n
|
||||
---help---
|
||||
@ -26,7 +26,7 @@ config TESTING_NXDIAG_CONF
|
||||
used to compile NuttX. This is useful for debugging the host and
|
||||
target systems. Enables the "-c" and "--nuttx-config" options.
|
||||
|
||||
config TESTING_NXDIAG_COMP_FLAGS
|
||||
config SYSTEM_NXDIAG_COMP_FLAGS
|
||||
bool "Get NuttX compilation flags"
|
||||
default n
|
||||
---help---
|
||||
@ -36,7 +36,7 @@ config TESTING_NXDIAG_COMP_FLAGS
|
||||
|
||||
comment "Host system infromation"
|
||||
|
||||
config TESTING_NXDIAG_HOST_PATH
|
||||
config SYSTEM_NXDIAG_HOST_PATH
|
||||
bool "Get host system PATH"
|
||||
default n
|
||||
---help---
|
||||
@ -44,7 +44,7 @@ config TESTING_NXDIAG_HOST_PATH
|
||||
variable. This is useful for debugging the host system.
|
||||
Enables the "-p" and "--host-path" options.
|
||||
|
||||
config TESTING_NXDIAG_HOST_PACKAGES
|
||||
config SYSTEM_NXDIAG_HOST_PACKAGES
|
||||
bool "Get host system packages"
|
||||
default n
|
||||
---help---
|
||||
@ -52,7 +52,7 @@ config TESTING_NXDIAG_HOST_PACKAGES
|
||||
on the host system. This is useful for debugging the host
|
||||
system. Enables the "-k" and "--host-packages" options.
|
||||
|
||||
config TESTING_NXDIAG_HOST_MODULES
|
||||
config SYSTEM_NXDIAG_HOST_MODULES
|
||||
bool "Get host system python modules"
|
||||
default n
|
||||
---help---
|
||||
@ -62,10 +62,10 @@ config TESTING_NXDIAG_HOST_MODULES
|
||||
|
||||
comment "Vendor specific information"
|
||||
|
||||
config TESTING_NXDIAG_ESPRESSIF
|
||||
config SYSTEM_NXDIAG_ESPRESSIF
|
||||
bool "Espressif"
|
||||
default n
|
||||
---help---
|
||||
Enable Espressif-specific information and checks.
|
||||
|
||||
endif
|
||||
endif # SYSTEM_NXDIAG
|
@ -1,5 +1,5 @@
|
||||
############################################################################
|
||||
# apps/testing/nxdiag/Make.defs
|
||||
# apps/system/nxdiag/Make.defs
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
@ -18,6 +18,6 @@
|
||||
#
|
||||
############################################################################
|
||||
|
||||
ifneq ($(CONFIG_TESTING_NXDIAG),)
|
||||
CONFIGURED_APPS += $(APPDIR)/testing/nxdiag
|
||||
ifneq ($(CONFIG_SYSTEM_NXDIAG),)
|
||||
CONFIGURED_APPS += $(APPDIR)/system/nxdiag
|
||||
endif
|
@ -1,5 +1,5 @@
|
||||
############################################################################
|
||||
# apps/testing/nxdiag/Makefile
|
||||
# apps/system/nxdiag/Makefile
|
||||
#
|
||||
# Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
# contributor license agreements. See the NOTICE file distributed with
|
||||
@ -25,40 +25,40 @@ NXTOOLSDIR = $(APPDIR)/tools
|
||||
# Sysinfo application info
|
||||
|
||||
PROGNAME = nxdiag
|
||||
PRIORITY = $(CONFIG_TESTING_NXDIAG_PRIORITY)
|
||||
STACKSIZE = $(CONFIG_TESTING_NXDIAG_STACKSIZE)
|
||||
MODULE = $(CONFIG_TESTING_NXDIAG)
|
||||
PRIORITY = $(CONFIG_SYSTEM_NXDIAG_PRIORITY)
|
||||
STACKSIZE = $(CONFIG_SYSTEM_NXDIAG_STACKSIZE)
|
||||
MODULE = $(CONFIG_SYSTEM_NXDIAG)
|
||||
|
||||
# Sysinfo application
|
||||
|
||||
MAINSRC = nxdiag.c
|
||||
NXDIAG_FLAGS = "$(realpath $(TOPDIR))"
|
||||
|
||||
ifeq ($(CONFIG_TESTING_NXDIAG_CONF),y)
|
||||
ifeq ($(CONFIG_SYSTEM_NXDIAG_CONF),y)
|
||||
NXDIAG_FLAGS += --config
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_TESTING_NXDIAG_COMP_FLAGS),y)
|
||||
ifeq ($(CONFIG_SYSTEM_NXDIAG_COMP_FLAGS),y)
|
||||
NXDIAG_FLAGS += --flags \""$(shell echo '$(CFLAGS)' | sed 's/"/\\\\\\"/g')"\"
|
||||
NXDIAG_FLAGS += \""$(shell echo '$(CXXFLAGS)' | sed 's/"/\\\\\\"/g')"\"
|
||||
NXDIAG_FLAGS += \""$(shell echo '$(LDFLAGS)' | sed 's/"/\\\\\\"/g')"\"
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_TESTING_NXDIAG_HOST_PACKAGES),y)
|
||||
ifeq ($(CONFIG_SYSTEM_NXDIAG_HOST_PACKAGES),y)
|
||||
NXDIAG_FLAGS += --packages
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_TESTING_NXDIAG_HOST_MODULES),y)
|
||||
ifeq ($(CONFIG_SYSTEM_NXDIAG_HOST_MODULES),y)
|
||||
NXDIAG_FLAGS += --modules
|
||||
endif
|
||||
|
||||
ifeq ($(CONFIG_TESTING_NXDIAG_HOST_PATH),y)
|
||||
ifeq ($(CONFIG_SYSTEM_NXDIAG_HOST_PATH),y)
|
||||
NXDIAG_FLAGS += --path
|
||||
endif
|
||||
|
||||
# Vendor-specific checks
|
||||
|
||||
ifeq ($(CONFIG_TESTING_NXDIAG_ESPRESSIF),y)
|
||||
ifeq ($(CONFIG_SYSTEM_NXDIAG_ESPRESSIF),y)
|
||||
ifdef ESPTOOL_BINDIR
|
||||
NXDIAG_FLAGS += --espressif "$(ESPTOOL_BINDIR)"
|
||||
else
|
@ -1,5 +1,5 @@
|
||||
/****************************************************************************
|
||||
* apps/testing/nxdiag/nxdiag.c
|
||||
* apps/system/nxdiag/nxdiag.c
|
||||
*
|
||||
* Licensed to the Apache Software Foundation (ASF) under one or more
|
||||
* contributor license agreements. See the NOTICE file distributed with
|
||||
@ -29,6 +29,7 @@
|
||||
#include <unistd.h>
|
||||
|
||||
#include <nuttx/config.h>
|
||||
#include <nuttx/info.h>
|
||||
#include <nuttx/version.h>
|
||||
|
||||
#include "sysinfo.h"
|
||||
@ -45,25 +46,25 @@ static const char *g_valid_args[] =
|
||||
"--help",
|
||||
"-n",
|
||||
"--nuttx",
|
||||
#ifdef CONFIG_TESTING_NXDIAG_COMP_FLAGS
|
||||
#ifdef CONFIG_SYSTEM_NXDIAG_COMP_FLAGS
|
||||
"-f",
|
||||
"--flags",
|
||||
#endif
|
||||
#ifdef CONFIG_TESTING_NXDIAG_CONF
|
||||
#ifdef CONFIG_SYSTEM_NXDIAG_CONF
|
||||
"-c",
|
||||
"--config",
|
||||
#endif
|
||||
"-o",
|
||||
"--host-os",
|
||||
#ifdef CONFIG_TESTING_NXDIAG_HOST_PATH
|
||||
#ifdef CONFIG_SYSTEM_NXDIAG_HOST_PATH
|
||||
"-p",
|
||||
"--host-path",
|
||||
#endif
|
||||
#ifdef CONFIG_TESTING_NXDIAG_HOST_PACKAGES
|
||||
#ifdef CONFIG_SYSTEM_NXDIAG_HOST_PACKAGES
|
||||
"-k",
|
||||
"--host-packages",
|
||||
#endif
|
||||
#ifdef CONFIG_TESTING_NXDIAG_HOST_MODULES
|
||||
#ifdef CONFIG_SYSTEM_NXDIAG_HOST_MODULES
|
||||
"-m",
|
||||
"--host-modules",
|
||||
#endif
|
||||
@ -189,25 +190,25 @@ static void print_usage(char *prg)
|
||||
Show this message\n");
|
||||
fprintf(stderr, " -n, --nuttx \
|
||||
Output the NuttX operational system information.\n");
|
||||
#ifdef CONFIG_TESTING_NXDIAG_COMP_FLAGS
|
||||
#ifdef CONFIG_SYSTEM_NXDIAG_COMP_FLAGS
|
||||
fprintf(stderr, " -f, --flags \
|
||||
Output the NuttX compilation and linker flags used.\n");
|
||||
#endif
|
||||
#ifdef CONFIG_TESTING_NXDIAG_CONF
|
||||
#ifdef CONFIG_SYSTEM_NXDIAG_CONF
|
||||
fprintf(stderr, " -c, --config \
|
||||
Output the NuttX configuration options used.\n");
|
||||
#endif
|
||||
fprintf(stderr, " -o, --host-os \
|
||||
Output the host system operational system information.\n");
|
||||
#ifdef CONFIG_TESTING_NXDIAG_HOST_PATH
|
||||
#ifdef CONFIG_SYSTEM_NXDIAG_HOST_PATH
|
||||
fprintf(stderr, " -p, --host-path \
|
||||
Output the host PATH environment variable.\n");
|
||||
#endif
|
||||
#ifdef CONFIG_TESTING_NXDIAG_HOST_PACKAGES
|
||||
#ifdef CONFIG_SYSTEM_NXDIAG_HOST_PACKAGES
|
||||
fprintf(stderr, " -k, --host-packages \
|
||||
Output the host installed system packages.\n");
|
||||
#endif
|
||||
#ifdef CONFIG_TESTING_NXDIAG_HOST_MODULES
|
||||
#ifdef CONFIG_SYSTEM_NXDIAG_HOST_MODULES
|
||||
fprintf(stderr, " -m, --host-modules \
|
||||
Output the host installed Python modules.\n");
|
||||
#endif
|
||||
@ -258,10 +259,11 @@ int main(int argc, char *argv[])
|
||||
#else
|
||||
printf("\tBuild: %s\n", CONFIG_VERSION_BUILD);
|
||||
#endif
|
||||
printf("\tArch: %s\n\n", CONFIG_ARCH);
|
||||
printf("\tArch: %s\n", CONFIG_ARCH);
|
||||
printf("\tConfig: %s\n\n", CONFIG_BASE_DEFCONFIG);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_TESTING_NXDIAG_COMP_FLAGS
|
||||
#ifdef CONFIG_SYSTEM_NXDIAG_COMP_FLAGS
|
||||
if (search_str_in_arr(argc, argv, "-f") ||
|
||||
search_str_in_arr(argc, argv, "--flags") ||
|
||||
search_str_in_arr(argc, argv, "--all"))
|
||||
@ -275,7 +277,7 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_TESTING_NXDIAG_CONF
|
||||
#ifdef CONFIG_SYSTEM_NXDIAG_CONF
|
||||
if (search_str_in_arr(argc, argv, "-c") ||
|
||||
search_str_in_arr(argc, argv, "--config") ||
|
||||
search_str_in_arr(argc, argv, "--all"))
|
||||
@ -295,7 +297,7 @@ int main(int argc, char *argv[])
|
||||
printf("\t%s\n\n", OS_VERSION);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_TESTING_NXDIAG_HOST_PATH
|
||||
#ifdef CONFIG_SYSTEM_NXDIAG_HOST_PATH
|
||||
if (search_str_in_arr(argc, argv, "-p") ||
|
||||
search_str_in_arr(argc, argv, "--host-path") ||
|
||||
search_str_in_arr(argc, argv, "--all"))
|
||||
@ -305,7 +307,7 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_TESTING_NXDIAG_HOST_PACKAGES
|
||||
#ifdef CONFIG_SYSTEM_NXDIAG_HOST_PACKAGES
|
||||
if (search_str_in_arr(argc, argv, "-k") ||
|
||||
search_str_in_arr(argc, argv, "--host-packages") ||
|
||||
search_str_in_arr(argc, argv, "--all"))
|
||||
@ -315,7 +317,7 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_TESTING_NXDIAG_HOST_MODULES
|
||||
#ifdef CONFIG_SYSTEM_NXDIAG_HOST_MODULES
|
||||
if (search_str_in_arr(argc, argv, "-m") ||
|
||||
search_str_in_arr(argc, argv, "--host-modules") ||
|
||||
search_str_in_arr(argc, argv, "--all"))
|
||||
@ -336,7 +338,7 @@ int main(int argc, char *argv[])
|
||||
* in Documentation/applications/nxdiag
|
||||
*/
|
||||
|
||||
#ifdef CONFIG_TESTING_NXDIAG_ESPRESSIF
|
||||
#ifdef CONFIG_SYSTEM_NXDIAG_ESPRESSIF
|
||||
printf("Espressif specific information:\n\n");
|
||||
printf("Bootloader version:\n");
|
||||
print_array(ESPRESSIF_BOOTLOADER, ESPRESSIF_BOOTLOADER_ARRAY_SIZE);
|
@ -181,8 +181,7 @@ def get_os_version():
|
||||
"""
|
||||
Gets the OS distribution and version. This function works on Linux, Windows,
|
||||
and macOS. On Linux, if the distro package is installed, it will be used to
|
||||
get the OS distribution. Otherwise, the platform.system() function will be
|
||||
used.
|
||||
get the OS distribution.
|
||||
|
||||
Args:
|
||||
None.
|
||||
@ -192,24 +191,29 @@ def get_os_version():
|
||||
"""
|
||||
|
||||
os_name = platform.system()
|
||||
os_version = platform.release()
|
||||
os_distro = ""
|
||||
sys_id = ""
|
||||
|
||||
if os_name == "Windows":
|
||||
os_distro = "Windows"
|
||||
os_version = platform.win32_ver()[0]
|
||||
sys_id = f"{os_distro} {os_version}"
|
||||
|
||||
elif os_name == "Darwin":
|
||||
os_distro = "macOS"
|
||||
os_uname = " ".join(platform.uname())
|
||||
os_version = platform.mac_ver()[0]
|
||||
sys_id = f"{os_distro} {os_version} {os_uname}"
|
||||
|
||||
elif os_name == "Linux":
|
||||
os_uname = " ".join(platform.uname())
|
||||
try:
|
||||
import distro
|
||||
|
||||
return distro.name(pretty=True)
|
||||
sys_id = distro.name(pretty=True) + " " + os_uname
|
||||
except ImportError:
|
||||
os_distro = platform.system()
|
||||
sys_id = os_uname
|
||||
|
||||
return f"{os_distro} {os_version}"
|
||||
return sys_id
|
||||
|
||||
|
||||
def get_compilation_flags(flags):
|
||||
|
Loading…
Reference in New Issue
Block a user