How to use test_concurrency method in localstack

Best Python code snippet using localstack_python

test_runner.py

Source: test_runner.py Github

copy

Full Screen

1#!/​usr/​bin/​env python2#3# Copyright 2018 The Chromium Authors. All rights reserved.4# Use of this source code is governed by a BSD-style license that can be5# found in the LICENSE file.6"""Deploys and runs a test package on a Fuchsia target."""7import argparse8import os9import runner_logs10import sys11from common_args import AddCommonArgs, ConfigureLogging, GetDeploymentTargetForArgs12from net_test_server import SetupTestServer13from run_package import RunPackage, RunPackageArgs, SystemLogReader14from runner_exceptions import HandleExceptionAndReturnExitCode15from runner_logs import RunnerLogManager16from symbolizer import BuildIdsPaths17DEFAULT_TEST_SERVER_CONCURRENCY = 418TEST_RESULT_PATH = '/​data/​test_summary.json'19TEST_FILTER_PATH = '/​data/​test_filter.txt'20def main():21 parser = argparse.ArgumentParser()22 AddCommonArgs(parser)23 parser.add_argument('--gtest_filter',24 help='GTest filter to use in place of any default.')25 parser.add_argument('--gtest_repeat',26 help='GTest repeat value to use. This also disables the '27 'test launcher timeout.')28 parser.add_argument('--test-launcher-retry-limit',29 help='Number of times that test suite will retry failing '30 'tests. This is multiplicative with --gtest_repeat.')31 parser.add_argument(32 '--test-launcher-shard-index',33 type=int,34 default=os.environ.get('GTEST_SHARD_INDEX'),35 help='Index of this instance amongst swarming shards.')36 parser.add_argument(37 '--test-launcher-total-shards',38 type=int,39 default=os.environ.get('GTEST_TOTAL_SHARDS'),40 help='Total number of swarming shards of this suite.')41 parser.add_argument('--gtest_break_on_failure', action='store_true',42 default=False,43 help='Should GTest break on failure; useful with '44 '--gtest_repeat.')45 parser.add_argument('--single-process-tests', action='store_true',46 default=False,47 help='Runs the tests and the launcher in the same '48 'process. Useful for debugging.')49 parser.add_argument('--test-launcher-batch-limit',50 type=int,51 help='Sets the limit of test batch to run in a single '52 'process.')53 # --test-launcher-filter-file is specified relative to --output-dir,54 # so specifying type=os.path.* will break it.55 parser.add_argument('--test-launcher-filter-file',56 default=None,57 help='Override default filter file passed to target test '58 'process. Set an empty path to disable filtering.')59 parser.add_argument('--test-launcher-jobs',60 type=int,61 help='Sets the number of parallel test jobs.')62 parser.add_argument('--test-launcher-summary-output',63 help='Where the test launcher will output its json.')64 parser.add_argument('--enable-test-server', action='store_true',65 default=False,66 help='Enable Chrome test server spawner.')67 parser.add_argument('--test-launcher-bot-mode', action='store_true',68 default=False,69 help='Informs the TestLauncher to that it should enable '70 'special allowances for running on a test bot.')71 parser.add_argument('--child-arg', action='append',72 help='Arguments for the test process.')73 parser.add_argument('child_args', nargs='*',74 help='Arguments for the test process.')75 args = parser.parse_args()76 # Flag output_dir is required for tests launched with this script.77 if not args.output_dir:78 raise ValueError("output-dir must be specified.")79 ConfigureLogging(args)80 child_args = []81 if args.test_launcher_shard_index != None:82 child_args.append(83 '--test-launcher-shard-index=%d' % args.test_launcher_shard_index)84 if args.test_launcher_total_shards != None:85 child_args.append(86 '--test-launcher-total-shards=%d' % args.test_launcher_total_shards)87 if args.single_process_tests:88 child_args.append('--single-process-tests')89 if args.test_launcher_bot_mode:90 child_args.append('--test-launcher-bot-mode')91 if args.test_launcher_batch_limit:92 child_args.append('--test-launcher-batch-limit=%d' %93 args.test_launcher_batch_limit)94 # Only set --test-launcher-jobs if the caller specifies it, in general.95 # If the caller enables the test-server then we need to launch the right96 # number of instances to match the maximum number of parallel test jobs, so97 # in that case we set --test-launcher-jobs based on the number of CPU cores98 # specified for the emulator to use.99 test_concurrency = None100 if args.test_launcher_jobs:101 test_concurrency = args.test_launcher_jobs102 elif args.enable_test_server:103 if args.device == 'device':104 test_concurrency = DEFAULT_TEST_SERVER_CONCURRENCY105 else:106 test_concurrency = args.cpu_cores107 if test_concurrency:108 child_args.append('--test-launcher-jobs=%d' % test_concurrency)109 if args.gtest_filter:110 child_args.append('--gtest_filter=' + args.gtest_filter)111 if args.gtest_repeat:112 child_args.append('--gtest_repeat=' + args.gtest_repeat)113 child_args.append('--test-launcher-timeout=-1')114 if args.test_launcher_retry_limit:115 child_args.append(116 '--test-launcher-retry-limit=' + args.test_launcher_retry_limit)117 if args.gtest_break_on_failure:118 child_args.append('--gtest_break_on_failure')119 if args.test_launcher_summary_output:120 child_args.append('--test-launcher-summary-output=' + TEST_RESULT_PATH)121 if args.child_arg:122 child_args.extend(args.child_arg)123 if args.child_args:124 child_args.extend(args.child_args)125 try:126 with GetDeploymentTargetForArgs() as target, \127 SystemLogReader() as system_logger, \128 RunnerLogManager(args.runner_logs_dir, BuildIdsPaths(args.package)):129 target.Start()130 if args.system_log_file and args.system_log_file != '-':131 system_logger.Start(target, args.package, args.system_log_file)132 if args.test_launcher_filter_file:133 target.PutFile(args.test_launcher_filter_file, TEST_FILTER_PATH,134 for_package=args.package_name)135 child_args.append('--test-launcher-filter-file=' + TEST_FILTER_PATH)136 test_server = None137 if args.enable_test_server:138 assert test_concurrency139 test_server = SetupTestServer(target, test_concurrency,140 args.package_name)141 run_package_args = RunPackageArgs.FromCommonArgs(args)142 returncode = RunPackage(args.output_dir, target, args.package,143 args.package_name, child_args, run_package_args)144 if test_server:145 test_server.Stop()146 if args.test_launcher_summary_output:147 target.GetFile(TEST_RESULT_PATH, args.test_launcher_summary_output,148 for_package=args.package_name)149 return returncode150 except:151 return HandleExceptionAndReturnExitCode()152if __name__ == '__main__':...

