forked from Mirror/pmbootstrap
test: drop args from run (MR 2252)
Signed-off-by: Caleb Connolly <caleb@postmarketos.org>
This commit is contained in:
parent
05c86be11c
commit
52cf0e0fe3
14 changed files with 48 additions and 48 deletions
|
@ -37,7 +37,7 @@ def prepare_tmpdir(args: PmbArgs, monkeypatch, tmpdir):
|
|||
|
||||
def run_git(git_args, repo="local"):
|
||||
path = tmpdir + "/" + repo
|
||||
pmb.helpers.run.user(args, ["git"] + git_args, path, "stdout", output_return=True)
|
||||
pmb.helpers.run.user(["git"] + git_args, path, "stdout", output_return=True)
|
||||
|
||||
# Remote repos
|
||||
run_git(["init", "-b", "master", "."], "remote")
|
||||
|
|
|
@ -85,7 +85,7 @@ def test_aportgen(args: PmbArgs, tmpdir):
|
|||
os.mkdir(tmpdir + "/cross")
|
||||
|
||||
# Create aportgen folder -> code path where it still exists
|
||||
pmb.helpers.run.user(args, ["mkdir", "-p", pmb.config.work / "aportgen"])
|
||||
pmb.helpers.run.user(["mkdir", "-p", pmb.config.work / "aportgen"])
|
||||
|
||||
# Generate all valid packages (gcc twice -> different code path)
|
||||
pkgnames = ["musl-armv7",
|
||||
|
|
|
@ -32,14 +32,14 @@ def args(tmpdir, request):
|
|||
args.aports = tmpdir
|
||||
|
||||
# Copy the devicepkg-dev package (shared device-* APKBUILD code)
|
||||
pmb.helpers.run.user(args, ["mkdir", "-p", tmpdir + "/main"])
|
||||
pmb.helpers.run.user(["mkdir", "-p", tmpdir + "/main"])
|
||||
path_dev = args._aports_real + "/main/devicepkg-dev"
|
||||
pmb.helpers.run.user(args, ["cp", "-r", path_dev, tmpdir + "/main"])
|
||||
pmb.helpers.run.user(["cp", "-r", path_dev, tmpdir + "/main"])
|
||||
|
||||
# Copy the linux-lg-mako aport (we currently copy patches from there)
|
||||
pmb.helpers.run.user(args, ["mkdir", "-p", tmpdir + "/device/testing"])
|
||||
pmb.helpers.run.user(["mkdir", "-p", tmpdir + "/device/testing"])
|
||||
path_mako = args._aports_real + "/device/testing/linux-lg-mako"
|
||||
pmb.helpers.run.user(args, ["cp", "-r", path_mako,
|
||||
pmb.helpers.run.user(["cp", "-r", path_mako,
|
||||
f"{tmpdir}/device/testing"])
|
||||
|
||||
# Copy pmaports.cfg
|
||||
|
|
|
@ -360,7 +360,7 @@ def test_build_depends_high_level(args: PmbArgs, monkeypatch):
|
|||
pmb.build.package(args, "hello-world-wrapper")
|
||||
|
||||
# Remove hello-world
|
||||
pmb.helpers.run.root(args, ["rm", output_hello_outside])
|
||||
pmb.helpers.run.root(["rm", output_hello_outside])
|
||||
pmb.build.index_repo(args, pmb.config.arch_native)
|
||||
pmb.helpers.other.cache["built"] = {}
|
||||
|
||||
|
@ -408,8 +408,8 @@ def test_build_local_source_high_level(args: PmbArgs, tmpdir):
|
|||
# src: Create unreadable file (rsync should skip it)
|
||||
unreadable = src + "/_unreadable_file"
|
||||
shutil.copy(args.aports + "/main/hello-world/main.c", unreadable)
|
||||
pmb.helpers.run.root(args, ["chown", "root:root", unreadable])
|
||||
pmb.helpers.run.root(args, ["chmod", "500", unreadable])
|
||||
pmb.helpers.run.root(["chown", "root:root", unreadable])
|
||||
pmb.helpers.run.root(["chmod", "500", unreadable])
|
||||
|
||||
# Test native arch and foreign arch chroot
|
||||
channel = pmb.config.pmaports.read_config(args)["channel"]
|
||||
|
@ -420,22 +420,22 @@ def test_build_local_source_high_level(args: PmbArgs, tmpdir):
|
|||
# Delete all hello-world --src packages
|
||||
pattern = f"{args.work}/packages/{channel}/{arch}/hello-world-*_p*.apk"
|
||||
for path in glob.glob(pattern):
|
||||
pmb.helpers.run.root(args, ["rm", path])
|
||||
pmb.helpers.run.root(["rm", path])
|
||||
assert len(glob.glob(pattern)) == 0
|
||||
|
||||
# Build hello-world --src package
|
||||
pmb.helpers.run.user(args, [pmb.config.pmb_src + "/pmbootstrap.py",
|
||||
pmb.helpers.run.user([pmb.config.pmb_src + "/pmbootstrap.py",
|
||||
"--aports", aports, "build", "--src", src,
|
||||
"hello-world", "--arch", arch])
|
||||
|
||||
# Verify that the package has been built and delete it
|
||||
paths = glob.glob(pattern)
|
||||
assert len(paths) == 1
|
||||
pmb.helpers.run.root(args, ["rm", paths[0]])
|
||||
pmb.helpers.run.root(["rm", paths[0]])
|
||||
|
||||
# Clean up: update index, delete temp folder
|
||||
pmb.build.index_repo(args, pmb.config.arch_native)
|
||||
pmb.helpers.run.root(args, ["rm", "-r", tmpdir])
|
||||
pmb.helpers.run.root(["rm", "-r", tmpdir])
|
||||
|
||||
|
||||
def test_build_abuild_leftovers(args: PmbArgs, tmpdir):
|
||||
|
@ -471,19 +471,19 @@ def test_build_abuild_leftovers(args: PmbArgs, tmpdir):
|
|||
channel = pmb.config.pmaports.read_config(args)["channel"]
|
||||
pattern = f"{args.work}/packages/{channel}/*/hello-world-*_p*.apk"
|
||||
for path in glob.glob(pattern):
|
||||
pmb.helpers.run.root(args, ["rm", path])
|
||||
pmb.helpers.run.root(["rm", path])
|
||||
assert len(glob.glob(pattern)) == 0
|
||||
|
||||
# Build hello-world package
|
||||
pmb.helpers.run.user(args, [f"{pmb.config.pmb_src}/pmbootstrap.py",
|
||||
pmb.helpers.run.user([f"{pmb.config.pmb_src}/pmbootstrap.py",
|
||||
"--aports", aports, "build", "--src", src,
|
||||
"hello-world", "--arch", pmb.config.arch_native])
|
||||
|
||||
# Verify that the package has been built and delete it
|
||||
paths = glob.glob(pattern)
|
||||
assert len(paths) == 1
|
||||
pmb.helpers.run.root(args, ["rm", paths[0]])
|
||||
pmb.helpers.run.root(["rm", paths[0]])
|
||||
|
||||
# Clean up: update index, delete temp folder
|
||||
pmb.build.index_repo(args, pmb.config.arch_native)
|
||||
pmb.helpers.run.root(args, ["rm", "-r", tmpdir])
|
||||
pmb.helpers.run.root(["rm", "-r", tmpdir])
|
||||
|
|
|
@ -47,7 +47,7 @@ def test_config_user(args: PmbArgs, tmpdir, monkeypatch):
|
|||
"-w", path_work,
|
||||
"--aports", args.aports,
|
||||
"init"])
|
||||
pmb.helpers.run.user(args, ["sh", "-c", "yes '' | " + cmd],
|
||||
pmb.helpers.run.user(["sh", "-c", "yes '' | " + cmd],
|
||||
pmb.config.pmb_src)
|
||||
|
||||
# Load and verify default config
|
||||
|
|
|
@ -26,7 +26,7 @@ def args(request):
|
|||
def test_file_is_older_than(args: PmbArgs, tmpdir):
|
||||
# Create a file last modified 10s ago
|
||||
tempfile = str(tmpdir) + "/test"
|
||||
pmb.helpers.run.user(args, ["touch", tempfile])
|
||||
pmb.helpers.run.user(["touch", tempfile])
|
||||
past = time.time() - 10
|
||||
os.utime(tempfile, (-1, past))
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ def test_get_folder_size(args: PmbArgs, tmpdir):
|
|||
tmpdir = str(tmpdir)
|
||||
files = 5
|
||||
for i in range(files):
|
||||
pmb.helpers.run.user(args, ["dd", "if=/dev/zero", "of=" +
|
||||
pmb.helpers.run.user(["dd", "if=/dev/zero", "of=" +
|
||||
tmpdir + "/" + str(i), "bs=1K",
|
||||
"count=200", "conv=notrunc"])
|
||||
|
||||
|
|
|
@ -41,7 +41,7 @@ def test_can_fast_forward(args: PmbArgs, tmpdir):
|
|||
branch_origin = "fake-branch-origin"
|
||||
|
||||
def run_git(git_args):
|
||||
pmb.helpers.run.user(args, ["git"] + git_args, tmpdir, "stdout")
|
||||
pmb.helpers.run.user(["git"] + git_args, tmpdir, "stdout")
|
||||
|
||||
# Create test git repo
|
||||
run_git(["init", "-b", "master", "."])
|
||||
|
@ -68,14 +68,14 @@ def test_clean_worktree(args: PmbArgs, tmpdir):
|
|||
func = pmb.helpers.git.clean_worktree
|
||||
|
||||
def run_git(git_args):
|
||||
pmb.helpers.run.user(args, ["git"] + git_args, tmpdir, "stdout")
|
||||
pmb.helpers.run.user(["git"] + git_args, tmpdir, "stdout")
|
||||
|
||||
# Create test git repo
|
||||
run_git(["init", "-b", "master", "."])
|
||||
run_git(["commit", "--allow-empty", "-m", "commit on master"])
|
||||
|
||||
assert func(args, tmpdir) is True
|
||||
pmb.helpers.run.user(args, ["touch", "test"], tmpdir)
|
||||
pmb.helpers.run.user(["touch", "test"], tmpdir)
|
||||
assert func(args, tmpdir) is False
|
||||
|
||||
|
||||
|
@ -95,7 +95,7 @@ def test_get_upstream_remote(args: PmbArgs, monkeypatch, tmpdir):
|
|||
monkeypatch.setattr(pmb.config, "git_repos", git_repos)
|
||||
|
||||
def run_git(git_args):
|
||||
pmb.helpers.run.user(args, ["git"] + git_args, tmpdir, "stdout")
|
||||
pmb.helpers.run.user(["git"] + git_args, tmpdir, "stdout")
|
||||
|
||||
# Create git repo
|
||||
run_git(["init", "-b", "master", "."])
|
||||
|
|
|
@ -36,7 +36,7 @@ def test_pmbootstrap_lint(args: PmbArgs, tmpdir):
|
|||
assert pmb.helpers.lint.check(args, ["hello-world"]) == ""
|
||||
|
||||
# Change "pmb:cross-native" to non-existing "pmb:invalid-opt"
|
||||
pmb.helpers.run.user(args, ["sed", "s/pmb:cross-native/pmb:invalid-opt/g",
|
||||
pmb.helpers.run.user(["sed", "s/pmb:cross-native/pmb:invalid-opt/g",
|
||||
"-i", apkbuild_tmp])
|
||||
|
||||
# Lint error
|
||||
|
|
|
@ -212,7 +212,7 @@ def test_parse_invalid_path():
|
|||
def test_parse_cached(args: PmbArgs, tmpdir):
|
||||
# Create a real file (cache looks at the last modified date)
|
||||
path = str(tmpdir) + "/APKINDEX"
|
||||
pmb.helpers.run.user(args, ["touch", path])
|
||||
pmb.helpers.run.user(["touch", path])
|
||||
lastmod = os.path.getmtime(path)
|
||||
|
||||
# Fill the cache
|
||||
|
@ -297,7 +297,7 @@ def test_parse_virtual():
|
|||
def test_providers_invalid_package(args: PmbArgs, tmpdir):
|
||||
# Create empty APKINDEX
|
||||
path = str(tmpdir) + "/APKINDEX"
|
||||
pmb.helpers.run.user(args, ["touch", path])
|
||||
pmb.helpers.run.user(["touch", path])
|
||||
|
||||
# Test with must_exist=False
|
||||
func = pmb.parse.apkindex.providers
|
||||
|
|
|
@ -43,7 +43,7 @@ def pmbootstrap(args: PmbArgs, tmpdir, parameters, zero_exit=True):
|
|||
pmb_test.git.copy_dotgit(args, aports)
|
||||
|
||||
try:
|
||||
pmb.helpers.run.user(args, ["./pmbootstrap.py", "--work=" + tmpdir,
|
||||
pmb.helpers.run.user(["./pmbootstrap.py", "--work=" + tmpdir,
|
||||
"--mirror-pmOS=", "--aports=" + aports,
|
||||
"--config=" + config] + parameters,
|
||||
working_dir=pmb.config.pmb_src)
|
||||
|
@ -68,40 +68,40 @@ def setup_work(args: PmbArgs, tmpdir):
|
|||
# We do this before creating the fake work folder, because then all
|
||||
# packages are still present.
|
||||
os.chdir(pmb.config.pmb_src)
|
||||
pmb.helpers.run.user(args, ["./pmbootstrap.py", "-y", "zap"])
|
||||
pmb.helpers.run.user(args, ["./pmbootstrap.py", "build_init"])
|
||||
pmb.helpers.run.user(args, ["./pmbootstrap.py", "shutdown"])
|
||||
pmb.helpers.run.user(["./pmbootstrap.py", "-y", "zap"])
|
||||
pmb.helpers.run.user(["./pmbootstrap.py", "build_init"])
|
||||
pmb.helpers.run.user(["./pmbootstrap.py", "shutdown"])
|
||||
|
||||
# Link everything from work (except for "packages") to the tmpdir
|
||||
for path in pmb.config.work.glob("*"):
|
||||
if os.path.basename(path) != "packages":
|
||||
pmb.helpers.run.user(args, ["ln", "-s", path, tmpdir + "/"])
|
||||
pmb.helpers.run.user(["ln", "-s", path, tmpdir + "/"])
|
||||
|
||||
# Copy testdata and selected device aport
|
||||
for folder in ["device/testing", "main"]:
|
||||
pmb.helpers.run.user(args, ["mkdir", "-p", args.aports, tmpdir +
|
||||
pmb.helpers.run.user(["mkdir", "-p", args.aports, tmpdir +
|
||||
"/_aports/" + folder])
|
||||
path_original = pmb.helpers.pmaports.find(args, f"device-{args.device}")
|
||||
pmb.helpers.run.user(args, ["cp", "-r", path_original,
|
||||
pmb.helpers.run.user(["cp", "-r", path_original,
|
||||
f"{tmpdir}/_aports/device/testing"])
|
||||
for pkgname in ["testlib", "testapp", "testsubpkg"]:
|
||||
pmb.helpers.run.user(args, ["cp", "-r",
|
||||
pmb.helpers.run.user(["cp", "-r",
|
||||
"test/testdata/pkgrel_bump/aports/"
|
||||
f"{pkgname}",
|
||||
f"{tmpdir}/_aports/main/{pkgname}"])
|
||||
|
||||
# Copy pmaports.cfg
|
||||
pmb.helpers.run.user(args, ["cp", args.aports / "pmaports.cfg", tmpdir +
|
||||
pmb.helpers.run.user(["cp", args.aports / "pmaports.cfg", tmpdir +
|
||||
"/_aports"])
|
||||
|
||||
# Empty packages folder
|
||||
channel = pmb.config.pmaports.read_config(args)["channel"]
|
||||
packages_path = f"{tmpdir}/packages/{channel}"
|
||||
pmb.helpers.run.user(args, ["mkdir", "-p", packages_path])
|
||||
pmb.helpers.run.user(args, ["chmod", "777", packages_path])
|
||||
pmb.helpers.run.user(["mkdir", "-p", packages_path])
|
||||
pmb.helpers.run.user(["chmod", "777", packages_path])
|
||||
|
||||
# Copy over the pmbootstrap config
|
||||
pmb.helpers.run.user(args, ["cp", args.config, tmpdir +
|
||||
pmb.helpers.run.user(["cp", args.config, tmpdir +
|
||||
"/_pmbootstrap.cfg"])
|
||||
|
||||
|
||||
|
@ -148,7 +148,7 @@ def test_pkgrel_bump_high_level(args: PmbArgs, tmpdir):
|
|||
channel = pmb.config.pmaports.read_config(args)["channel"]
|
||||
arch = pmb.config.arch_native
|
||||
apk_path = f"{tmpdir}/packages/{channel}/{arch}/testlib-1.0-r0.apk"
|
||||
pmb.helpers.run.root(args, ["rm", apk_path])
|
||||
pmb.helpers.run.root(["rm", apk_path])
|
||||
pmbootstrap(args, tmpdir, ["index"])
|
||||
pmbootstrap(args, tmpdir, ["pkgrel_bump", "--dry", "--auto"], False)
|
||||
verify_pkgrels(tmpdir, 1, 0, 0)
|
||||
|
@ -169,4 +169,4 @@ def test_pkgrel_bump_high_level(args: PmbArgs, tmpdir):
|
|||
|
||||
# Clean up
|
||||
pmbootstrap(args, tmpdir, ["shutdown"])
|
||||
pmb.helpers.run.root(args, ["rm", "-rf", tmpdir])
|
||||
pmb.helpers.run.root(["rm", "-rf", tmpdir])
|
||||
|
|
|
@ -42,7 +42,7 @@ def ssh_create_askpass_script(args: PmbArgs):
|
|||
|
||||
def pmbootstrap_run(args: PmbArgs, config, parameters, output="log"):
|
||||
"""Execute pmbootstrap.py with a test pmbootstrap.conf."""
|
||||
return pmb.helpers.run.user(args, ["./pmbootstrap.py", "-c", config] +
|
||||
return pmb.helpers.run.user(["./pmbootstrap.py", "-c", config] +
|
||||
parameters, working_dir=pmb.config.pmb_src,
|
||||
output=output)
|
||||
|
||||
|
@ -59,7 +59,7 @@ def pmbootstrap_yes(args: PmbArgs, config, parameters):
|
|||
shlex.quote(config))
|
||||
for parameter in parameters:
|
||||
command += " " + shlex.quote(parameter)
|
||||
return pmb.helpers.run.user(args, ["/bin/sh", "-c", command],
|
||||
return pmb.helpers.run.user(["/bin/sh", "-c", command],
|
||||
working_dir=pmb.config.pmb_src)
|
||||
|
||||
|
||||
|
|
|
@ -162,10 +162,10 @@ def test_core(args: PmbArgs, monkeypatch):
|
|||
|
||||
@pytest.mark.skip_ci
|
||||
def test_sudo_timer(args: PmbArgs):
|
||||
pmb.helpers.run.root(args, ["whoami"])
|
||||
pmb.helpers.run.root(["whoami"])
|
||||
|
||||
time.sleep(300)
|
||||
|
||||
out = pmb.helpers.run.root(args, ["whoami"])
|
||||
out = pmb.helpers.run.root(["whoami"])
|
||||
|
||||
assert out == 0
|
||||
|
|
|
@ -33,16 +33,16 @@ def test_shell_escape(args: PmbArgs):
|
|||
"hello world\n": ["printf", "%s world\n", "hello"]}
|
||||
for expected, cmd in cmds.items():
|
||||
copy = list(cmd)
|
||||
core = pmb.helpers.run_core.core(args, str(cmd), cmd,
|
||||
core = pmb.helpers.run_core.core(str(cmd), cmd,
|
||||
output_return=True)
|
||||
assert expected == core
|
||||
assert cmd == copy
|
||||
|
||||
user = pmb.helpers.run.user(args, cmd, output_return=True)
|
||||
user = pmb.helpers.run.user(cmd, output_return=True)
|
||||
assert expected == user
|
||||
assert cmd == copy
|
||||
|
||||
root = pmb.helpers.run.root(args, cmd, output_return=True)
|
||||
root = pmb.helpers.run.root(cmd, output_return=True)
|
||||
assert expected == root
|
||||
assert cmd == copy
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue