def main(): device = perf_test_utils.NativeDevice() # Start HTTP server. http_server_doc_root = perf_test_utils.GenerateHttpTestResources() config_file = tempfile.NamedTemporaryFile() http_server = lighttpd_server.LighttpdServer( http_server_doc_root, port=perf_test_utils.HTTP_PORT, base_config_path=config_file.name) perf_test_utils.GenerateLighttpdConfig(config_file, http_server_doc_root, http_server) assert http_server.StartupHttpServer() config_file.close() # Start QUIC server. quic_server_doc_root = perf_test_utils.GenerateQuicTestResources(device) quic_server = perf_test_utils.QuicServer(quic_server_doc_root) quic_server.StartupQuicServer(device) # Run test os.environ['LD_LIBRARY_PATH'] = perf_test_utils.BUILD_DIR device.RunShellCommand([ os.path.join(perf_test_utils.BUILD_DIR, 'cronet_native_perf_test'), json.dumps(perf_test_utils.GetConfig(device)) ], check_return=True) # Shutdown. quic_server.ShutdownQuicServer() shutil.rmtree(quic_server_doc_root) http_server.ShutdownHttpServer() shutil.rmtree(http_server_doc_root)
def main(): parser = optparse.OptionParser() parser.add_option('--output-format', default='html', help='The output format of the results file.') parser.add_option( '--output-dir', default=None, help='The directory for the output file. Default value is ' 'the base directory of this script.') options, _ = parser.parse_args() constants.SetBuildType(perf_test_utils.BUILD_TYPE) # Install APK device = GetDevice() device.EnableRoot() device.Install(perf_test_utils.APP_APK) # Start USB reverse tethering. android_rndis_forwarder.AndroidRndisForwarder( device, perf_test_utils.GetAndroidRndisConfig(device)) # Start HTTP server. http_server_doc_root = perf_test_utils.GenerateHttpTestResources() config_file = tempfile.NamedTemporaryFile() http_server = lighttpd_server.LighttpdServer( http_server_doc_root, port=perf_test_utils.HTTP_PORT, base_config_path=config_file.name) perf_test_utils.GenerateLighttpdConfig(config_file, http_server_doc_root, http_server) assert http_server.StartupHttpServer() config_file.close() # Start QUIC server. quic_server_doc_root = perf_test_utils.GenerateQuicTestResources(device) quic_server = perf_test_utils.QuicServer(quic_server_doc_root) quic_server.StartupQuicServer(device) # Launch Telemetry's benchmark_runner on CronetPerfTestBenchmark. # By specifying this file's directory as the benchmark directory, it will # allow benchmark_runner to in turn open this file up and find the # CronetPerfTestBenchmark class to run the benchmark. top_level_dir = os.path.dirname(os.path.realpath(__file__)) expectations_file = os.path.join(top_level_dir, 'expectations.config') runner_config = chromium_config.ChromiumConfig( top_level_dir=top_level_dir, benchmark_dirs=[top_level_dir], expectations_file=expectations_file) sys.argv.insert(1, 'run') sys.argv.insert(2, 'run.CronetPerfTestBenchmark') sys.argv.insert(3, '--browser=android-system-chrome') sys.argv.insert(4, '--output-format=' + options.output_format) if options.output_dir: sys.argv.insert(5, '--output-dir=' + options.output_dir) benchmark_runner.main(runner_config) # Shutdown. quic_server.ShutdownQuicServer() shutil.rmtree(quic_server_doc_root) http_server.ShutdownHttpServer() shutil.rmtree(http_server_doc_root)
def main(): constants.SetBuildType(BUILD_TYPE) # Install APK device = GetDevice() device.EnableRoot() device.Install(APP_APK) # Start USB reverse tethering. # Port map is ignored for tethering; must create one to placate assertions. named_port_pair_map = { 'http': (forwarders.PortPair(0, 0)), 'https': None, 'dns': None } port_pairs = forwarders.PortPairs(**named_port_pair_map) forwarder = GetForwarderFactory(device).Create(port_pairs) # Start HTTP server. http_server_doc_root = GenerateHttpTestResources() config_file = tempfile.NamedTemporaryFile() http_server = lighttpd_server.LighttpdServer( http_server_doc_root, port=HTTP_PORT, base_config_path=config_file.name) GenerateLighttpdConfig(config_file, http_server_doc_root, http_server) assert http_server.StartupHttpServer() config_file.close() # Start QUIC server. quic_server_doc_root = GenerateQuicTestResources(device) quic_server = QuicServer(quic_server_doc_root) quic_server.StartupQuicServer(device) # Launch Telemetry's benchmark_runner on CronetPerfTestBenchmark. # By specifying this file's directory as the benchmark directory, it will # allow benchmark_runner to in turn open this file up and find the # CronetPerfTestBenchmark class to run the benchmark. top_level_dir = os.path.dirname(os.path.realpath(__file__)) # The perf config file is required to continue using dependencies on the # Chromium checkout in Telemetry. perf_config_file = os.path.join(REPOSITORY_ROOT, 'tools', 'perf', 'core', 'binary_dependencies.json') with open(perf_config_file, "w") as config_file: config_file.write('{"config_type": "BaseConfig"}') runner_config = benchmark_runner.ProjectConfig( top_level_dir=top_level_dir, benchmark_dirs=[top_level_dir], client_config=perf_config_file, default_chrome_root=REPOSITORY_ROOT) sys.argv.insert(1, 'run') sys.argv.insert(2, 'run.CronetPerfTestBenchmark') sys.argv.insert(3, '--android-rndis') benchmark_runner.main(runner_config) # Shutdown. quic_server.ShutdownQuicServer() shutil.rmtree(quic_server_doc_root) http_server.ShutdownHttpServer() shutil.rmtree(http_server_doc_root)
def LaunchTestHttpServer(self, document_root, extra_config_contents=None): """Launches an HTTP server to serve HTTP tests. Args: document_root: Document root of the HTTP server. extra_config_contents: Extra config contents for the HTTP server. """ self._http_server = lighttpd_server.LighttpdServer( document_root, extra_config_contents=extra_config_contents) if self._http_server.StartupHttpServer(): logging.info('http server started: http://localhost:%s', self._http_server.port) else: logging.critical('Failed to start http server') # Root access needed to make the forwarder executable work. self.adb.EnableAdbRoot() self.StartForwarderForHttpServer()
def main(): constants.SetBuildType(BUILD_TYPE) # Install APK device = GetDevice() device.EnableRoot() device.Install(APP_APK) # Start USB reverse tethering. # Port map is ignored for tethering; must create one to placate assertions. named_port_pair_map = { 'http': (forwarders.PortPair(0, 0)), 'https': None, 'dns': None } port_pairs = forwarders.PortPairs(**named_port_pair_map) forwarder = GetForwarderFactory(device).Create(port_pairs) # Start HTTP server. http_server_doc_root = GenerateHttpTestResources() config_file = tempfile.NamedTemporaryFile() http_server = lighttpd_server.LighttpdServer( http_server_doc_root, port=HTTP_PORT, base_config_path=config_file.name) GenerateLighttpdConfig(config_file, http_server_doc_root, http_server) assert http_server.StartupHttpServer() config_file.close() # Start QUIC server. quic_server_doc_root = GenerateQuicTestResources(device) quic_server = QuicServer(quic_server_doc_root) quic_server.StartupQuicServer(device) # Launch Telemetry's benchmark_runner on CronetPerfTestBenchmark. # By specifying this file's directory as the benchmark directory, it will # allow benchmark_runner to in turn open this file up and find the # CronetPerfTestBenchmark class to run the benchmark. top_level_dir = os.path.dirname(os.path.realpath(__file__)) runner_config = benchmark_runner.ProjectConfig( top_level_dir=top_level_dir, benchmark_dirs=[top_level_dir]) sys.argv.insert(1, 'run') sys.argv.insert(2, 'run.CronetPerfTestBenchmark') sys.argv.insert(3, '--android-rndis') benchmark_runner.main(runner_config) # Shutdown. quic_server.ShutdownQuicServer() shutil.rmtree(quic_server_doc_root) http_server.ShutdownHttpServer() shutil.rmtree(http_server_doc_root)
def LaunchTestHttpServer(self, document_root, port=None, extra_config_contents=None): """Launches an HTTP server to serve HTTP tests. Args: document_root: Document root of the HTTP server. port: port on which we want to the http server bind. extra_config_contents: Extra config contents for the HTTP server. """ self._http_server = lighttpd_server.LighttpdServer( document_root, port=port, extra_config_contents=extra_config_contents) if self._http_server.StartupHttpServer(): logging.info('http server started: http://localhost:%s', self._http_server.port) else: logging.critical('Failed to start http server') self._ForwardPortsForHttpServer() return (self._forwarder_device_port, self._http_server.port)