Best Python code snippet using avocado_python
debug.py
Source:debug.py  
1# -*- coding: utf-8 -*-2#-------------------------------------------------------------------------3# drawElements Quality Program utilities4# --------------------------------------5#6# Copyright 2015 The Android Open Source Project7#8# Licensed under the Apache License, Version 2.0 (the "License");9# you may not use this file except in compliance with the License.10# You may obtain a copy of the License at11#12#      http://www.apache.org/licenses/LICENSE-2.013#14# Unless required by applicable law or agreed to in writing, software15# distributed under the License is distributed on an "AS IS" BASIS,16# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.17# See the License for the specific language governing permissions and18# limitations under the License.19#20#-------------------------------------------------------------------------21import sys22import os23import time24import string25import shutil26import subprocess27import signal28import argparse29import common30def getADBProgramPID (adbCmd, program, serial):31	pid		= -132	process = subprocess.Popen([adbCmd]33								+ (["-s", serial] if serial != None else [])34								+ ["shell", "ps"], stdout=subprocess.PIPE)35	firstLine = True36	for line in process.stdout.readlines():37		if firstLine:38			firstLine = False39			continue40		fields = string.split(line)41		fields = filter(lambda x: len(x) > 0, fields)42		if len(fields) < 9:43			continue44		if fields[8] == program:45			assert pid == -146			pid = int(fields[1])47	process.wait()48	if process.returncode != 0:49		print("adb shell ps returned %s" % str(process.returncode))50		pid = -151	return pid52def debug (53	adbCmd,54	deqpCmdLine,55	targetGDBPort,56	hostGDBPort,57	jdbPort,58	jdbCmd,59	gdbCmd,60	buildDir,61	deviceLibs,62	breakpoints,63	serial,64	deviceGdbCmd,65	appProcessName,66	linkerName67	):68	programPid			= -169	gdbServerProcess	= None70	gdbProcess			= None71	jdbProcess			= None72	curDir				= os.getcwd()73	debugDir			= os.path.join(common.ANDROID_DIR, "debug")74	serialArg			= "-s " + serial if serial != None else ""75	if os.path.exists(debugDir):76		shutil.rmtree(debugDir)77	os.makedirs(debugDir)78	os.chdir(debugDir)79	try:80		# Start execution81		print("Starting intent...")82		common.execArgs([adbCmd]83						+ (["-s", serial] if serial != None else [])84						+ ["shell", "am", "start", "-W", "-D", "-n", "com.drawelements.deqp/android.app.NativeActivity", "-e", "cmdLine", "\"\"unused " + deqpCmdLine  + "\"\""])85		print("Intent started")86		# Kill existing gdbservers87		print("Check and kill existing gdbserver")88		gdbPid = getADBProgramPID(adbCmd, "gdbserver", serial)89		if gdbPid != -1:90			print("Found gdbserver with PID %i" % gdbPid)91			common.execArgs([adbCmd]92							+ (["-s", serial] if serial != None else [])93							+ ["shell", "run-as", "com.drawelements.deqp", "kill", "-9", str(gdbPid)])94			print("Killed gdbserver")95		else:96			print("Couldn't find existing gdbserver")97		programPid = getADBProgramPID(adbCmd, "com.drawelements.deqp:testercore", serial)98		print("Find process PID")99		if programPid == -1:100			common.die("Couldn't get PID of testercore")101		print("Process running with PID %i" % programPid)102		# Start gdbserver103		print("Start gdbserver for PID %i redirect stdout to gdbserver-stdout.txt" % programPid)104		gdbServerProcess = subprocess.Popen([adbCmd]105											+ (["-s", serial] if serial != None else [])106											+ ["shell", "run-as", "com.drawelements.deqp", deviceGdbCmd, "localhost:" + str(targetGDBPort), "--attach", str(programPid)], stdin=subprocess.PIPE, stdout=open("gdbserver-stdout.txt", "wb"), stderr=open("gdbserver-stderr.txt", "wb"))107		print("gdbserver started")108		time.sleep(1)109		gdbServerProcess.poll()110		if gdbServerProcess.returncode != None:111			common.die("gdbserver returned unexpectly with return code %i see gdbserver-stdout.txt for more info" % gdbServerProcess.returncode)112		# Setup port forwarding113		print("Forwarding local port to gdbserver port")114		common.execArgs([adbCmd]115						+ (["-s", serial] if serial != None else [])116						+ ["forward", "tcp:" + str(hostGDBPort), "tcp:" + str(targetGDBPort)])117		# Pull some data files for debugger118		print("Pull /system/bin/%s from device" % appProcessName)119		common.execArgs([adbCmd]120						+ (["-s", serial] if serial != None else [])121						+ ["pull", "/system/bin/" + str(appProcessName)])122		print("Pull /system/bin/%s from device" % linkerName)123		common.execArgs([adbCmd]124						+ (["-s", serial] if serial != None else [])125						+ ["pull", "/system/bin/" + str(linkerName)])126		for lib in deviceLibs:127			print("Pull library %s from device" % lib)128			try:129				common.execArgs([adbCmd]130								+ (["-s", serial] if serial != None else [])131								+ ["pull", lib])132			except Exception as e:133				print("Failed to pull library '%s'. Error: %s" % (lib, str(e)))134		print("Copy %s from build dir" % common.NATIVE_LIB_NAME)135		shutil.copyfile(os.path.join(buildDir, common.NATIVE_LIB_NAME), common.NATIVE_LIB_NAME)136		# Forward local port for jdb137		print("Forward local port to jdb port")138		common.execArgs([adbCmd]139						+ (["-s", serial] if serial != None else [])140						+ ["forward", "tcp:" + str(jdbPort), "jdwp:" + str(programPid)])141		# Connect JDB142		print("Start jdb process redirectd stdout to jdb-stdout.txt")143		jdbProcess = subprocess.Popen([jdbCmd, "-connect", "com.sun.jdi.SocketAttach:hostname=localhost,port=" + str(jdbPort), "-sourcepath", "../package"], stdin=subprocess.PIPE, stdout=open("jdb-stdout.txt", "wb"), stderr=open("jdb-stderr.txt", "wb"))144		print("Started jdb process")145		# Write gdb.setup146		print("Write gdb.setup")147		gdbSetup = open("gdb.setup", "wb")148		gdbSetup.write("file %s\n" % appProcessName)149		gdbSetup.write("set solib-search-path .\n")150		gdbSetup.write("target remote :%i\n" % hostGDBPort)151		gdbSetup.write("set breakpoint pending on\n")152		for breakpoint in breakpoints:153			print("Set breakpoint at %s" % breakpoint)154			gdbSetup.write("break %s\n" % breakpoint)155		gdbSetup.write("set breakpoint pending off\n")156		gdbSetup.close()157		print("Start gdb")158		gdbProcess = subprocess.Popen(common.shellquote(gdbCmd) + " -x gdb.setup", shell=True)159		gdbProcess.wait()160		print("gdb returned with %i" % gdbProcess.returncode)161		gdbProcess=None162		print("Close jdb process with 'quit'")163		jdbProcess.stdin.write("quit\n")164		jdbProcess.wait()165		print("JDB returned %s" % str(jdbProcess.returncode))166		jdbProcess=None167		print("Kill gdbserver process")168		gdbServerProcess.kill()169		gdbServerProcess=None170		print("Killed gdbserver process")171		print("Kill program %i" % programPid)172		common.execArgs([adbCmd]173						+ (["-s", serial] if serial != None else [])174						+ ["shell", "run-as", "com.drawelements.deqp", "kill", "-9", str(programPid)])175		print("Killed program")176	finally:177		if jdbProcess and jdbProcess.returncode == None:178			print("Kill jdb")179			jdbProcess.kill()180		elif jdbProcess:181			print("JDB returned %i" % jdbProcess.returncode)182		if gdbProcess and gdbProcess.returncode == None:183			print("Kill gdb")184			gdbProcess.kill()185		elif gdbProcess:186			print("GDB returned %i" % gdbProcess.returncode)187		if gdbServerProcess and gdbServerProcess.returncode == None:188			print("Kill gdbserver")189			gdbServerProcess.kill()190		elif gdbServerProcess:191			print("GDB server returned %i" % gdbServerProcess.returncode)192		if programPid != -1:193			print("Kill program %i" % programPid)194			common.execArgs([adbCmd]195							+ (["-s", serial] if serial != None else [])196							+ ["shell", "run-as", "com.drawelements.deqp", "kill", "-9", str(programPid)])197			print("Killed program")198		os.chdir(curDir)199class Device:200	def __init__ (self, libraries=[], nativeBuildDir=None, hostGdbBins=None, deviceGdbCmd=None, appProcessName=None, linkerName=None):201		self.libraries = libraries202		self.nativeBuildDir = nativeBuildDir203		self.hostGdbBins = hostGdbBins204		self.deviceGdbCmd = deviceGdbCmd205		self.appProcessName = appProcessName206		self.linkerName = linkerName207	def getBuildDir (self):208		return self.nativeBuildDir209	def getGdbCommand (self, platform):210		return self.hostGdbBins[platform]211	def getDeviceGdbCommand (self):212		return self.deviceGdbCmd213	def getLibs (self):214		return self.libraries215	def getLinkerName (self):216		return self.linkerName217	def getAppProcessName (self):218		return self.appProcessName219if __name__ == "__main__":220	parser = argparse.ArgumentParser()221	devices = {222		"nexus-4" : Device(223			nativeBuildDir = "../native/debug-13-armeabi-v7a",224			deviceGdbCmd = "lib/gdbserver",225			hostGdbBins = {226				"linux" : common.shellquote(os.path.join(common.ANDROID_NDK_PATH, "toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gdb")),227				"windows" : common.shellquote(os.path.join(common.ANDROID_NDK_PATH, "toolchains/arm-linux-androideabi-4.8/prebuilt/windows/bin/arm-linux-androideabi-gdb"))228			},229			appProcessName = "app_process",230			linkerName = "linker",231			libraries = [232				"/system/lib/libgenlock.so",233				"/system/lib/libmemalloc.so",234				"/system/lib/libqdutils.so",235				"/system/lib/libsc-a3xx.so"236			]),237		"nexus-6" : Device(238			nativeBuildDir = "../native/debug-13-armeabi-v7a",239			deviceGdbCmd = "lib/gdbserver",240			hostGdbBins = {241				"linux" : common.shellquote(os.path.join(common.ANDROID_NDK_PATH, "toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gdb")),242				"windows" : common.shellquote(os.path.join(common.ANDROID_NDK_PATH, "toolchains/arm-linux-androideabi-4.8/prebuilt/windows/bin/arm-linux-androideabi-gdb"))243			},244			appProcessName = "app_process",245			linkerName = "linker",246			libraries = [247				"/system/lib/libutils.so",248				"/system/lib/libstdc++.so",249				"/system/lib/libm.so",250				"/system/lib/liblog.so",251				"/system/lib/libhardware.so",252				"/system/lib/libbinder.so",253				"/system/lib/libcutils.so",254				"/system/lib/libc++.so",255				"/system/lib/libLLVM.so",256				"/system/lib/libbcinfo.so",257				"/system/lib/libunwind.so",258				"/system/lib/libz.so",259				"/system/lib/libpng.so",260				"/system/lib/libcommon_time_client.so",261				"/system/lib/libstlport.so",262				"/system/lib/libui.so",263				"/system/lib/libsync.so",264				"/system/lib/libgui.so",265				"/system/lib/libft2.so",266				"/system/lib/libbcc.so",267				"/system/lib/libGLESv2.so",268				"/system/lib/libGLESv1_CM.so",269				"/system/lib/libEGL.so",270				"/system/lib/libunwind-ptrace.so",271				"/system/lib/libgccdemangle.so",272				"/system/lib/libcrypto.so",273				"/system/lib/libicuuc.so",274				"/system/lib/libicui18n.so",275				"/system/lib/libjpeg.so",276				"/system/lib/libexpat.so",277				"/system/lib/libpcre.so",278				"/system/lib/libharfbuzz_ng.so",279				"/system/lib/libstagefright_foundation.so",280				"/system/lib/libsonivox.so",281				"/system/lib/libnbaio.so",282				"/system/lib/libcamera_client.so",283				"/system/lib/libaudioutils.so",284				"/system/lib/libinput.so",285				"/system/lib/libhardware_legacy.so",286				"/system/lib/libcamera_metadata.so",287				"/system/lib/libgabi++.so",288				"/system/lib/libskia.so",289				"/system/lib/libRScpp.so",290				"/system/lib/libRS.so",291				"/system/lib/libwpa_client.so",292				"/system/lib/libnetutils.so",293				"/system/lib/libspeexresampler.so",294				"/system/lib/libGLES_trace.so",295				"/system/lib/libbacktrace.so",296				"/system/lib/libusbhost.so",297				"/system/lib/libssl.so",298				"/system/lib/libsqlite.so",299				"/system/lib/libsoundtrigger.so",300				"/system/lib/libselinux.so",301				"/system/lib/libprocessgroup.so",302				"/system/lib/libpdfium.so",303				"/system/lib/libnetd_client.so",304				"/system/lib/libnativehelper.so",305				"/system/lib/libnativebridge.so",306				"/system/lib/libminikin.so",307				"/system/lib/libmemtrack.so",308				"/system/lib/libmedia.so",309				"/system/lib/libinputflinger.so",310				"/system/lib/libimg_utils.so",311				"/system/lib/libhwui.so",312				"/system/lib/libandroidfw.so",313				"/system/lib/libETC1.so",314				"/system/lib/libandroid_runtime.so",315				"/system/lib/libsigchain.so",316				"/system/lib/libbacktrace_libc++.so",317				"/system/lib/libart.so",318				"/system/lib/libjavacore.so",319				"/system/lib/libvorbisidec.so",320				"/system/lib/libstagefright_yuv.so",321				"/system/lib/libstagefright_omx.so",322				"/system/lib/libstagefright_enc_common.so",323				"/system/lib/libstagefright_avc_common.so",324				"/system/lib/libpowermanager.so",325				"/system/lib/libopus.so",326				"/system/lib/libdrmframework.so",327				"/system/lib/libstagefright_amrnb_common.so",328				"/system/lib/libstagefright.so",329				"/system/lib/libmtp.so",330				"/system/lib/libjhead.so",331				"/system/lib/libexif.so",332				"/system/lib/libmedia_jni.so",333				"/system/lib/libsoundpool.so",334				"/system/lib/libaudioeffect_jni.so",335				"/system/lib/librs_jni.so",336				"/system/lib/libjavacrypto.so",337				"/system/lib/libqservice.so",338				"/system/lib/libqdutils.so",339				"/system/lib/libqdMetaData.so",340				"/system/lib/libmemalloc.so",341				"/system/lib/libandroid.so",342				"/system/lib/libcompiler_rt.so",343				"/system/lib/libjnigraphics.so",344				"/system/lib/libwebviewchromium_loader.so",345				"/system/lib/hw/gralloc.msm8084.so",346				"/system/lib/hw/memtrack.msm8084.so",347				"/vendor/lib/libgsl.so",348				"/vendor/lib/libadreno_utils.so",349				"/vendor/lib/egl/libEGL_adreno.so",350				"/vendor/lib/egl/libGLESv1_CM_adreno.so",351				"/vendor/lib/egl/libGLESv2_adreno.so",352				"/vendor/lib/egl/eglSubDriverAndroid.so",353				"/vendor/lib/libllvm-glnext.so",354			]),355		"nexus-7" : Device(356			nativeBuildDir = "../native/debug-13-armeabi-v7a",357			deviceGdbCmd = "lib/gdbserver",358			hostGdbBins = {359				"linux" : common.shellquote(os.path.join(common.ANDROID_NDK_PATH, "toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gdb")),360				"windows" : common.shellquote(os.path.join(common.ANDROID_NDK_PATH, "toolchains/arm-linux-androideabi-4.8/prebuilt/windows/bin/arm-linux-androideabi-gdb"))361			},362			appProcessName = "app_process",363			linkerName = "linker",364			libraries = [365				"/system/lib/libm.so",366				"/system/lib/libqdutils.so",367				"/system/lib/libmemalloc.so",368				"/system/lib/hw/gralloc.msm8960.so",369				"/system/lib/libstdc++.so",370				"/system/lib/liblog.so.",371				"/system/lib/libstdc++.so",372				"/system/lib/liblog.so",373				"/system/lib/libsigchain.so",374				"/system/lib/libcutils.so",375				"/system/lib/libstlport.so",376				"/system/lib/libgccdemangle.so",377				"/system/lib/libunwind.so",378				"/system/lib/libunwind-ptrace.so",379				"/system/lib/libbacktrace.so",380				"/system/lib/libutils.so",381				"/system/lib/libGLES_trace.so",382				"/system/lib/libEGL.so",383				"/system/lib/libETC1.so",384				"/system/lib/libGLESv1_CM.so",385				"/system/lib/libGLESv2.so",386				"/system/lib/libbinder.so",387				"/system/lib/libz.so",388				"/system/lib/libandroidfw.so",389				"/system/lib/libspeexresampler.so",390				"/system/lib/libaudioutils.so",391				"/system/lib/libcamera_metadata.so",392				"/system/lib/libsync.so",393				"/system/lib/libhardware.so",394				"/system/lib/libui.so",395				"/vendor/lib/egl/eglsubAndroid.so",396				"/vendor/lib/libsc-a3xx.so",397				"/system/lib/libgui.so",398				"/system/lib/libcamera_client.so",399				"/system/lib/libcrypto.so",400				"/system/lib/libexpat.so",401				"/system/lib/libnetutils.so",402				"/system/lib/libwpa_client.so",403				"/system/lib/libhardware_legacy.so",404				"/system/lib/libgabi++.so",405				"/system/lib/libicuuc.so",406				"/system/lib/libicui18n.so",407				"/system/lib/libharfbuzz_ng.so",408				"/system/lib/libc++.so",409				"/system/lib/libLLVM.so",410				"/system/lib/libbcinfo.so",411				"/system/lib/libbcc.so",412				"/system/lib/libpng.so",413				"/system/lib/libft2.so",414				"/system/lib/libRS.so",415				"/system/lib/libRScpp.so",416				"/system/lib/libjpeg.so",417				"/system/lib/libskia.so",418				"/system/lib/libhwui.so",419				"/system/lib/libimg_utils.so",420				"/system/lib/libinput.so",421				"/system/lib/libinputflinger.so",422				"/system/lib/libcommon_time_client.so",423				"/system/lib/libnbaio.so",424				"/system/lib/libsonivox.so",425				"/system/lib/libstagefright_foundation.so",426				"/system/lib/libmedia.so",427				"/system/lib/libmemtrack.so",428				"/system/lib/libminikin.so",429				"/system/lib/libnativebridge.so",430				"/system/lib/libnativehelper.so",431				"/system/lib/libnetd_client.so",432				"/system/lib/libpdfium.so",433				"/system/lib/libprocessgroup.so",434				"/system/lib/libselinux.so",435				"/system/lib/libsoundtrigger.so",436				"/system/lib/libsqlite.so",437				"/system/lib/libssl.so",438				"/system/lib/libusbhost.so",439				"/system/lib/libandroid_runtime.so",440				"/system/lib/libbacktrace_libc++.so",441				"/system/lib/libart.so",442				"/system/lib/libjavacore.so",443				"/system/lib/libexif.so",444				"/system/lib/libjhead.so",445				"/system/lib/libmtp.so",446				"/system/lib/libdrmframework.so",447				"/system/lib/libopus.so",448				"/system/lib/libpowermanager.so",449				"/system/lib/libstagefright_avc_common.so",450				"/system/lib/libstagefright_enc_common.so",451				"/system/lib/libstagefright_omx.so",452				"/system/lib/libstagefright_yuv.so",453				"/system/lib/libvorbisidec.so",454				"/system/lib/libstagefright.so",455				"/system/lib/libstagefright_amrnb_common.so",456				"/system/lib/libmedia_jni.so",457				"/system/lib/libsoundpool.so",458				"/system/lib/libaudioeffect_jni.so",459				"/system/lib/librs_jni.so",460				"/system/lib/libjavacrypto.so",461				"/system/lib/libandroid.so",462				"/system/lib/libcompiler_rt.so",463				"/system/lib/libjnigraphics.so",464				"/system/lib/libwebviewchromium_loader.so",465				"/system/lib/hw/memtrack.msm8960.so",466				"/vendor/lib/libgsl.so",467				"/vendor/lib/libadreno_utils.so",468				"/vendor/lib/egl/libEGL_adreno.so",469				"/vendor/lib/egl/libGLESv1_CM_adreno.so",470				"/vendor/lib/egl/libGLESv2_adreno.so",471			]),472		"nexus-10" : Device(473			nativeBuildDir = "../native/debug-13-armeabi-v7a",474			deviceGdbCmd = "lib/gdbserver",475			hostGdbBins = {476				"linux" : common.shellquote(os.path.join(common.ANDROID_NDK_PATH, "toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gdb")),477				"windows" : common.shellquote(os.path.join(common.ANDROID_NDK_PATH, "toolchains/arm-linux-androideabi-4.8/prebuilt/windows/bin/arm-linux-androideabi-gdb"))478			},479			appProcessName = "app_process",480			linkerName = "linker",481			libraries = [482				"/system/lib/libutils.so",483				"/system/lib/libstdc++.so",484				"/system/lib/libm.so",485				"/system/lib/liblog.so",486				"/system/lib/libhardware.so",487				"/system/lib/libbinder.so",488				"/system/lib/libcutils.so",489				"/system/lib/libc++.so",490				"/system/lib/libLLVM.so",491				"/system/lib/libbcinfo.so",492				"/system/lib/libunwind.so",493				"/system/lib/libz.so",494				"/system/lib/libpng.so",495				"/system/lib/libcommon_time_client.so",496				"/system/lib/libstlport.so",497				"/system/lib/libui.so",498				"/system/lib/libsync.so",499				"/system/lib/libgui.so",500				"/system/lib/libft2.so",501				"/system/lib/libbcc.so",502				"/system/lib/libGLESv2.so",503				"/system/lib/libGLESv1_CM.so",504				"/system/lib/libEGL.so",505				"/system/lib/libunwind-ptrace.so",506				"/system/lib/libgccdemangle.so",507				"/system/lib/libcrypto.so",508				"/system/lib/libicuuc.so",509				"/system/lib/libicui18n.so",510				"/system/lib/libjpeg.so",511				"/system/lib/libexpat.so",512				"/system/lib/libpcre.so",513				"/system/lib/libharfbuzz_ng.so",514				"/system/lib/libstagefright_foundation.so",515				"/system/lib/libsonivox.so",516				"/system/lib/libnbaio.so",517				"/system/lib/libcamera_client.so",518				"/system/lib/libaudioutils.so",519				"/system/lib/libinput.so",520				"/system/lib/libhardware_legacy.so",521				"/system/lib/libcamera_metadata.so",522				"/system/lib/libgabi++.so",523				"/system/lib/libskia.so",524				"/system/lib/libRScpp.so",525				"/system/lib/libRS.so",526				"/system/lib/libwpa_client.so",527				"/system/lib/libnetutils.so",528				"/system/lib/libspeexresampler.so",529				"/system/lib/libGLES_trace.so",530				"/system/lib/libbacktrace.so",531				"/system/lib/libusbhost.so",532				"/system/lib/libssl.so",533				"/system/lib/libsqlite.so",534				"/system/lib/libsoundtrigger.so",535				"/system/lib/libselinux.so",536				"/system/lib/libprocessgroup.so",537				"/system/lib/libpdfium.so",538				"/system/lib/libnetd_client.so",539				"/system/lib/libnativehelper.so",540				"/system/lib/libnativebridge.so",541				"/system/lib/libminikin.so",542				"/system/lib/libmemtrack.so",543				"/system/lib/libmedia.so",544				"/system/lib/libinputflinger.so",545				"/system/lib/libimg_utils.so",546				"/system/lib/libhwui.so",547				"/system/lib/libandroidfw.so",548				"/system/lib/libETC1.so",549				"/system/lib/libandroid_runtime.so",550				"/system/lib/libsigchain.so",551				"/system/lib/libbacktrace_libc++.so",552				"/system/lib/libart.so",553				"/system/lib/libjavacore.so",554				"/system/lib/libvorbisidec.so",555				"/system/lib/libstagefright_yuv.so",556				"/system/lib/libstagefright_omx.so",557				"/system/lib/libstagefright_enc_common.so",558				"/system/lib/libstagefright_avc_common.so",559				"/system/lib/libpowermanager.so",560				"/system/lib/libopus.so",561				"/system/lib/libdrmframework.so",562				"/system/lib/libstagefright_amrnb_common.so",563				"/system/lib/libstagefright.so",564				"/system/lib/libmtp.so",565				"/system/lib/libjhead.so",566				"/system/lib/libexif.so",567				"/system/lib/libmedia_jni.so",568				"/system/lib/libsoundpool.so",569				"/system/lib/libaudioeffect_jni.so",570				"/system/lib/librs_jni.so",571				"/system/lib/libjavacrypto.so",572				"/system/lib/libandroid.so",573				"/system/lib/libcompiler_rt.so",574				"/system/lib/libjnigraphics.so",575				"/system/lib/libwebviewchromium_loader.so",576				"/system/lib/libion.so",577				"/vendor/lib/hw/gralloc.exynos5.so",578				"/vendor/lib/egl/libGLES_mali.so",579			]),580		"default" : Device(581			nativeBuildDir = "../native/debug-13-armeabi-v7a",582			deviceGdbCmd = "lib/gdbserver",583			hostGdbBins = {584				"linux" : common.shellquote(os.path.join(common.ANDROID_NDK_PATH, "toolchains/arm-linux-androideabi-4.8/prebuilt/linux-x86/bin/arm-linux-androideabi-gdb")),585				"windows" : common.shellquote(os.path.join(common.ANDROID_NDK_PATH, "toolchains/arm-linux-androideabi-4.8/prebuilt/windows/bin/arm-linux-androideabi-gdb"))586			},587			appProcessName = "app_process",588			linkerName = "linker",589			libraries = [590			]),591	}592	parser.add_argument('--adb',				dest='adbCmd',			default=common.ADB_BIN, help="Path to adb command. Use absolute paths.")593	parser.add_argument('--deqp-commandline',	dest='deqpCmdLine',		default="--deqp-log-filename=/sdcard/TestLog.qpa", help="Command line arguments passed to dEQP test binary.")594	parser.add_argument('--gdb',				dest='gdbCmd',			default=None, help="gdb command used by script. Use absolute paths")595	parser.add_argument('--device-gdb',			dest='deviceGdbCmd',	default=None, help="gdb command used by script on device.")596	parser.add_argument('--target-gdb-port',	dest='targetGDBPort',	default=60001, type=int, help="Port used by gdbserver on target.")597	parser.add_argument('--host-gdb-port',		dest='hostGDBPort',		default=60002, type=int, help="Host port that is forwarded to device gdbserver port.")598	parser.add_argument('--jdb',				dest='jdbCmd',			default="jdb", help="Path to jdb command. Use absolute paths.")599	parser.add_argument('--jdb-port',			dest='jdbPort',			default=60003, type=int, help="Host port used to forward jdb commands to device.")600	parser.add_argument('--build-dir',			dest='buildDir',		default=None, help="Path to dEQP native build directory.")601	parser.add_argument('--device-libs',		dest='deviceLibs',		default=[], nargs='+', help="List of libraries that should be pulled from device for debugging.")602	parser.add_argument('--breakpoints',		dest='breakpoints',		default=["tcu::App::App"], nargs='+', help="List of breakpoints that are set by gdb.")603	parser.add_argument('--app-process-name',	dest='appProcessName',	default=None, help="Name of the app_process binary.")604	parser.add_argument('--linker-name',		dest='linkerName',		default=None, help="Name of the linker binary.")605	parser.add_argument('--device',				dest='device',			default="default", choices=devices, help="Pull default libraries for this device.")606	parser.add_argument('--serial','-s',		dest='serial',			default=None, help="-s Argument for adb.")607	args = parser.parse_args()608	device = devices[args.device]609	if args.deviceGdbCmd == None:610		args.deviceGdbCmd = device.getDeviceGdbCommand()611	if args.buildDir == None:612		args.buildDir = device.getBuildDir()613	if args.gdbCmd == None:614		args.gdbCmd = device.getGdbCommand(common.getPlatform())615	if args.linkerName == None:616		args.linkerName = device.getLinkerName()617	if args.appProcessName == None:618		args.appProcessName = device.getAppProcessName()619	debug(adbCmd=os.path.normpath(args.adbCmd),620		  gdbCmd=os.path.normpath(args.gdbCmd),621		  targetGDBPort=args.targetGDBPort,622		  hostGDBPort=args.hostGDBPort,623		  jdbCmd=os.path.normpath(args.jdbCmd),624		  jdbPort=args.jdbPort,625		  deqpCmdLine=args.deqpCmdLine,626		  buildDir=args.buildDir,627		  deviceLibs=["/system/lib/libc.so", "/system/lib/libdl.so"] + args.deviceLibs + device.getLibs(),628		  breakpoints=args.breakpoints,629		  serial=args.serial,630		  deviceGdbCmd=args.deviceGdbCmd,631		  appProcessName=args.appProcessName,...view.py
Source:view.py  
1import clr2clr.AddReference('System.Windows.Forms') 3clr.AddReference('System.Drawing')4#clr.AddReference('System.ComponentModel')5import System6from System.Windows.Forms import *7from System.ComponentModel import *8from System.Drawing import *9from System.IO import File, Path10from clr import *11from controller import SimpleICMController12class SimpleICMForm(System.Windows.Forms.Form):13    #__slots__ = ['_tab_control', '_tabs[0]', '_tabs[1]', 'equities[8]', 'equities[7]', 'equities[6]', 'equities[5]', 'equities[4]', 'equities[3]', 'equities[2]', 'equities[1]', '_label_stack_header', '_label_eq_header', '_label_player_header', 'equities[0]', 'go_button', 'stacks[8]', '_player_labels[8]', 'stacks[7]', '_player_labels[7]', 'stacks[6]', '_player_labels[6]', 'stacks[5]', '_player_labels[5]', 'stacks[4]', '_player_labels[4]', 'stacks[3]', '_player_labels[3]', 'stacks[2]', '_player_labels[2]', 'stacks[1]', '_player_labels[1]', 'stacks[0]', '_player_labels[0]', '_richTextBox1', '_payouts[4]', '_payouts[3]', '_payouts[2]', '_payouts[1]', '_payouts[0]', '_payout_labels[4]', '_payout_labels[3]', '_payout_labels[2]', '_payout_labels[1]', '_payout_labels[0]', '_tabs[2]']14    def __init__(self):15        self.executablePath = __file__16        if self.executablePath is None:17            self.executablePath = Application.ExecutablePath18        self.executableDirectory = Path.GetDirectoryName(self.executablePath)19        self.InitializeComponent()20        self.controller = SimpleICMController(self)21        self.go_button.Click += self.controller.handle_go22        for stack in self.stacks:23            stack.GotFocus += self.controller.cache_value24            stack.LostFocus += self.controller.validate_number25        for payout in self.payouts:26            payout.GotFocus += self.controller.cache_value27            payout.LostFocus += self.controller.validate_number28        self._WebBrowser1.Navigating += self.controller.handle_navigate29        30    @accepts(Self(), bool)31    @returns(None)32    def Dispose(self, disposing):33        super(type(self), self).Dispose(disposing)34    35    @returns(None)36    def InitializeComponent(self):37        self.MaximumSize = self.MinimumSize = System.Drawing.Size(300, 480)38        self._tab_control = System.Windows.Forms.TabControl()39        self.statusStrip = System.Windows.Forms.StatusStrip()40        self.statusLabel = System.Windows.Forms.ToolStripStatusLabel()41        42        self._tabs = []43        self.iconPath = 'icons\\simple_icm.ico'44        self.Icon = Icon(Path.Combine(self.executableDirectory, self.iconPath))45        46        for i in range(3):47            self._tabs.append(System.Windows.Forms.TabPage())        48        self.go_button = System.Windows.Forms.Button()49        50        self.stacks = []51        self.equities = []52        self._player_labels = []53        for i in range(9):54            self.stacks.append(System.Windows.Forms.TextBox())55            self.equities.append(System.Windows.Forms.Label())56            self._player_labels.append(System.Windows.Forms.Label())57        self._label_eq_header = System.Windows.Forms.Label()58        self._label_player_header = System.Windows.Forms.Label()59        self._label_stack_header = System.Windows.Forms.Label()60        self._WebBrowser1 = System.Windows.Forms.WebBrowser()61        self._payout_labels = []62        self.payouts = []63        for i in range(5):64            self._payout_labels.append(System.Windows.Forms.Label())65            self.payouts.append(System.Windows.Forms.TextBox())66        self._tab_control.SuspendLayout()67        self._tabs[0].SuspendLayout()68        self._tabs[1].SuspendLayout()69        self._tabs[2].SuspendLayout()70        self.statusStrip.SuspendLayout()71        self.SuspendLayout()72        # 73        # tab374        # 75        for tab in self._tabs:76            self._tab_control.Controls.Add(tab)77        #self._tab_control.Location = System.Drawing.Point(13, 13)78        self._tab_control.Name = 'tab3'79        self._tab_control.SelectedIndex = 080        #self._tab_control.Size = System.Drawing.Size(287, 447)81        self._tab_control.TabIndex = 082        self._tab_control.Dock = System.Windows.Forms.DockStyle.Fill83        self._tab_control.Location = System.Drawing.Point(0, 0)84        85        # 86        # tab187        # 88        for i in range(9):89            self._tabs[0].Controls.Add(self.equities[i])90            self._tabs[0].Controls.Add(self.stacks[i])91            self._tabs[0].Controls.Add(self._player_labels[i])92        self._tabs[0].Controls.Add(self._label_stack_header)93        self._tabs[0].Controls.Add(self._label_eq_header)94        self._tabs[0].Controls.Add(self._label_player_header)95        self._tabs[0].Controls.Add(self.go_button)96        self._tabs[0].Controls.Add(self.statusStrip)97        self._tabs[0].Location = System.Drawing.Point(4, 27)98        self._tabs[0].Name = 'tab1'99        self._tabs[0].Padding = System.Windows.Forms.Padding(3)100        self._tabs[0].Size = System.Drawing.Size(279, 416)101        self._tabs[0].TabIndex = 0102        self._tabs[0].Text = 'Stacks'103        self._tabs[0].UseVisualStyleBackColor = True104        # 105        # tab2106        # 107        for i in range(5):108            self._tabs[1].Controls.Add(self.payouts[i])109            self._tabs[1].Controls.Add(self._payout_labels[i])110        self._tabs[1].Location = System.Drawing.Point(4, 27)111        self._tabs[1].Name = 'tab2'112        self._tabs[1].Padding = System.Windows.Forms.Padding(3)113        self._tabs[1].Size = System.Drawing.Size(279, 416)114        self._tabs[1].TabIndex = 1115        self._tabs[1].Text = 'Payouts'116        self._tabs[1].UseVisualStyleBackColor = True117        # 118        # tabPage3119        # 120        self._tabs[2].Controls.Add(self._WebBrowser1)121        self._tabs[2].Location = System.Drawing.Point(4, 27)122        self._tabs[2].Name = 'tabPage3'123        self._tabs[2].Padding = System.Windows.Forms.Padding(3)124        self._tabs[2].Size = System.Drawing.Size(279, 416)125        self._tabs[2].TabIndex = 2126        self._tabs[2].Text = 'About'127        self._tabs[2].UseVisualStyleBackColor = True128        # 129        # button_go130        # 131        self.go_button.Location = System.Drawing.Point(9, 350)132        self.go_button.Name = 'button_go'133        self.go_button.Size = System.Drawing.Size(263, 35)134        self.go_button.TabIndex = 55135        self.go_button.Text = 'Go'136        self.go_button.UseVisualStyleBackColor = True137        138        self.statusStrip.Items.AddRange(            System.Array[System.Windows.Forms.ToolStripItem]((self.statusLabel, )))139        self.statusStrip.Location = System.Drawing.Point(3, 515)140        self.statusStrip.Name = 'statusStrip'141        self.statusStrip.Size = System.Drawing.Size(178, 22)142        self.statusStrip.TabIndex = 56143        self.statusStrip.Text = 'Waiting'144        self.statusStrip.Dock = System.Windows.Forms.DockStyle.Bottom145        146        self.statusLabel.Name = 'statusLabel'147        self.statusLabel.Size = System.Drawing.Size(109, 17)148        self.statusLabel.Text = 'Status: Ready'149        #self.statusLabel.Click += self.statusLabel1_Click150        151        #def click(sender, event):152        #    print "Clicked"153        # 154        # stack9155        #156        def initialize_stack(i, location, size, tabindex):157            self.stacks[i].Location = location158            self.stacks[i].Name = "stack%s" % (i+1)159            self.stacks[i].Size = size160            self.stacks[i].TabIndex = tabindex161            self.stacks[i].Text = '1500'162        initialize_stack(8, System.Drawing.Point(93, 309), 163                        System.Drawing.Size(111, 27), 54)164        initialize_stack(7 , System.Drawing.Point(93, 276),165                        System.Drawing.Size(111, 27), 52)166        initialize_stack(6, System.Drawing.Point(93, 243),167                        System.Drawing.Size(111, 27), 50)168        initialize_stack(5, System.Drawing.Point(93, 210),169                        System.Drawing.Size(111, 27), 48)170        initialize_stack(4, System.Drawing.Point(93, 177),171                        System.Drawing.Size(111, 27), 46)172        initialize_stack(3, System.Drawing.Point(93, 144),173                        System.Drawing.Size(111, 27), 44)174        initialize_stack(2, System.Drawing.Point(93, 111),175                        System.Drawing.Size(111, 27), 42)                              176        initialize_stack(1, System.Drawing.Point(93, 78),177                        System.Drawing.Size(111, 27), 40)178        initialize_stack(0, System.Drawing.Point(93, 45),179                        System.Drawing.Size(111, 27), 38)180        def initialize_player_label(i, location, size, tabindex):181            self._player_labels[i].AutoSize = True182            self._player_labels[i].Location = location183            self._player_labels[i].Name = "label_p%s" % (i+1)184            self._player_labels[i].Size = size185            self._player_labels[i].TabIndex = tabindex186            self._player_labels[i].Text = "Player %s" % (i+1)187        initialize_player_label(8, System.Drawing.Point(6, 312),188                                System.Drawing.Size(74, 18), 53)189        initialize_player_label(7, System.Drawing.Point(6, 279), 190                                System.Drawing.Size(74, 18), 51)191        initialize_player_label(6, System.Drawing.Point(6, 246),192                                System.Drawing.Size(74, 18), 49)193        initialize_player_label(5, System.Drawing.Point(6, 213),194                                System.Drawing.Size(74, 18), 47)195        initialize_player_label(4, System.Drawing.Point(6, 180),196                                System.Drawing.Size(74, 18), 45)197        initialize_player_label(3, System.Drawing.Point(6, 147),198                                System.Drawing.Size(74, 18), 43)199        initialize_player_label(2, System.Drawing.Point(6, 114),200                                System.Drawing.Size(74, 18), 41)201        initialize_player_label(1,  System.Drawing.Point(6, 81),202                                System.Drawing.Size(74, 18), 39)203        initialize_player_label(0, System.Drawing.Point(6, 48), 204                                System.Drawing.Size(74, 18), 37)205        # 206        # eq1207        # 208        # 209        # label_eq_header210        # 211        self._label_eq_header.AutoSize = True212        self._label_eq_header.Font = System.Drawing.Font('Verdana', 12.0, System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, 0)213        self._label_eq_header.Location = System.Drawing.Point(210, 9)214        self._label_eq_header.Name = 'label_eq_header'215        self._label_eq_header.Size = System.Drawing.Size(62, 18)216        self._label_eq_header.TabIndex = 59217        self._label_eq_header.Text = 'Equity'218        # 219        # label_player_header220        # 221        self._label_player_header.AutoSize = True222        self._label_player_header.Font = System.Drawing.Font('Verdana', 12.0, System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, 0)223        self._label_player_header.Location = System.Drawing.Point(6, 9)224        self._label_player_header.Name = 'label_player_header'225        self._label_player_header.Size = System.Drawing.Size(63, 18)226        self._label_player_header.TabIndex = 57227        self._label_player_header.Text = 'Player'228        # 229        # label_stack_header230        # 231        self._label_stack_header.AutoSize = True232        self._label_stack_header.Font = System.Drawing.Font('Verdana', 12.0, System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic, System.Drawing.GraphicsUnit.Point, 0)233        self._label_stack_header.Location = System.Drawing.Point(90, 9)234        self._label_stack_header.Name = 'label_stack_header'235        self._label_stack_header.Size = System.Drawing.Size(56, 18)236        self._label_stack_header.TabIndex = 60237        self._label_stack_header.Text = 'Stack'238        def initialize_equity(i, location, size, tabindex):239            self.equities[i].AutoSize = True240            self.equities[i].Location = location241            self.equities[i].Name = "eq%i" % (i+1)242            self.equities[i].Size = size243            self.equities[i].TabIndex = tabindex244            self.equities[i].Text = ''245            246        initialize_equity(0, System.Drawing.Point(210, 48),247                        System.Drawing.Size(38, 18), 56)248        initialize_equity(1, System.Drawing.Point(210, 81),249                        System.Drawing.Size(38, 18), 61)250        initialize_equity(2, System.Drawing.Point(210, 114),251                        System.Drawing.Size(38, 18), 62)252        initialize_equity(3, System.Drawing.Point(210, 147),253                        System.Drawing.Size(38, 18), 63)254        initialize_equity(4, System.Drawing.Point(210, 180), 255                        System.Drawing.Size(38, 18), 64)256        initialize_equity(5, System.Drawing.Point(210, 213), 257                        System.Drawing.Size(38, 18), 65)258        initialize_equity(6, System.Drawing.Point(210, 246),259                        System.Drawing.Size(38, 18), 66)260        initialize_equity(7, System.Drawing.Point(210, 279), 261                        System.Drawing.Size(38, 18), 67)262        initialize_equity(8, System.Drawing.Point(210, 312), 263                        System.Drawing.Size(38, 18), 68)264        # 265        # WebBrowser1266        # 267        self._WebBrowser1.Location = System.Drawing.Point(7, 7)268        self._WebBrowser1.Name = 'WebBrowser1'269        self._WebBrowser1.Size = System.Drawing.Size(266, 403)270        self._WebBrowser1.TabIndex = 0271        self._WebBrowser1.BackColor = Color.White272        #self._WebBrowser1.AllowNavigation = False273        self._WebBrowser1.AllowWebBrowserDrop = False274        self._WebBrowser1.IsWebBrowserContextMenuEnabled = False275        self._WebBrowser1.ScrollBarsEnabled = False276        self._WebBrowser1.DocumentText = open(Path.Combine(self.executableDirectory, 'about.html')).read()277        # 278        # labelpayouts[0]279        # 280        def initialize_payout_labels():281            texts = ['1st', '2nd', '3rd', '4th', '5th']282            locations = [(6, 24), (6, 59), (6, 94), (6, 131), (6, 164)]283            for i in range(5):284                self._payout_labels[i].AutoSize = True285                self._payout_labels[i].Location = System.Drawing.Point(locations[i][0], locations[i][1])286                self._payout_labels[i].Name = "label_payouts_%s" % (i+1)287                self._payout_labels[i].Size = System.Drawing.Size(34, 18)288                self._payout_labels[i].TabIndex = i289                self._payout_labels[i].Text = texts[i]290        initialize_payout_labels()291                292        def initialize_payouts():293            texts = ['0.5', '0.3', '0.2', '0.0', '0.0']294            locations = [(66, 21), (66, 56), (66, 91), (66, 128), (66, 161)]295            for i in range(5):296                self.payouts[i].Location = System.Drawing.Point(locations[i][0], locations[i][1])297                self.payouts[i].Name = "payout%s" % (i+1)298                self.payouts[i].Size = System.Drawing.Size(100, 27)299                self.payouts[i].TabIndex = 5 + i300                self.payouts[i].Text = texts[i]301        initialize_payouts()302        # 303        # SimpleICMView304        # 305        self.ClientSize = System.Drawing.Size(308, 467)306        self.Controls.Add(self._tab_control)307        self.Font = System.Drawing.Font('Verdana', 12.0, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, 0)308        self.Name = 'SimpleICMView'309        self.Text = 'SimpleICM'310        self._tab_control.ResumeLayout(False)311        self._tabs[0].ResumeLayout(False)312        self._tabs[0].PerformLayout()313        self.statusStrip.ResumeLayout(False)314        self.statusStrip.PerformLayout()315        self._tabs[1].ResumeLayout(False)316        self._tabs[1].PerformLayout()317        self._tabs[2].ResumeLayout(False)318        self.ResumeLayout(False)319    320    @accepts(Self(), System.Object, System.EventArgs)321    @returns(None)322    def _textBox6_TextChanged(self, sender, e):323        pass324if __name__ == '__main__':...android_project_list.py
Source:android_project_list.py  
1# python32# Copyright (C) 2019 The Android Open Source Project3#4# Licensed under the Apache License, Version 2.0 (the "License");5# you may not use this file except in compliance with the License.6# You may obtain a copy of the License at7#8#      http://www.apache.org/licenses/LICENSE-2.09#10# Unless required by applicable law or agreed to in writing, software11# distributed under the License is distributed on an "AS IS" BASIS,12# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.13# See the License for the specific language governing permissions and14# limitations under the License.15"""Define a project list to sort warnings by project directory path."""16def create_pattern(name, pattern=None):17  if pattern is not None:18    return [name, '(^|.*/)' + pattern + '/.*: warning:']19  return [name, '(^|.*/)' + name + '/.*: warning:']20# A list of [project_name, file_path_pattern].21# project_name should not contain comma, to be used in CSV output.22project_list = [23    create_pattern('art'),24    create_pattern('bionic'),25    create_pattern('bootable'),26    create_pattern('build'),27    create_pattern('cts'),28    create_pattern('dalvik'),29    create_pattern('developers'),30    create_pattern('development'),31    create_pattern('device'),32    create_pattern('doc'),33    # match external/google* before external/34    create_pattern('external/google', 'external/google.*'),35    create_pattern('external/non-google', 'external'),36    create_pattern('frameworks/av/camera'),37    create_pattern('frameworks/av/cmds'),38    create_pattern('frameworks/av/drm'),39    create_pattern('frameworks/av/include'),40    create_pattern('frameworks/av/media/img_utils'),41    create_pattern('frameworks/av/media/libcpustats'),42    create_pattern('frameworks/av/media/libeffects'),43    create_pattern('frameworks/av/media/libmediaplayerservice'),44    create_pattern('frameworks/av/media/libmedia'),45    create_pattern('frameworks/av/media/libstagefright'),46    create_pattern('frameworks/av/media/mtp'),47    create_pattern('frameworks/av/media/ndk'),48    create_pattern('frameworks/av/media/utils'),49    create_pattern('frameworks/av/media/Other', 'frameworks/av/media'),50    create_pattern('frameworks/av/radio'),51    create_pattern('frameworks/av/services'),52    create_pattern('frameworks/av/soundtrigger'),53    create_pattern('frameworks/av/Other', 'frameworks/av'),54    create_pattern('frameworks/base/cmds'),55    create_pattern('frameworks/base/core'),56    create_pattern('frameworks/base/drm'),57    create_pattern('frameworks/base/media'),58    create_pattern('frameworks/base/libs'),59    create_pattern('frameworks/base/native'),60    create_pattern('frameworks/base/packages'),61    create_pattern('frameworks/base/rs'),62    create_pattern('frameworks/base/services'),63    create_pattern('frameworks/base/tests'),64    create_pattern('frameworks/base/tools'),65    create_pattern('frameworks/base/Other', 'frameworks/base'),66    create_pattern('frameworks/compile/libbcc'),67    create_pattern('frameworks/compile/mclinker'),68    create_pattern('frameworks/compile/slang'),69    create_pattern('frameworks/compile/Other', 'frameworks/compile'),70    create_pattern('frameworks/minikin'),71    create_pattern('frameworks/ml'),72    create_pattern('frameworks/native/cmds'),73    create_pattern('frameworks/native/include'),74    create_pattern('frameworks/native/libs'),75    create_pattern('frameworks/native/opengl'),76    create_pattern('frameworks/native/services'),77    create_pattern('frameworks/native/vulkan'),78    create_pattern('frameworks/native/Other', 'frameworks/native'),79    create_pattern('frameworks/opt'),80    create_pattern('frameworks/rs'),81    create_pattern('frameworks/webview'),82    create_pattern('frameworks/wilhelm'),83    create_pattern('frameworks/Other', 'frameworks'),84    create_pattern('hardware/akm'),85    create_pattern('hardware/broadcom'),86    create_pattern('hardware/google'),87    create_pattern('hardware/intel'),88    create_pattern('hardware/interfaces'),89    create_pattern('hardware/libhardware'),90    create_pattern('hardware/libhardware_legacy'),91    create_pattern('hardware/qcom'),92    create_pattern('hardware/ril'),93    create_pattern('hardware/Other', 'hardware'),94    create_pattern('kernel'),95    create_pattern('libcore'),96    create_pattern('libnativehelper'),97    create_pattern('ndk'),98    # match vendor/unbungled_google/packages before other packages99    create_pattern('unbundled_google'),100    create_pattern('packages/providers/MediaProvider'),101    create_pattern('packages'),102    create_pattern('pdk'),103    create_pattern('prebuilts'),104    create_pattern('system/bt'),105    create_pattern('system/connectivity'),106    create_pattern('system/core/adb'),107    create_pattern('system/core/base'),108    create_pattern('system/core/debuggerd'),109    create_pattern('system/core/fastboot'),110    create_pattern('system/core/fingerprintd'),111    create_pattern('system/core/fs_mgr'),112    create_pattern('system/core/gatekeeperd'),113    create_pattern('system/core/healthd'),114    create_pattern('system/core/include'),115    create_pattern('system/core/init'),116    create_pattern('system/core/libbacktrace'),117    create_pattern('system/core/liblog'),118    create_pattern('system/core/libpixelflinger'),119    create_pattern('system/core/libprocessgroup'),120    create_pattern('system/core/libsysutils'),121    create_pattern('system/core/logcat'),122    create_pattern('system/core/logd'),123    create_pattern('system/core/run-as'),124    create_pattern('system/core/sdcard'),125    create_pattern('system/core/toolbox'),126    create_pattern('system/core/Other', 'system/core'),127    create_pattern('system/extras/ANRdaemon'),128    create_pattern('system/extras/cpustats'),129    create_pattern('system/extras/crypto-perf'),130    create_pattern('system/extras/ext4_utils'),131    create_pattern('system/extras/f2fs_utils'),132    create_pattern('system/extras/iotop'),133    create_pattern('system/extras/libfec'),134    create_pattern('system/extras/memory_replay'),135    create_pattern('system/extras/mmap-perf'),136    create_pattern('system/extras/multinetwork'),137    create_pattern('system/extras/perfprofd'),138    create_pattern('system/extras/procrank'),139    create_pattern('system/extras/runconuid'),140    create_pattern('system/extras/showmap'),141    create_pattern('system/extras/simpleperf'),142    create_pattern('system/extras/su'),143    create_pattern('system/extras/tests'),144    create_pattern('system/extras/verity'),145    create_pattern('system/extras/Other', 'system/extras'),146    create_pattern('system/gatekeeper'),147    create_pattern('system/keymaster'),148    create_pattern('system/libhidl'),149    create_pattern('system/libhwbinder'),150    create_pattern('system/media'),151    create_pattern('system/netd'),152    create_pattern('system/nvram'),153    create_pattern('system/security'),154    create_pattern('system/sepolicy'),155    create_pattern('system/tools'),156    create_pattern('system/update_engine'),157    create_pattern('system/vold'),158    create_pattern('system/Other', 'system'),159    create_pattern('toolchain'),160    create_pattern('test'),161    create_pattern('tools'),162    # match vendor/google* before vendor/163    create_pattern('vendor/google', 'vendor/google.*'),164    create_pattern('vendor/non-google', 'vendor'),165    # keep out/obj and other patterns at the end.166    [167        'out/obj', '.*/(gen|obj[^/]*)/(include|EXECUTABLES|SHARED_LIBRARIES|'168        'STATIC_LIBRARIES|NATIVE_TESTS)/.*: warning:'169    ],170    ['other', '.*']  # all other unrecognized patterns...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!!
