fix issue on common image over ssh
authorchengtao.liu <chengtaox.liu@intel.com>
Thu, 19 Jun 2014 10:33:52 +0000 (18:33 +0800)
committerchengtao.liu <chengtaox.liu@intel.com>
Thu, 19 Jun 2014 10:33:52 +0000 (18:33 +0800)
VERSION
debian/changelog
debian/files
packaging/testkit-lite.dsc
packaging/testkit-lite.spec
testkitlite/commodule/tizenivi.py

diff --git a/VERSION b/VERSION
index 0a5787c..9349d02 100644 (file)
--- a/VERSION
+++ b/VERSION
@@ -1,4 +1,4 @@
 [public_version]
-version=3.1.0
+version=3.1.3
 [internal_version]
-version=3.1.0
+version=3.1.3
index 265dabf..447a0de 100644 (file)
@@ -1,4 +1,4 @@
-testkit-lite (3.1.0) unstable; urgency=low
+testkit-lite (3.1.3) unstable; urgency=low
 
   * Public Release.
 
index b687724..ad3ec0b 100644 (file)
@@ -1 +1 @@
-testkit-lite_3.1.2_all.deb utils standard
+testkit-lite_3.1.3_all.deb utils standard
index a752617..e15e184 100644 (file)
@@ -5,7 +5,7 @@ Maintainer: Lei Yang <lei.a.yang@intel.com>
 Build-Depends: debhelper (>= 8.0.0), python-setuptools, python-support (>= 0.8.4)
 Standards-Version: 3.9.2
 Homepage: https://github.com/testkit/testkit-manager
-Version: 3.1.2
+Version: 3.1.3
 Files:
9eb0a55894d02fdfe29003dc25f15808 1470605 testkit-lite_3.1.2.tar.gz
3ff18a2e15ab7cbda1b081b5a2b07170 1389085 testkit-lite_3.1.3.tar.gz
 
index 027cf64..6c6af87 100644 (file)
@@ -1,6 +1,6 @@
 Summary: TCT-Lite
 Name: testkit-lite
-Version: 3.1.0
+Version: 3.1.3
 Release: 1
 License: GPLv2
 Group: Applications/System
index 3b87c6d..153fda7 100644 (file)
@@ -22,13 +22,20 @@ import time
 import socket
 import threading
 import re
+import sys
 from shutil import copyfile
-
 from testkitlite.util.log import LOGGER
 from testkitlite.util.autoexec import shell_command, shell_command_ext
 from testkitlite.util.killall import killall
 from testkitlite.util.errors import InvalidDeviceException
 
+try:
+    import paramiko
+except ImportError, err:
+    LOGGER.info("Failed to import 'paramiko' module, please check your installation:")
+    LOGGER.info("  You can use 'sudo pip install paramiko' to install the module!")
+    sys.exit(1)
+
 
 HOST_NS = "127.0.0.1"
 os.environ['no_proxy'] = HOST_NS
@@ -61,6 +68,25 @@ XWALK_UNINSTL_STR = "ssh %s \"su - app -c 'export DBUS_SESSION_BUS_ADDRESS=unix:
 XWALK_LOCATION = "/opt/usr/media/tct/opt/%s/%s.wgt"
 
 
+class SSH_Handler:
+    """
+    long connection with login
+    """
+
+    def __init__(self, host='127.0.0.1', username='root', password='tizen', port=22):
+        self._ssh = paramiko.SSHClient()
+        self._ssh.set_missing_host_key_policy(paramiko.AutoAddPolicy())
+        self._ssh.connect(host, port, username, password)
+
+    def ssh_command(self, cmd='whoami'):
+        stdin, stdout, stderr = self._ssh.exec_command(cmd)
+        return stdout.readlines()
+
+    def close(self):
+        if self._ssh is not None:
+            self._ssh.close()
+
+
 class tizenIVI:
 
     """ Implementation for transfer data
@@ -69,6 +95,8 @@ class tizenIVI:
 
     def __init__(self, deviceid="root@127.0.0.1"):
         self.deviceid = deviceid
+        remotes = deviceid.split('@')
+        self._ssh = SSH_Handler(remotes[1], remotes[0])
         self._wrt = False
         self._xwalk = False
         self.support_remote = True
@@ -86,7 +114,7 @@ class tizenIVI:
 
     def launch_stub(self, stub_app, stub_port="8000", debug_opt=""):
         cmdline = "%s --port:%s %s" % (stub_app, stub_port, debug_opt)
-        exit_code, ret = self.shell_cmd(cmdline)
+        ret_lines = self._ssh.ssh_command(cmdline)
         time.sleep(2)
 
     def shell_cmd_ext(self,
@@ -215,6 +243,7 @@ class tizenIVI:
         cmd = "scp %s %s:%s" % (local_path, self.deviceid, remote_path)
         exit_code, ret = shell_command(cmd)
         return True
+
     def _get_wrt_app(self, test_suite, test_set, fuzzy_match, auto_iu):
         test_app_id = None
         if auto_iu: