@@ -132,7 +132,7 @@ def validate_pci_device(self):
132132 """
133133 x1 , x2 , dev = self .ctrl .split ('/' )
134134 cmd = "find /sys/devices -name \\ *" + dev + " | grep -i pci"
135- err = self . exec_cmd (cmd )
135+ err = subprocess . call (cmd , shell = True , stdout = subprocess . DEVNULL )
136136 self .assertEqual (err , 0 , "ERROR : Only NVMe PCI subsystem is supported" )
137137
138138 def load_config (self ):
@@ -188,10 +188,17 @@ def nvme_reset_ctrl(self):
188188 - None
189189 """
190190 nvme_reset_cmd = f"{ self .nvme_bin } reset { self .ctrl } "
191- err = self .exec_cmd (nvme_reset_cmd )
191+ err = subprocess .call (nvme_reset_cmd ,
192+ shell = True ,
193+ stdout = subprocess .DEVNULL )
192194 self .assertEqual (err , 0 , "ERROR : nvme reset failed" )
193195 rescan_cmd = "echo 1 > /sys/bus/pci/rescan"
194- self .assertEqual (self .exec_cmd (rescan_cmd ), 0 , "ERROR : pci rescan failed" )
196+ proc = subprocess .Popen (rescan_cmd ,
197+ shell = True ,
198+ stdout = subprocess .PIPE ,
199+ stderr = subprocess .PIPE ,
200+ encoding = 'utf-8' )
201+ self .assertEqual (proc .wait (), 0 , "ERROR : pci rescan failed" )
195202
196203 def get_ctrl_id (self ):
197204 """ Wrapper for extracting the first controller id.
@@ -409,7 +416,9 @@ def create_and_validate_ns(self, nsid, nsze, ncap, flbas, dps):
409416 "ERROR : create namespace failed" )
410417 id_ns_cmd = f"{ self .nvme_bin } id-ns { self .ctrl } " + \
411418 f"--namespace-id={ str (nsid )} "
412- err = self .exec_cmd (id_ns_cmd )
419+ err = subprocess .call (id_ns_cmd ,
420+ shell = True ,
421+ stdout = subprocess .DEVNULL )
413422 return err
414423
415424 def attach_ns (self , ctrl_id , nsid ):
@@ -422,7 +431,9 @@ def attach_ns(self, ctrl_id, nsid):
422431 """
423432 attach_ns_cmd = f"{ self .nvme_bin } attach-ns { self .ctrl } " + \
424433 f"--namespace-id={ str (nsid )} --controllers={ ctrl_id } --verbose"
425- err = self .exec_cmd (attach_ns_cmd )
434+ err = subprocess .call (attach_ns_cmd ,
435+ shell = True ,
436+ stdout = subprocess .DEVNULL )
426437 if err != 0 :
427438 return err
428439
@@ -446,7 +457,9 @@ def detach_ns(self, ctrl_id, nsid):
446457 """
447458 detach_ns_cmd = f"{ self .nvme_bin } detach-ns { self .ctrl } " + \
448459 f"--namespace-id={ str (nsid )} --controllers={ ctrl_id } --verbose"
449- return self .exec_cmd (detach_ns_cmd )
460+ return subprocess .call (detach_ns_cmd ,
461+ shell = True ,
462+ stdout = subprocess .DEVNULL )
450463
451464 def delete_and_validate_ns (self , nsid ):
452465 """ Wrapper for deleting and validating that namespace is deleted.
@@ -458,7 +471,9 @@ def delete_and_validate_ns(self, nsid):
458471 # delete the namespace
459472 delete_ns_cmd = f"{ self .nvme_bin } delete-ns { self .ctrl } " + \
460473 f"--namespace-id={ str (nsid )} --verbose"
461- err = self .exec_cmd (delete_ns_cmd )
474+ err = subprocess .call (delete_ns_cmd ,
475+ shell = True ,
476+ stdout = subprocess .DEVNULL )
462477 self .assertEqual (err , 0 , "ERROR : delete namespace failed" )
463478 return err
464479
@@ -471,11 +486,7 @@ def get_smart_log(self, nsid):
471486 """
472487 smart_log_cmd = f"{ self .nvme_bin } smart-log { self .ctrl } " + \
473488 f"--namespace-id={ str (nsid )} "
474- proc = subprocess .Popen (smart_log_cmd ,
475- shell = True ,
476- stdout = subprocess .PIPE ,
477- encoding = 'utf-8' )
478- err = proc .wait ()
489+ err = self .exec_cmd (smart_log_cmd )
479490 self .assertEqual (err , 0 , "ERROR : nvme smart log failed" )
480491 return err
481492
@@ -491,11 +502,7 @@ def get_id_ctrl(self, vendor=False):
491502 else :
492503 id_ctrl_cmd = f"{ self .nvme_bin } id-ctrl " + \
493504 f"--vendor-specific { self .ctrl } "
494- proc = subprocess .Popen (id_ctrl_cmd ,
495- shell = True ,
496- stdout = subprocess .PIPE ,
497- encoding = 'utf-8' )
498- err = proc .wait ()
505+ err = self .exec_cmd (id_ctrl_cmd )
499506 self .assertEqual (err , 0 , "ERROR : nvme id controller failed" )
500507 return err
501508
0 commit comments