Skip to content

Commit

Permalink
fixed lint issues as well as removed two files I committed by mistake
Browse files Browse the repository at this point in the history
  • Loading branch information
MarcLeclair committed May 20, 2024
1 parent 6513ab6 commit 5fd8af8
Show file tree
Hide file tree
Showing 4 changed files with 40 additions and 196 deletions.
87 changes: 0 additions & 87 deletions battery_test/adb_browsing.py

This file was deleted.

80 changes: 0 additions & 80 deletions battery_test/adb_navigation.py

This file was deleted.

28 changes: 23 additions & 5 deletions battery_test/battery_test.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,24 @@
import queue
import signal


def run_adb_command(command, serialID=None):
if serialID is None:
print(command)
return subprocess.check_output(["adb", "shell"] + command.split(), text=True)
return subprocess.check_output(["adb", "-s", serialID, "shell"] + command.split(), text=True)


def start_app(package, activity, serialID=None):
run_adb_command(f"am start -n {package}/{activity}", serialID)


def start_browsertime_command(command):
print("Running command:", command)
process = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE, shell=True, text=True)
return process


def stream_output(process, stream_name, log_queue):
while True:
output = getattr(process, stream_name).readline()
Expand All @@ -34,12 +38,14 @@ def stream_output(process, stream_name, log_queue):
if stream_name == 'stdout' and "Starting: Intent" in output:
log_queue.put(True)


def get_battery_status(serialID=None):
battery_info = run_adb_command("dumpsys battery", serialID)
battery_level = re.search(r"level: (\d+)", battery_info).group(1)
current_charge = run_adb_command("cat /sys/class/power_supply/battery/charge_counter", serialID)
return battery_level, current_charge


def capture_processes(serialID=None):
process_output = run_adb_command("top -b -n 1 | grep -E '^[0-9]'", serialID)
processes = {}
Expand All @@ -49,13 +55,15 @@ def capture_processes(serialID=None):
processes[parts[0]] = (parts[11], parts[8], parts[10])
return processes


def compare_and_log_changes(old_snapshot, new_snapshot):
changes = []
for pid, data in new_snapshot.items():
if pid in old_snapshot and (old_snapshot[pid][1] != data[1] or old_snapshot[pid][2] != data[2]):
changes.append(f"Name: {data[0]} | CPU%: {data[1]} | Time: {data[2]}")
return changes


def get_component_names(components, serialID=None):
thermalservice_output = run_adb_command("dumpsys thermalservice", serialID)
pattern = re.compile(r"\{\.type = (\w+), \.name = (\w+),")
Expand All @@ -69,6 +77,7 @@ def get_component_names(components, serialID=None):
types[comp_type].append(name)
return types


def fetch_temperatures(component_names, serialID=None):
temperatures = {}
thermalservice_output = run_adb_command("dumpsys thermalservice", serialID)
Expand All @@ -82,6 +91,7 @@ def fetch_temperatures(component_names, serialID=None):
temperatures[name] = float(temp_match.group(1))
return temperatures


def signal_handler(sig, frame):
print('SIGINT received. Exiting...')
# Perform any necessary cleanup actions here (e.g., close files, save data)
Expand All @@ -101,15 +111,14 @@ def main(directory, filename, package, activity, duration, components, serialID,
browsertime_cmd = (
"browsertime "
"-b firefox --android "
f"--firefox.geckodriverPath {os.path.expanduser('~/Repositories/mozilla-unified/target/debug/geckodriver')} "
f"--firefox.geckodriverPath {os.path.expanduser('~/Repositories/mozilla-unified/target/debug/geckodriver')}"
"--firefox.android.package org.mozilla.firefox "
"--firefox.android.activity org.mozilla.fenix.IntentReceiverActivity "
"--firefox.geckodriverArgs=\"--android-storage\" "
"--firefox.geckodriverArgs=\"sdcard\" "
"test.mjs "
"-n 1 --maxLoadTime 60000 -vvv "
"--pageCompleteCheck 'return true;'"
)
"--pageCompleteCheck 'return true;'")
browsertime_process = start_browsertime_command(browsertime_cmd)

threading.Thread(target=stream_output, args=(browsertime_process, 'stdout', log_queue)).start()
Expand Down Expand Up @@ -171,6 +180,7 @@ def main(directory, filename, package, activity, duration, components, serialID,
if browsertime_process is not None:
browsertime_process.kill()


if __name__ == "__main__":
signal.signal(signal.SIGINT, signal_handler)
parser = argparse.ArgumentParser(description='Process some integers.')
Expand All @@ -188,9 +198,17 @@ def main(directory, filename, package, activity, duration, components, serialID,

parser.add_argument('duration_seconds', type=int, help='Duration in seconds')
parser.add_argument('--serialID', type=str, help='Optional serial ID', default=None)
parser.add_argument('--start_method', type=str, choices=['browsertime', 'manual','adb'], default='browsertime', help='Method to start the app')
parser.add_argument(
'--start_method',
type=str,
choices=[
'browsertime',
'manual',
'adb'],
default='browsertime',
help='Method to start the app')

args = parser.parse_args()

main(args.output_directory, args.output_filename, args.package_name, args.activity_name,
args.duration_seconds, args.components, args.serialID, args.start_method)
args.duration_seconds, args.components, args.serialID, args.start_method)
Loading

0 comments on commit 5fd8af8

Please sign in to comment.