mirror of
https://github.com/miurahr/aqtinstall.git
synced 2025-12-17 20:54:38 +03:00
Add tests for sdktool: install-tool and list-tool
This commit is contained in:
@@ -79,6 +79,7 @@
|
|||||||
"tools_ifw",
|
"tools_ifw",
|
||||||
"tools_generic",
|
"tools_generic",
|
||||||
"tools_conan",
|
"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_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_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="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_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_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>
|
<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_ifw",
|
||||||
"tools_generic",
|
"tools_generic",
|
||||||
"tools_conan",
|
"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_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_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="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_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_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>
|
<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_ifw",
|
||||||
"tools_generic",
|
"tools_generic",
|
||||||
"tools_conan",
|
"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_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_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="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_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_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>
|
<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"
|
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(),
|
"tool linux tools_qtcreator 1.2.3-0-197001020304 qt.tools.qtcreator".split(),
|
||||||
"linux",
|
"linux",
|
||||||
|
|||||||
@@ -1066,7 +1066,13 @@ def fetch_expected_tooldata(json_filename: str) -> ToolData:
|
|||||||
return ToolData(tools)
|
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):
|
def test_list_tool_cli(monkeypatch, capsys, host: str, target: str, tool_name: str):
|
||||||
html_file = f"{host}-{target}.html"
|
html_file = f"{host}-{target}.html"
|
||||||
xml_file = f"{host}-{target}-{tool_name}-update.xml"
|
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"):
|
if not rest_of_url.endswith("Updates.xml"):
|
||||||
return htmltext
|
return htmltext
|
||||||
folder = urlparse(rest_of_url).path.split("/")[-2]
|
folder = urlparse(rest_of_url).path.split("/")[-2]
|
||||||
assert folder.startswith("tools_")
|
assert folder.startswith("tools_") or folder in ["sdktool"]
|
||||||
return xmltext
|
return xmltext
|
||||||
|
|
||||||
monkeypatch.setattr(MetadataFactory, "fetch_http", _mock_fetch_http)
|
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 = Cli()
|
||||||
cli.run(["list-tool", host, target])
|
cli.run(["list-tool", host, target])
|
||||||
out, err = capsys.readouterr()
|
out, err = capsys.readouterr()
|
||||||
|
assert not err
|
||||||
output_set = set(out.strip().split())
|
output_set = set(out.strip().split())
|
||||||
assert output_set == expected_tools
|
assert output_set == expected_tools
|
||||||
|
|
||||||
cli.run(["list-tool", host, target, tool_name])
|
cli.run(["list-tool", host, target, tool_name])
|
||||||
out, err = capsys.readouterr()
|
out, err = capsys.readouterr()
|
||||||
|
assert not err
|
||||||
output_set = set(out.strip().split())
|
output_set = set(out.strip().split())
|
||||||
assert output_set == expected_tool_modules
|
assert output_set == expected_tool_modules
|
||||||
|
|
||||||
# Test abbreviated tool name: "aqt list-tool mac desktop ifw"
|
# Test abbreviated tool name: "aqt list-tool mac desktop ifw"
|
||||||
assert tool_name.startswith("tools_")
|
assert tool_name.startswith("tools_") or tool_name in ["sdktool"]
|
||||||
short_tool_name = tool_name[6:]
|
short_tool_name = tool_name[6:] if tool_name.startswith("tools_") else tool_name
|
||||||
cli.run(["list-tool", host, target, short_tool_name])
|
cli.run(["list-tool", host, target, short_tool_name])
|
||||||
out, err = capsys.readouterr()
|
out, err = capsys.readouterr()
|
||||||
|
assert not err
|
||||||
output_set = set(out.strip().split())
|
output_set = set(out.strip().split())
|
||||||
assert output_set == expected_tool_modules
|
assert output_set == expected_tool_modules
|
||||||
|
|
||||||
cli.run(["list-tool", host, target, tool_name, "-l"])
|
cli.run(["list-tool", host, target, tool_name, "-l"])
|
||||||
out, err = capsys.readouterr()
|
out, err = capsys.readouterr()
|
||||||
|
assert not err
|
||||||
|
|
||||||
expected_tooldata = format(fetch_expected_tooldata(xml_expect))
|
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):
|
def test_fetch_http_ok(monkeypatch):
|
||||||
|
|||||||
Reference in New Issue
Block a user