[OE-core] [PATCH] lib/oeqa/runtime: smart: serve repo on host ip only and increase timeout

Stefan Stanacar stefanx.stanacar at intel.com
Tue Sep 3 13:01:11 UTC 2013


Don't start the http server on 0.0.0.0, listen on host ip (end of tap interface) only.
Also use the timeout option (default is 300s for ssh commands) for all the commands
run in this module (mostly because smart update timeouts on mips).

Signed-off-by: Stefan Stanacar <stefanx.stanacar at intel.com>
---
 meta/lib/oeqa/runtime/smart.py    | 4 ++--
 meta/lib/oeqa/utils/httpserver.py | 5 +++--
 2 files changed, 5 insertions(+), 4 deletions(-)

diff --git a/meta/lib/oeqa/runtime/smart.py b/meta/lib/oeqa/runtime/smart.py
index 6e20f96..59083ca 100644
--- a/meta/lib/oeqa/runtime/smart.py
+++ b/meta/lib/oeqa/runtime/smart.py
@@ -17,7 +17,7 @@ class SmartTest(oeRuntimeTest):
     @skipUnlessPassed('test_smart_help')
     def smart(self, command, expected = 0):
         command = 'smart %s' % command
-        status, output = self.target.run(command)
+        status, output = self.target.run(command, 500)
         message = os.linesep.join([command, output])
         self.assertEqual(status, expected, message)
         self.assertFalse("Cannot allocate memory" in output, message)
@@ -48,7 +48,7 @@ class SmartRepoTest(SmartTest):
 
     @classmethod
     def setUpClass(self):
-        self.repo_server = HTTPService(oeRuntimeTest.tc.d.getVar('DEPLOY_DIR', True))
+        self.repo_server = HTTPService(oeRuntimeTest.tc.d.getVar('DEPLOY_DIR', True), oeRuntimeTest.tc.qemu.host_ip)
         self.repo_server.start()
 
     @classmethod
diff --git a/meta/lib/oeqa/utils/httpserver.py b/meta/lib/oeqa/utils/httpserver.py
index d4b6154..f161a1b 100644
--- a/meta/lib/oeqa/utils/httpserver.py
+++ b/meta/lib/oeqa/utils/httpserver.py
@@ -15,12 +15,13 @@ class HTTPRequestHandler(SimpleHTTPServer.SimpleHTTPRequestHandler):
 
 class HTTPService(object):
 
-    def __init__(self, root_dir):
+    def __init__(self, root_dir, host=''):
         self.root_dir = root_dir
+        self.host = host
         self.port = 0
 
     def start(self):
-        self.server = HTTPServer(('', self.port), HTTPRequestHandler)
+        self.server = HTTPServer((self.host, self.port), HTTPRequestHandler)
         if self.port == 0:
             self.port = self.server.server_port
         self.process = multiprocessing.Process(target=self.server.server_start, args=[self.root_dir])
-- 
1.8.3.1




More information about the Openembedded-core mailing list