[PATCH 4/4] tests: Change handling of reading non blocked empty stream for python3

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



The result of reading non blocked empty stream is different between python2
and 3. The python2 sends "[Errno 11] Resource temporarily unavailable"
exception. The python3 could read "None" without exception.
So separate processing.

Signed-off-by: Masashi Honma <masashi.honma@xxxxxxxxx>
---
 tests/hwsim/vm/parallel-vm.py | 50 ++++++++++++++++++++++++-----------
 1 file changed, 35 insertions(+), 15 deletions(-)

diff --git a/tests/hwsim/vm/parallel-vm.py b/tests/hwsim/vm/parallel-vm.py
index df6c19b16..e12d0dd92 100755
--- a/tests/hwsim/vm/parallel-vm.py
+++ b/tests/hwsim/vm/parallel-vm.py
@@ -89,10 +89,16 @@ def vm_read_stdout(vm, i):
     global rerun_failures
 
     ready = False
-    try:
-        out = vm['proc'].stdout.read().decode()
-    except:
-        return False
+    if sys.version_info[0] > 2:
+        out = vm['proc'].stdout.read()
+        if out == None:
+            return False
+        out = out.decode()
+    else:
+        try:
+            out = vm['proc'].stdout.read()
+        except:
+            return False
     logger.debug("VM[%d] stdout.read[%s]" % (i, out))
     pending = vm['pending'] + out
     lines = []
@@ -190,12 +196,19 @@ def show_progress(scr):
 
             running = True
             first_running = True
-            try:
-                err = vm[i]['proc'].stderr.read().decode()
-                vm[i]['err'] += err
-                logger.debug("VM[%d] stderr.read[%s]" % (i, err))
-            except:
-                pass
+            if sys.version_info[0] > 2:
+                err = vm[i]['proc'].stderr.read()
+                if err != None:
+                    err = err.decode()
+                    vm[i]['err'] += err
+                    logger.debug("VM[%d] stderr.read[%s]" % (i, err))
+            else:
+                try:
+                    err = vm[i]['proc'].stderr.read()
+                    vm[i]['err'] += err
+                    logger.debug("VM[%d] stderr.read[%s]" % (i, err))
+                except:
+                    pass
 
             if vm_read_stdout(vm[i], i):
                 scr.move(i + 1, 10)
@@ -245,12 +258,19 @@ def show_progress(scr):
                 continue
 
             running = True
-            try:
+            if sys.version_info[0] > 2:
                 err = vm[i]['proc'].stderr.read()
-                vm[i]['err'] += err
-                logger.debug("VM[%d] stderr.read[%s]" % (i, err))
-            except:
-                pass
+                if err != None:
+                    err = err.decode()
+                    vm[i]['err'] += err
+                    logger.debug("VM[%d] stderr.read[%s]" % (i, err))
+            else:
+                try:
+                    err = vm[i]['proc'].stderr.read()
+                    vm[i]['err'] += err
+                    logger.debug("VM[%d] stderr.read[%s]" % (i, err))
+                except:
+                    pass
 
             ready = False
             if vm[i]['first_run_done']:
-- 
2.17.1


_______________________________________________
Hostap mailing list
Hostap@xxxxxxxxxxxxxxxxxxx
http://lists.infradead.org/mailman/listinfo/hostap



[Index of Archives]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux