Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(958)

Unified Diff: chrome/test/pyautolib/remote_host.py

Issue 222873002: Remove pyauto tests. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: sync Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/test/pyautolib/pyautolib.i ('k') | chrome/test/pyautolib/remote_inspector_client.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/test/pyautolib/remote_host.py
===================================================================
--- chrome/test/pyautolib/remote_host.py (revision 261231)
+++ chrome/test/pyautolib/remote_host.py (working copy)
@@ -1,101 +0,0 @@
-#!/usr/bin/env python
-# Copyright (c) 2011 The Chromium Authors. All rights reserved.
-# Use of this source code is governed by a BSD-style license that can be
-# found in the LICENSE file.
-
-import cStringIO
-import os
-import pickle
-import socket
-import sys
-
-import pyauto
-
-class RemoteHost(object):
- """Class used as a host for tests that use the PyAuto RemoteProxy.
-
- This class fires up a listener which waits for a connection from a RemoteProxy
- and receives method call requests. Run python remote_host.py
- remote_host.RemoteHost.RunHost to start up a PyAuto remote instance that you
- can connect to and automate using pyauto.RemoteProxy.
- """
- def __init__(self, host, *args, **kwargs):
- self.StartSocketServer(host)
-
- def StartSocketServer(self, host):
- listening_socket = socket.socket()
- listening_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
- listening_socket.bind(host)
- listening_socket.listen(1)
- print 'Listening for incoming connections on port %d.' % host[1]
- self._socket, address = listening_socket.accept()
- print 'Accepted connection from %s:%d.' % address
-
- while self.Connected():
- self._HandleRPC()
-
- def StopSocketServer(self):
- if self._socket:
- try:
- self._socket.shutdown(socket.SHUT_RDWR)
- self._socket.close()
- except socket.error:
- pass
- self._socket = None
-
- def Connected(self):
- return self._socket
-
- def CreateTarget(self, target_class):
- """Creates an instance of the specified class to serve as the RPC target.
-
- RPC calls can be made on the target.
- """
- self.target = target_class()
-
- def _HandleRPC(self):
- """Receives a method call request over the socket and executes the method.
-
- This method captures stdout and stderr for the duration of the method call,
- and sends those, the return value, and any thrown exceptions back to the
- RemoteProxy.
- """
- # Receive request.
- request = self._socket.recv(4096)
- if not request:
- self.StopSocketServer()
- return
- request = pickle.loads(request)
-
- # Redirect output to strings.
- old_stdout = sys.stdout
- old_stderr = sys.stderr
- sys.stdout = stdout = cStringIO.StringIO()
- sys.stderr = stderr = cStringIO.StringIO()
-
- # Make requested method call.
- result = None
- exception = None
- try:
- if getattr(self, request[0], None):
- result = getattr(self, request[0])(*request[1], **request[2])
- else:
- result = getattr(self.target, request[0])(*request[1], **request[2])
- except BaseException, e:
- exception = (e.__class__.__name__, str(e))
-
- # Put output back to the way it was before.
- sys.stdout = old_stdout
- sys.stderr = old_stderr
-
- # Package up and send the result of the method call.
- response = pickle.dumps((result, stdout.getvalue(), stderr.getvalue(),
- exception))
- if self._socket.send(response) != len(response):
- self.StopSocketServer()
-
-
-if __name__ == '__main__':
- pyauto_suite = pyauto.PyUITestSuite(sys.argv)
- RemoteHost(('', 7410))
- del pyauto_suite
« no previous file with comments | « chrome/test/pyautolib/pyautolib.i ('k') | chrome/test/pyautolib/remote_inspector_client.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698