mirror of
https://github.com/miurahr/aqtinstall.git
synced 2025-12-17 04:34:37 +03:00
Add tests for sdktool: install-tool and list-tool
This commit is contained in:
@@ -79,6 +79,7 @@
|
||||
"tools_ifw",
|
||||
"tools_generic",
|
||||
"tools_conan",
|
||||
"tools_cmake"
|
||||
"tools_cmake",
|
||||
"sdktool"
|
||||
]
|
||||
}
|
||||
@@ -38,6 +38,7 @@
|
||||
<tr><td valign="top"> </td><td><a href="tools_generic/">tools_generic/</a></td><td align="right">13-Apr-2021 14:39 </td><td align="right"> - </td><td> </td></tr>
|
||||
<tr><td valign="top"> </td><td><a href="tools_conan/">tools_conan/</a></td><td align="right">15-Feb-2021 12:14 </td><td align="right"> - </td><td> </td></tr>
|
||||
<tr><td valign="top"> </td><td><a href="tools_cmake/">tools_cmake/</a></td><td align="right">07-Jan-2021 14:22 </td><td align="right"> - </td><td> </td></tr>
|
||||
<tr><td valign="top"> </td><td><a href="sdktool/">sdktool/</a></td><td align="right">05-May-2023 10:53 </td><td align="right"> - </td><td> </td></tr>
|
||||
<tr><td valign="top"> </td><td><a href="qt6_650_wasm_singlethread/">qt6_650_wasm_singlethread/</a></td><td align="right">01-Jan-2023 00:00 </td><td align="right"> - </td><td> </td></tr>
|
||||
<tr><td valign="top"> </td><td><a href="qt6_650_wasm_multithread/">qt6_650_wasm_multithread/</a></td><td align="right">01-Jan-2023 00:00 </td><td align="right"> - </td><td> </td></tr>
|
||||
<tr><td valign="top"> </td><td><a href="qt6_650_src_doc_examples/">qt6_650_src_doc_examples/</a></td><td align="right">01-Jan-2023 00:00 </td><td align="right"> - </td><td> </td></tr>
|
||||
|
||||
@@ -80,6 +80,7 @@
|
||||
"tools_ifw",
|
||||
"tools_generic",
|
||||
"tools_conan",
|
||||
"tools_cmake"
|
||||
"tools_cmake",
|
||||
"sdktool"
|
||||
]
|
||||
}
|
||||
14
tests/data/mac-desktop-sdktool-expect.json
Normal file
14
tests/data/mac-desktop-sdktool-expect.json
Normal file
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"modules": [
|
||||
"qt.tools.qtcreator"
|
||||
],
|
||||
"long_listing": [
|
||||
[
|
||||
"qt.tools.qtcreator",
|
||||
"10.0.1-0-202305050734",
|
||||
"2023-05-05",
|
||||
"SDKTool",
|
||||
"SDKTool"
|
||||
]
|
||||
]
|
||||
}
|
||||
20
tests/data/mac-desktop-sdktool-update.xml
Normal file
20
tests/data/mac-desktop-sdktool-update.xml
Normal file
@@ -0,0 +1,20 @@
|
||||
<Updates>
|
||||
<ApplicationName>{AnyApplication}</ApplicationName>
|
||||
<ApplicationVersion>1.0.0</ApplicationVersion>
|
||||
<Checksum>true</Checksum>
|
||||
<PackageUpdate>
|
||||
<Name>qt.tools.qtcreator</Name>
|
||||
<DisplayName>SDKTool</DisplayName>
|
||||
<Description>SDKTool</Description>
|
||||
<Version>10.0.1-0-202305050734</Version>
|
||||
<ReleaseDate>2023-05-05</ReleaseDate>
|
||||
<Script>installscript.qs</Script>
|
||||
<Virtual>true</Virtual>
|
||||
<ForcedInstallation>true</ForcedInstallation>
|
||||
<DownloadableArchives>qtcreator_sdktool.7z</DownloadableArchives>
|
||||
<UpdateFile CompressedSize="1821889" UncompressedSize="6058248" OS="Any"/>
|
||||
<SHA1>450d20347716f794124272a38d7cf46df9c50169</SHA1>
|
||||
</PackageUpdate>
|
||||
<SHA1>c6d6c9ff8b3c0a75f1bb1804eb4955a6409ac867</SHA1>
|
||||
<MetadataName>2023-05-05-0734_meta.7z</MetadataName>
|
||||
</Updates>
|
||||
@@ -38,6 +38,7 @@
|
||||
<tr><td valign="top"> </td><td><a href="tools_generic/">tools_generic/</a></td><td align="right">13-Apr-2021 14:39 </td><td align="right"> - </td><td> </td></tr>
|
||||
<tr><td valign="top"> </td><td><a href="tools_conan/">tools_conan/</a></td><td align="right">15-Feb-2021 12:15 </td><td align="right"> - </td><td> </td></tr>
|
||||
<tr><td valign="top"> </td><td><a href="tools_cmake/">tools_cmake/</a></td><td align="right">07-Jan-2021 14:22 </td><td align="right"> - </td><td> </td></tr>
|
||||
<tr><td valign="top"> </td><td><a href="sdktool/">sdktool/</a></td><td align="right">05-May-2023 10:53 </td><td align="right"> - </td><td> </td></tr>
|
||||
<tr><td valign="top"> </td><td><a href="qt6_650_wasm_singlethread/">qt6_650_wasm_singlethread/</a></td><td align="right">01-Jan-2023 00:00 </td><td align="right"> - </td><td> </td></tr>
|
||||
<tr><td valign="top"> </td><td><a href="qt6_650_wasm_multithread/">qt6_650_wasm_multithread/</a></td><td align="right">01-Jan-2023 00:00 </td><td align="right"> - </td><td> </td></tr>
|
||||
<tr><td valign="top"> </td><td><a href="qt6_650_src_doc_examples/">qt6_650_src_doc_examples/</a></td><td align="right">01-Jan-2023 00:00 </td><td align="right"> - </td><td> </td></tr>
|
||||
|
||||
@@ -91,6 +91,7 @@
|
||||
"tools_ifw",
|
||||
"tools_generic",
|
||||
"tools_conan",
|
||||
"tools_cmake"
|
||||
"tools_cmake",
|
||||
"sdktool"
|
||||
]
|
||||
}
|
||||
@@ -43,6 +43,7 @@
|
||||
<tr><td valign="top"> </td><td><a href="tools_generic/">tools_generic/</a></td><td align="right">13-Apr-2021 14:39 </td><td align="right"> - </td><td> </td></tr>
|
||||
<tr><td valign="top"> </td><td><a href="tools_conan/">tools_conan/</a></td><td align="right">15-Feb-2021 12:15 </td><td align="right"> - </td><td> </td></tr>
|
||||
<tr><td valign="top"> </td><td><a href="tools_cmake/">tools_cmake/</a></td><td align="right">07-Jan-2021 14:22 </td><td align="right"> - </td><td> </td></tr>
|
||||
<tr><td valign="top"> </td><td><a href="sdktool/">sdktool/</a></td><td align="right">05-May-2023 10:53 </td><td align="right"> - </td><td> </td></tr>
|
||||
<tr><td valign="top"> </td><td><a href="qt6_650_wasm_singlethread/">qt6_650_wasm_singlethread/</a></td><td align="right">01-Jan-2023 00:00 </td><td align="right"> - </td><td> </td></tr>
|
||||
<tr><td valign="top"> </td><td><a href="qt6_650_wasm_multithread/">qt6_650_wasm_multithread/</a></td><td align="right">01-Jan-2023 00:00 </td><td align="right"> - </td><td> </td></tr>
|
||||
<tr><td valign="top"> </td><td><a href="qt6_650_src_doc_examples/">qt6_650_src_doc_examples/</a></td><td align="right">01-Jan-2023 00:00 </td><td align="right"> - </td><td> </td></tr>
|
||||
|
||||
@@ -311,6 +311,23 @@ def tool_archive(host: str, tool_name: str, variant: str, date: datetime = datet
|
||||
r"INFO : Time elapsed: .* second"
|
||||
),
|
||||
),
|
||||
(
|
||||
"install-tool linux desktop sdktool qt.tools.qtcreator".split(),
|
||||
"linux",
|
||||
"desktop",
|
||||
"10.0.1-0-202305050734",
|
||||
{"std": ""},
|
||||
{"std": ""},
|
||||
{"std": "linux_x64/desktop/sdktool/Updates.xml"},
|
||||
{"std": [tool_archive("linux", "sdktool", "qt.tools.qtcreator")]},
|
||||
re.compile(
|
||||
r"^INFO : aqtinstall\(aqt\) v.* on Python 3.*\n"
|
||||
r"INFO : Downloading qt.tools.qtcreator...\n"
|
||||
r"Finished installation of sdktool-linux-qt.tools.qtcreator.7z in .*\n"
|
||||
r"INFO : Finished installation\n"
|
||||
r"INFO : Time elapsed: .* second"
|
||||
),
|
||||
),
|
||||
(
|
||||
"tool linux tools_qtcreator 1.2.3-0-197001020304 qt.tools.qtcreator".split(),
|
||||
"linux",
|
||||
|
||||
@@ -1066,7 +1066,13 @@ def fetch_expected_tooldata(json_filename: str) -> ToolData:
|
||||
return ToolData(tools)
|
||||
|
||||
|
||||
@pytest.mark.parametrize("host, target, tool_name", (("mac", "desktop", "tools_cmake"),))
|
||||
@pytest.mark.parametrize(
|
||||
"host, target, tool_name",
|
||||
(
|
||||
("mac", "desktop", "tools_cmake"),
|
||||
("mac", "desktop", "sdktool"),
|
||||
),
|
||||
)
|
||||
def test_list_tool_cli(monkeypatch, capsys, host: str, target: str, tool_name: str):
|
||||
html_file = f"{host}-{target}.html"
|
||||
xml_file = f"{host}-{target}-{tool_name}-update.xml"
|
||||
@@ -1084,7 +1090,7 @@ def test_list_tool_cli(monkeypatch, capsys, host: str, target: str, tool_name: s
|
||||
if not rest_of_url.endswith("Updates.xml"):
|
||||
return htmltext
|
||||
folder = urlparse(rest_of_url).path.split("/")[-2]
|
||||
assert folder.startswith("tools_")
|
||||
assert folder.startswith("tools_") or folder in ["sdktool"]
|
||||
return xmltext
|
||||
|
||||
monkeypatch.setattr(MetadataFactory, "fetch_http", _mock_fetch_http)
|
||||
@@ -1092,27 +1098,31 @@ def test_list_tool_cli(monkeypatch, capsys, host: str, target: str, tool_name: s
|
||||
cli = Cli()
|
||||
cli.run(["list-tool", host, target])
|
||||
out, err = capsys.readouterr()
|
||||
assert not err
|
||||
output_set = set(out.strip().split())
|
||||
assert output_set == expected_tools
|
||||
|
||||
cli.run(["list-tool", host, target, tool_name])
|
||||
out, err = capsys.readouterr()
|
||||
assert not err
|
||||
output_set = set(out.strip().split())
|
||||
assert output_set == expected_tool_modules
|
||||
|
||||
# Test abbreviated tool name: "aqt list-tool mac desktop ifw"
|
||||
assert tool_name.startswith("tools_")
|
||||
short_tool_name = tool_name[6:]
|
||||
assert tool_name.startswith("tools_") or tool_name in ["sdktool"]
|
||||
short_tool_name = tool_name[6:] if tool_name.startswith("tools_") else tool_name
|
||||
cli.run(["list-tool", host, target, short_tool_name])
|
||||
out, err = capsys.readouterr()
|
||||
assert not err
|
||||
output_set = set(out.strip().split())
|
||||
assert output_set == expected_tool_modules
|
||||
|
||||
cli.run(["list-tool", host, target, tool_name, "-l"])
|
||||
out, err = capsys.readouterr()
|
||||
assert not err
|
||||
|
||||
expected_tooldata = format(fetch_expected_tooldata(xml_expect))
|
||||
assert out.strip() == expected_tooldata
|
||||
assert out.strip() == expected_tooldata.strip()
|
||||
|
||||
|
||||
def test_fetch_http_ok(monkeypatch):
|
||||
|
||||
Reference in New Issue
Block a user