[v2] usertools: dpdk-telemetry-client.py run into looping status

Message ID 20190807130458.16754-1-andrius.sirvys@intel.com (mailing list archive)
State Superseded, archived
Headers
Series [v2] usertools: dpdk-telemetry-client.py run into looping status |

Checks

Context Check Description
ci/checkpatch success coding style OK
ci/iol-Compile-Testing success Compile Testing PASS
ci/Intel-compilation success Compilation OK
ci/intel-Performance-Testing success Performance Testing PASS
ci/mellanox-Performance-Testing success Performance Testing PASS

Commit Message

Andrius Sirvys Aug. 7, 2019, 1:04 p.m. UTC
  The ast.literal_eval() was used incorrectly and wouldn't properly
retrieve the user option. Was causing the options to keep being listed
in a loop. Removed and replaced with raw_input() being cast to an int.
Works as expected now.

Fixes: 53f293c9a783 ("usertools: replace unsafe input function")
Cc: andrius.sirvys@intel.com

Signed-off-by: Andrius Sirvys <andrius.sirvys@intel.com>
---
v2: Removed unnecessary comments
---
 usertools/dpdk-telemetry-client.py | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)
  

Comments

Thomas Monjalon Aug. 8, 2019, 7:17 a.m. UTC | #1
07/08/2019 15:04, Andrius Sirvys:
> The ast.literal_eval() was used incorrectly and wouldn't properly
> retrieve the user option. Was causing the options to keep being listed
> in a loop. Removed and replaced with raw_input() being cast to an int.
> Works as expected now.

You mean you added "ast.literal_eval()" without testing it?

Kevin, that's not the first time I ask,
who is testing this telemetry stuff?
I have the bad feeling this is a toy,
and you send random untested patches for it.
How I can know this patch is seriously tested enough
before merging it at the last minute in 19.08?

> Fixes: 53f293c9a783 ("usertools: replace unsafe input function")
> Cc: andrius.sirvys@intel.com
> 
> Signed-off-by: Andrius Sirvys <andrius.sirvys@intel.com>
> ---
> v2: Removed unnecessary comments

Please keep all versions in the same email thread by using --in-reply-to

>  try:
> -	raw_input  # Python 2
> +        raw_input  # Python 2
>  except NameError:
> -	raw_input = input  # Python 3
> +        raw_input = input  # Python 3

Why changing this indentation?
  

Patch

diff --git a/usertools/dpdk-telemetry-client.py b/usertools/dpdk-telemetry-client.py
index 4b0502ff9..b5b5cdcfe 100755
--- a/usertools/dpdk-telemetry-client.py
+++ b/usertools/dpdk-telemetry-client.py
@@ -16,9 +16,9 @@ 
 DEFAULT_FP = "/var/run/dpdk/default_client"
 
 try:
-	raw_input  # Python 2
+        raw_input  # Python 2
 except NameError:
-	raw_input = input  # Python 3
+        raw_input = input  # Python 3
 
 class Socket:
 
@@ -78,7 +78,7 @@  def requestMetrics(self): # Requests metrics for given client
 
     def repeatedlyRequestMetrics(self, sleep_time): # Recursively requests metrics for given client
         print("\nPlease enter the number of times you'd like to continuously request Metrics:")
-        n_requests = int(ast.literal_eval(raw_input("\n:")))
+        n_requests = int(raw_input("\n:"))
         print("\033[F") #Removes the user input from screen, cleans it up
         print("\033[K")
         for i in range(n_requests):
@@ -99,7 +99,7 @@  def interactiveMenu(self, sleep_time): # Creates Interactive menu within the scr
             print("[4] Unregister client")
 
             try:
-                self.choice = int(ast.literal_eval(raw_input("\n:")))
+                self.choice = int(raw_input("\n:"))
                 print("\033[F") #Removes the user input for screen, cleans it up
                 print("\033[K")
                 if self.choice == 1: