forked from Mirror/pmbootstrap
commands: add pmbootstrap test (MR 2252)
This is to serve as a place to dump useful internal tests, starting with one that simply parses all available APKINDEX files. Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
This commit is contained in:
parent
efce73df2f
commit
62d700c3d8
4 changed files with 46 additions and 0 deletions
35
pmb/commands/test.py
Normal file
35
pmb/commands/test.py
Normal file
|
@ -0,0 +1,35 @@
|
|||
# Copyright 2024 Caleb Connolly
|
||||
# SPDX-License-Identifier: GPL-3.0-or-later
|
||||
|
||||
from __future__ import annotations
|
||||
from typing import Any, Dict, List
|
||||
from pmb import commands, logging
|
||||
import pmb.helpers.repo
|
||||
import pmb.parse.apkindex
|
||||
from pmb.core.arch import Arch
|
||||
import time
|
||||
|
||||
|
||||
"""Various internal test commands for performance testing and debugging."""
|
||||
|
||||
def apkindex_parse_all():
|
||||
indexes = pmb.helpers.repo.apkindex_files(Arch.native())
|
||||
|
||||
pkgs = 0
|
||||
indxs = len(indexes)
|
||||
start = time.time()
|
||||
for index in indexes:
|
||||
ret = pmb.parse.apkindex.parse(index)
|
||||
pkgs += len(ret)
|
||||
end = time.time()
|
||||
logging.info(f"Parsed {pkgs} packages from {indxs} APKINDEX files in {end - start:.3f} seconds")
|
||||
|
||||
|
||||
class Test(commands.Command):
|
||||
def __init__(self, action: str):
|
||||
self.action = action
|
||||
|
||||
def run(self):
|
||||
if self.action == "apkindex_parse_all":
|
||||
apkindex_parse_all()
|
||||
|
Loading…
Add table
Add a link
Reference in a new issue