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

Side by Side Diff: build/android/pylib/fake_dns.py

Issue 10836323: Change Android build configurations (step 2). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fixed unnecessary changes Created 8 years, 4 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « build/android/pylib/device_stats_monitor.py ('k') | build/android/pylib/forwarder.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 # Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 # Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import android_commands 5 import android_commands
6 import constants 6 import constants
7 import logging 7 import logging
8 import os 8 import os
9 import subprocess 9 import subprocess
10 import time 10 import time
11 11
12 12
13 class FakeDns(object): 13 class FakeDns(object):
14 """Wrapper class for the fake_dns tool.""" 14 """Wrapper class for the fake_dns tool."""
15 _FAKE_DNS_PATH = '/data/local/tmp/fake_dns' 15 _FAKE_DNS_PATH = '/data/local/tmp/fake_dns'
16 16
17 def __init__(self, adb): 17 def __init__(self, adb, build_type):
18 """ 18 """
19 Args: 19 Args:
20 adb: the AndroidCommands to use. 20 adb: the AndroidCommands to use.
21 build_type: 'Release' or 'Debug'.
21 """ 22 """
22 self._adb = adb 23 self._adb = adb
24 self._build_type = build_type
23 self._fake_dns = None 25 self._fake_dns = None
24 self._original_dns = None 26 self._original_dns = None
25 27
26 def _PushAndStartFakeDns(self): 28 def _PushAndStartFakeDns(self):
27 """Starts the fake_dns server that replies all name queries 127.0.0.1. 29 """Starts the fake_dns server that replies all name queries 127.0.0.1.
28 30
29 Returns: 31 Returns:
30 subprocess instance connected to the fake_dns process on the device. 32 subprocess instance connected to the fake_dns process on the device.
31 """ 33 """
32 self._adb.PushIfNeeded( 34 self._adb.PushIfNeeded(
33 os.path.join(constants.CHROME_DIR, 'out', 'Release', 'fake_dns'), 35 os.path.join(constants.CHROME_DIR, 'out', self._build_type, 'fake_dns'),
34 FakeDns._FAKE_DNS_PATH) 36 FakeDns._FAKE_DNS_PATH)
35 return subprocess.Popen( 37 return subprocess.Popen(
36 ['adb', '-s', self._adb._adb.GetSerialNumber(), 38 ['adb', '-s', self._adb._adb.GetSerialNumber(),
37 'shell', '%s -D' % FakeDns._FAKE_DNS_PATH]) 39 'shell', '%s -D' % FakeDns._FAKE_DNS_PATH])
38 40
39 def SetUp(self): 41 def SetUp(self):
40 """Configures the system to point to a DNS server that replies 127.0.0.1. 42 """Configures the system to point to a DNS server that replies 127.0.0.1.
41 43
42 This can be used in combination with the forwarder to forward all web 44 This can be used in combination with the forwarder to forward all web
43 traffic to a replay server. 45 traffic to a replay server.
44 46
45 The TearDown() method will perform all cleanup. 47 The TearDown() method will perform all cleanup.
46 """ 48 """
47 self._adb.RunShellCommand('ip route add 8.8.8.0/24 via 127.0.0.1 dev lo') 49 self._adb.RunShellCommand('ip route add 8.8.8.0/24 via 127.0.0.1 dev lo')
48 self._fake_dns = self._PushAndStartFakeDns() 50 self._fake_dns = self._PushAndStartFakeDns()
49 self._original_dns = self._adb.RunShellCommand('getprop net.dns1')[0] 51 self._original_dns = self._adb.RunShellCommand('getprop net.dns1')[0]
50 self._adb.RunShellCommand('setprop net.dns1 127.0.0.1') 52 self._adb.RunShellCommand('setprop net.dns1 127.0.0.1')
51 time.sleep(2) # Time for server to start and the setprop to take effect. 53 time.sleep(2) # Time for server to start and the setprop to take effect.
52 54
53 def TearDown(self): 55 def TearDown(self):
54 """Shuts down the fake_dns.""" 56 """Shuts down the fake_dns."""
55 if self._fake_dns: 57 if self._fake_dns:
56 if not self._original_dns or self._original_dns == '127.0.0.1': 58 if not self._original_dns or self._original_dns == '127.0.0.1':
57 logging.warning('Bad original DNS, falling back to Google DNS.') 59 logging.warning('Bad original DNS, falling back to Google DNS.')
58 self._original_dns = '8.8.8.8' 60 self._original_dns = '8.8.8.8'
59 self._adb.RunShellCommand('setprop net.dns1 %s' % self._original_dns) 61 self._adb.RunShellCommand('setprop net.dns1 %s' % self._original_dns)
60 self._fake_dns.kill() 62 self._fake_dns.kill()
61 self._adb.RunShellCommand('ip route del 8.8.8.0/24 via 127.0.0.1 dev lo') 63 self._adb.RunShellCommand('ip route del 8.8.8.0/24 via 127.0.0.1 dev lo')
OLDNEW
« no previous file with comments | « build/android/pylib/device_stats_monitor.py ('k') | build/android/pylib/forwarder.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698