Full Screen

Full Screen

Blogs

Check out the latest blogs from LambdaTest on this topic:

13 Best Java Testing Frameworks For 2023

The fact is not alien to us anymore that cross browser testing is imperative to enhance your application’s user experience. Enhanced knowledge of popular and highly acclaimed testing frameworks goes a long way in developing a new app. It holds more significance if you are a full-stack developer or expert programmer.

QA Innovation – Using the senseshaping concept to discover customer needs

QA Innovation - Using the senseshaping concept to discover customer needsQA testers have a unique role and responsibility to serve the customer. Serving the customer in software testing means protecting customers from application defects, failures, and perceived failures from missing or misunderstood requirements. Testing for known requirements based on documentation or discussion is the core of the testing profession. One unique way QA testers can both differentiate themselves and be innovative occurs when senseshaping is used to improve the application user experience.

Best 23 Web Design Trends To Follow In 2023

Having a good web design can empower business and make your brand stand out. According to a survey by Top Design Firms, 50% of users believe that website design is crucial to an organization’s overall brand. Therefore, businesses should prioritize website design to meet customer expectations and build their brand identity. Your website is the face of your business, so it’s important that it’s updated regularly as per the current web design trends.

Acquiring Employee Support for Change Management Implementation

Enterprise resource planning (ERP) is a form of business process management software—typically a suite of integrated applications—that assists a company in managing its operations, interpreting data, and automating various back-office processes. The introduction of a new ERP system is analogous to the introduction of a new product into the market. If the product is not handled appropriately, it will fail, resulting in significant losses for the business. Most significantly, the employees’ time, effort, and morale would suffer as a result of the procedure.

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run localstack automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful