Может ли значение Googletest, параметризованное несколькими различными типами параметров, соответствовать гибкости mbUnit?

ssh = paramiko.SSHClient()
ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
ssh.connect(server_IP,22,username, password)


stdin, stdout, stderr = ssh.exec_command('/Users/lteue/Downloads/uecontrol-CXC_173_6456-R32A01/uecontrol.sh -host localhost ')
alldata = ""
while not stdout.channel.exit_status_ready():
   solo_line = ""        
   # Print stdout data when available
   if stdout.channel.recv_ready():
      # Retrieve the first 1024 bytes
      solo_line = stdout.channel.recv(1024) 
      alldata += solo_line
   if(cmp(solo_line,'uec> ') ==0 ):    #Change Conditionals to your code here  
     if num_of_input == 0 :
      data_buffer = ""    
      for cmd in commandList :
       #print cmd
       stdin.channel.send(cmd)        # send input commmand 1
      num_of_input += 1
     if num_of_input == 1 :
      stdin.channel.send('q \n')      # send input commmand 2 , in my code is exit the interactive session, the connect will close.
      num_of_input += 1 
print alldata
ssh.close()              

Почему stdout.read () будет зависать, если использовать dierectly, не проверяя stdout.channel.recv_ready (): while, в то время как stdout.channel.exit_status_ready ():

Для моего случая, после run на удаленном сервере, сеанс ожидает ввода пользователем, после ввода «q» он закроет соединение. Но перед вводом «q» stdout.read () будет ожидать EOF, кажется, что этот метод не работает, если буфер больше.

  • Я попробовал stdout.read (1), пока, он работает, я пытался stdout.readline (), пока он работает. stdin, stdout, stderr = ssh.exec_command ('/ Users / lteue / Downloads / uecontrol') stdout.read () будет висеть
16
задан Vadim Kotov 20 August 2018 в 11:08
поделиться