This is an automated email from the ASF dual-hosted git repository.

xiaoxiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/nuttx-apps.git


The following commit(s) were added to refs/heads/master by this push:
     new 9cc710e95 testing/nxdiag: Move to "system" and improve info generated
9cc710e95 is described below

commit 9cc710e954bcd9910fa9e67cc20da06d2fa14146
Author: Lucas Saavedra Vaz <[email protected]>
AuthorDate: Fri May 26 19:50:04 2023 -0300

    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
---
 {testing => system}/nxdiag/.gitignore |  0
 {testing => system}/nxdiag/Kconfig    | 22 ++++++++++----------
 {testing => system}/nxdiag/Make.defs  |  6 +++---
 {testing => system}/nxdiag/Makefile   | 20 +++++++++---------
 {testing => system}/nxdiag/nxdiag.c   | 38 ++++++++++++++++++-----------------
 tools/host_sysinfo.py                 | 18 ++++++++++-------
 6 files changed, 55 insertions(+), 49 deletions(-)

diff --git a/testing/nxdiag/.gitignore b/system/nxdiag/.gitignore
similarity index 100%
rename from testing/nxdiag/.gitignore
rename to system/nxdiag/.gitignore
diff --git a/testing/nxdiag/Kconfig b/system/nxdiag/Kconfig
similarity index 84%
rename from testing/nxdiag/Kconfig
rename to system/nxdiag/Kconfig
index 2ebea43bc..6a9f5c1e9 100644
--- a/testing/nxdiag/Kconfig
+++ b/system/nxdiag/Kconfig
@@ -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
diff --git a/testing/nxdiag/Make.defs b/system/nxdiag/Make.defs
similarity index 89%
rename from testing/nxdiag/Make.defs
rename to system/nxdiag/Make.defs
index 5c1c50994..8ba171698 100644
--- a/testing/nxdiag/Make.defs
+++ b/system/nxdiag/Make.defs
@@ -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
diff --git a/testing/nxdiag/Makefile b/system/nxdiag/Makefile
similarity index 83%
rename from testing/nxdiag/Makefile
rename to system/nxdiag/Makefile
index d890f4a68..d82d2eb95 100644
--- a/testing/nxdiag/Makefile
+++ b/system/nxdiag/Makefile
@@ -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
diff --git a/testing/nxdiag/nxdiag.c b/system/nxdiag/nxdiag.c
similarity index 92%
rename from testing/nxdiag/nxdiag.c
rename to system/nxdiag/nxdiag.c
index 881090ff8..6c3f218fd 100644
--- a/testing/nxdiag/nxdiag.c
+++ b/system/nxdiag/nxdiag.c
@@ -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);
diff --git a/tools/host_sysinfo.py b/tools/host_sysinfo.py
index f258268c8..821901dac 100755
--- a/tools/host_sysinfo.py
+++ b/tools/host_sysinfo.py
@@ -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):

Reply via email to