Best Python code snippet using localstack_python
build.py
Source: build.py
...46 _build_cache_if_necessary(args)47 if args.mount:48 _run_docker(['up', '-d', 'postgres_test'])49 # Mount the source code and run a container with bash shell50 _run_docker(['run', '--rm'] + _get_mount_volumes() + ['test', 'bash'])51 _run_docker(['down'])52 elif args.generate:53 _run_docker(54 ['run', '--rm'] + _get_mount_volumes() + ['test', 'make gen'],55 )56 elif args.tests:57 # Run unit tests58 _run_docker(['up', '-d', 'postgres_test'])59 _run_docker(['build', 'test'])60 _run_docker(['run', '--rm', 'test', 'make test'])61 if not args.leave:62 _run_docker(['down'])63 else:64 _run_docker(files_args + _get_docker_build_args(args))65def _get_docker_files_command_args(args: argparse.Namespace) -> List[str]:66 def make_file_args(files: Iterable[str]) -> List[str]:67 ret = []68 for f in files:69 ret.append('-f')70 ret.append(f)71 return ret72 if args.all:73 return make_file_args(COMPOSE_FILES)74 if args.noncore:75 return make_file_args(76 filter(lambda f: f not in CORE_COMPOSE_FILES, COMPOSE_FILES),77 )78 # docker-compose uses docker-compose.yml and docker-compose.override.yml79 # by default80 return []81def _create_build_context_if_necessary(args: argparse.Namespace) -> None:82 """ Clear out the build context from the previous run """83 if args.noncore:84 return85 if os.path.exists(BUILD_CONTEXT):86 shutil.rmtree(BUILD_CONTEXT)87 os.mkdir(BUILD_CONTEXT)88 print("Creating build context in '%s'..." % BUILD_CONTEXT)89 modules = []90 for module in _get_modules():91 _copy_module(module)92 modules.append(module.name)93 print('Context created for modules: %s' % ', '.join(modules))94def _build_cache_if_necessary(args: argparse.Namespace) -> None:95 if args.nocache or args.mount or args.generate or \96 args.tests or args.noncore:97 return98 # Check if orc8r_cache image exists99 result = subprocess.run(['docker', 'images', '-q', 'orc8r_cache'],100 stdout=PIPE, stderr=PIPE)101 if result.stdout == b'':102 print("Orc8r_cache image does not exist. Building...")103 _run_docker(['-f', 'docker-compose.cache.yml', 'build'])104def _get_docker_build_args(args: argparse.Namespace) -> List[str]:105 # noncore containers don't need the orc8r cache106 if args.noncore or args.nocache:107 ret = ['build']108 else:109 ret = ['build', '--build-arg', 'baseImage=orc8r_cache']110 if args.parallel:111 ret.append('--parallel')112 return ret113def _run_docker(cmd: List[str]) -> None:114 """ Run the required docker-compose command """115 print("Running 'docker-compose %s'..." % " ".join(cmd))116 try:117 subprocess.run(['docker-compose'] + cmd, check=True)118 except subprocess.CalledProcessError as err:119 exit(err.returncode)120def _copy_module(module: MagmaModule) -> None:121 """ Copy the module dir into the build context """122 module_dest = _get_module_destination(module)123 dst = os.path.join(BUILD_CONTEXT, module_dest)124 # Copy relevant parts of the module to the build context125 shutil.copytree(126 os.path.join(module.host_path, 'cloud'),127 os.path.join(dst, 'cloud'),128 )129 if module.name == 'orc8r':130 shutil.copytree(131 os.path.join(module.host_path, 'lib'),132 os.path.join(dst, 'lib'),133 )134 shutil.copytree(135 os.path.join(module.host_path, 'gateway', 'go'),136 os.path.join(dst, 'gateway', 'go'),137 )138 if os.path.isdir(os.path.join(module.host_path, 'tools')):139 shutil.copytree(140 os.path.join(module.host_path, 'tools'),141 os.path.join(dst, 'tools'),142 )143 if os.path.isdir(os.path.join(module.host_path, 'cloud', 'configs')):144 shutil.copytree(145 os.path.join(module.host_path, 'cloud', 'configs'),146 os.path.join(BUILD_CONTEXT, 'configs', module.name),147 )148 # Copy the go.mod file for caching the go downloads149 # Use module_dest to preserve relative paths between go modules150 for filename in glob.iglob(dst + '/**/go.mod', recursive=True):151 gomod = filename.replace(152 dst, os.path.join(BUILD_CONTEXT, 'gomod', module_dest),153 )154 os.makedirs(os.path.dirname(gomod))155 shutil.copyfile(filename, gomod)156def _get_mount_volumes() -> List[str]:157 """ Return the volumes argument for docker-compose commands """158 volumes = []159 for module in _get_modules():160 module_mount_path = _get_module_destination(module)161 dst = os.path.join('/', module_mount_path)162 volumes.extend(['-v', '%s:%s' % (module.host_path, dst)])163 return volumes164def _get_modules() -> List[MagmaModule]:165 """166 Read the modules config file and return all modules specified.167 """168 filename = os.environ.get('MAGMA_MODULES_FILE', DEFAULT_MODULES_FILE)169 # Use the FB modules file if the file exists170 if os.path.isfile(FB_MODULES_FILE):...
Check out the latest blogs from LambdaTest on this topic:
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 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.
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.
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.
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.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!