mirror of
https://github.com/miurahr/aqtinstall.git
synced 2025-12-18 05:04:38 +03:00
Add support for commercial versions of Qt (#878)
* Add install-qt-commercial feature and tests * Make the auto-answers parameters, fix linter issues * Fork and execv instead of using subprocess * Return to simpler process execution method version * Fix test * Move commercial installer into its own file * Fix shadowing of symbol platform causing errors * Adapt test_cli for argparse format changes on py 3.13+ * Fix some errors, monkeypatch install test * Add --override super command * Properly handle --override and grab all the remaining commands when no quotes are given * Fix tests * Add base for modules, some niche features are not yet entirely implemented, and there are no updates to the testsuite * Fix some mistakes * Fix errors made with the monkeypatch, update Settings to make sure its init * Tests commercial (#20) * Full support of installation of all modules and addons * Add auto setup of cache folder for each OS, add unattended parameter * Fix settings folders * Add graceful error message for overwrite case * Fix windows issue * Hidden summon works * Remove both subprocess direct calls * Dipose of temp folder * Fix path issue * Add list-qt-commercial command * Fix help info * Make no params valid for list-qt-commercial * Fix lint errors, and param overflow when no args are passed to list * Fix search * Add tests for coverage, fix lint * Test for overwriting, and for cache usage coverage * Return to clean exec, ignoring CI fail to preserve code clarity * Fix parsing of subprocess.run output for some python versions * Make output more readable in console for list-qt-commercial * Forward email and password to list request for users without a qtaccount.ini * Change default settings * Fix lint errors * Fix check error
This commit is contained in:
committed by
GitHub
parent
7917b2d725
commit
cbe159f38a
@@ -1,3 +1,4 @@
|
||||
import platform
|
||||
import re
|
||||
import sys
|
||||
from pathlib import Path
|
||||
@@ -15,8 +16,9 @@ from aqt.metadata import MetadataFactory, SimpleSpec, Version
|
||||
def expected_help(actual, prefix=None):
|
||||
expected = (
|
||||
"usage: aqt [-h] [-c CONFIG]\n"
|
||||
" {install-qt,install-tool,install-doc,install-example,install-src,"
|
||||
"list-qt,list-tool,list-doc,list-example,list-src,help,version}\n"
|
||||
" {install-qt,install-tool,install-qt-commercial,install-doc,install-example,"
|
||||
"install-src,"
|
||||
"list-qt,list-qt-commercial,list-tool,list-doc,list-example,list-src,help,version}\n"
|
||||
" ...\n"
|
||||
"\n"
|
||||
"Another unofficial Qt Installer.\n"
|
||||
@@ -32,7 +34,8 @@ def expected_help(actual, prefix=None):
|
||||
" install-* subcommands are commands that install components\n"
|
||||
" list-* subcommands are commands that show available components\n"
|
||||
"\n"
|
||||
" {install-qt,install-tool,install-doc,install-example,install-src,list-qt,"
|
||||
" {install-qt,install-tool,install-qt-commercial,install-doc,install-example,"
|
||||
"install-src,list-qt,list-qt-commercial,"
|
||||
"list-tool,list-doc,list-example,list-src,help,version}\n"
|
||||
" Please refer to each help message by using '--help' "
|
||||
"with each subcommand\n",
|
||||
@@ -520,3 +523,29 @@ def test_get_autodesktop_dir_and_arch_non_android(
|
||||
), "Expected autodesktop install message."
|
||||
elif expect["instruct"]:
|
||||
assert any("You can install" in line for line in err_lines), "Expected install instruction message."
|
||||
|
||||
|
||||
@pytest.mark.parametrize(
|
||||
"cmd, expected_arch, expected_err",
|
||||
[
|
||||
pytest.param(
|
||||
"install-qt-commercial desktop {} 6.8.0",
|
||||
{"windows": "win64_msvc2022_64", "linux": "linux_gcc_64", "mac": "clang_64"},
|
||||
"No Qt account credentials found. Either provide --user and --password or",
|
||||
),
|
||||
],
|
||||
)
|
||||
def test_cli_login_qt_commercial(capsys, monkeypatch, cmd, expected_arch, expected_err):
|
||||
"""Test commercial Qt installation command"""
|
||||
# Detect current platform
|
||||
current_platform = platform.system().lower()
|
||||
arch = expected_arch[current_platform]
|
||||
cmd = cmd.format(arch)
|
||||
|
||||
cli = Cli()
|
||||
cli._setup_settings()
|
||||
result = cli.run(cmd.split())
|
||||
|
||||
_, err = capsys.readouterr()
|
||||
assert str(err).find(expected_err)
|
||||
assert not result == 0
|
||||
|
||||
Reference in New Issue
Block a user