1
0
Fork 1
mirror of https://gitlab.postmarketos.org/postmarketOS/pmbootstrap.git synced 2025-07-13 19:39:51 +03:00
pmbootstrap/test/test_helpers_pmaports.py
BO41 944f539dd6
args.logfd: remove (MR 2114)
Replace "args.logfd" with "pmb.helpers.logging.logfd" in order to avoid
passing "args" to all functions that only use it to write to logfd. This
is the first step to get rid of this args-passed-to-all-functions
pattern in pmbootstrap.
2021-10-10 16:59:17 +02:00

52 lines
1.6 KiB
Python

# Copyright 2021 Oliver Smith
# SPDX-License-Identifier: GPL-3.0-or-later
import os
import pytest
import sys
import pmb_test # noqa
import pmb.build.other
@pytest.fixture
def args(request):
import pmb.parse
sys.argv = ["pmbootstrap", "init"]
args = pmb.parse.arguments()
args.log = args.work + "/log_testsuite.txt"
pmb.helpers.logging.init(args)
request.addfinalizer(pmb.helpers.logging.logfd.close)
return args
def test_guess_main(args, tmpdir):
# Fake pmaports folder
tmpdir = str(tmpdir)
args.aports = tmpdir
for aport in ["temp/qemu", "main/some-pkg"]:
os.makedirs(tmpdir + "/" + aport)
with open(tmpdir + "/" + aport + "/APKBUILD", 'w'):
pass
func = pmb.helpers.pmaports.guess_main
assert func(args, "qemu-x86_64") == tmpdir + "/temp/qemu"
assert func(args, "qemu-system-x86_64") == tmpdir + "/temp/qemu"
assert func(args, "some-pkg-sub-pkg") == tmpdir + "/main/some-pkg"
assert func(args, "qemuPackageWithoutDashes") is None
def test_guess_main_dev(args, tmpdir):
# Fake pmaports folder
tmpdir = str(tmpdir)
args.aports = tmpdir
os.makedirs(tmpdir + "/temp/plasma")
with open(tmpdir + "/temp/plasma/APKBUILD", 'w'):
pass
func = pmb.helpers.pmaports.guess_main_dev
assert func(args, "plasma-framework-dev") is None
assert func(args, "plasma-dev") == tmpdir + "/temp/plasma"
func = pmb.helpers.pmaports.guess_main
assert func(args, "plasma-framework-dev") is None
assert func(args, "plasma-randomsubpkg") == tmpdir + "/temp/plasma"