summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIikka Eklund <iikka.eklund@qt.io>2021-09-30 08:56:20 +0300
committerIikka Eklund <iikka.eklund@qt.io>2021-11-04 08:02:00 +0000
commit14213d33c3243d7ba175845868b64868bf3a5331 (patch)
tree975fe6d2b935e512c7d65379ac77a00ec32bad13
parent95258383c0985a33501ecfe4214a44fb7e65b63c (diff)
Run mypy, black, flake8 and isort and update Pipfile
Add mypy, types-pyyaml and isort to Pipenv. Run the linters and fix/clean found issues. Change-Id: I3a197491f92ff53ff99c7516956ac1dc3311b311 Reviewed-by: Akseli Salovaara <akseli.salovaara@qt.io>
-rw-r--r--Pipfile3
-rw-r--r--Pipfile.lock171
-rw-r--r--conanfile.py38
-rw-r--r--mypy.ini10
-rw-r--r--test/test_conanfile.py65
5 files changed, 200 insertions, 87 deletions
diff --git a/Pipfile b/Pipfile
index 74ef48b..aca1753 100644
--- a/Pipfile
+++ b/Pipfile
@@ -6,6 +6,9 @@ name = "pypi"
[packages]
ddt = "*"
conan = "*"
+mypy = "*"
+types-pyyaml = "*"
+isort = "*"
[dev-packages]
diff --git a/Pipfile.lock b/Pipfile.lock
index eed4725..9867cc7 100644
--- a/Pipfile.lock
+++ b/Pipfile.lock
@@ -1,7 +1,7 @@
{
"_meta": {
"hash": {
- "sha256": "e0ee0791c92c49dc9b73f2d6ac1273e5fc38e9e742db6ed56c9e1d5595e825a0"
+ "sha256": "98bd7a4d1af64d3913602e991f373b239c83dd24c85b612290a747c49f7addf7"
},
"pipfile-spec": 6,
"requires": {
@@ -32,11 +32,11 @@
},
"charset-normalizer": {
"hashes": [
- "sha256:0c8911edd15d19223366a194a513099a302055a962bca2cec0f54b8b63175d8b",
- "sha256:f23667ebe1084be45f6ae0538e4a5a865206544097e4e8bbcacf42cd02a348f3"
+ "sha256:5d209c0a931f215cee683b6445e2d77677e7e75e159f78def0db09d68fafcaa6",
+ "sha256:5ec46d183433dcbd0ab716f2d7f29d8dee50505b3fdb40c6b985c7c4f5a3591f"
],
"markers": "python_version >= '3'",
- "version": "==2.0.4"
+ "version": "==2.0.6"
},
"colorama": {
"hashes": [
@@ -48,32 +48,25 @@
},
"conan": {
"hashes": [
- "sha256:7f1fa90578f84d5801e53cce6aa7c98ed97a99fb2b38b3f12a5d9784722340e0"
+ "sha256:2dde4e484261f588167a2789874d26f518f13dab3217062d5cecd89f106cd181"
],
"index": "pypi",
- "version": "==1.39.0"
+ "version": "==1.40.2"
},
"ddt": {
"hashes": [
- "sha256:39a8bfe0a8a75ebd209a5abd0da7895532548c9f6d7bd97714d2d5d2bfa6d844",
- "sha256:64a67366a2715e636b88694cc6075cc02db292f01098b8e385397c894d395378"
+ "sha256:03d78d31c135f5fa3d0121dee96775c6c15390c6888fc5a3cb69f3895831ebce",
+ "sha256:9c14f2c6dc63203b4dc4b0138ee0c1cb5d2545605ee6270bb8e90fd47b74b7f1"
],
"index": "pypi",
- "version": "==1.4.2"
- },
- "deprecation": {
- "hashes": [
- "sha256:c0392f676a6146f0238db5744d73e786a43510d54033f80994ef2f4c9df192ed",
- "sha256:dc9b4f252b7aca8165ce2764a71da92a653b5ffbf7a389461d7a640f6536ecb2"
- ],
- "version": "==2.0.7"
+ "version": "==1.4.3"
},
"distro": {
"hashes": [
- "sha256:0e58756ae38fbd8fc3020d54badb8eae17c5b9dcbed388b17bb55b8a5928df92",
- "sha256:df74eed763e18d10d0da624258524ae80486432cd17392d9c3d96f5e83cd2799"
+ "sha256:83f5e5a09f9c5f68f60173de572930effbcc0287bb84fdc4426cb4168c088424",
+ "sha256:c8713330ab31a034623a9515663ed87696700b55f04556b97c39cd261aa70dc7"
],
- "version": "==1.5.0"
+ "version": "==1.6.0"
},
"fasteners": {
"hashes": [
@@ -97,6 +90,14 @@
"markers": "python_version >= '3'",
"version": "==3.2"
},
+ "isort": {
+ "hashes": [
+ "sha256:9c2ea1e62d871267b78307fe511c0838ba0da28698c5732d54e2790bf3ba9899",
+ "sha256:e17d6e2b81095c9db0a03a8025a957f334d6ea30b26f9ec70805411e5c7c81f2"
+ ],
+ "index": "pypi",
+ "version": "==5.9.3"
+ },
"jinja2": {
"hashes": [
"sha256:03e47ad063331dd6a3f04a43eddca8a966a26ba0c5b7207a9a9e4e08f1b29419",
@@ -165,6 +166,42 @@
"markers": "python_version >= '3.6'",
"version": "==2.0.1"
},
+ "mypy": {
+ "hashes": [
+ "sha256:088cd9c7904b4ad80bec811053272986611b84221835e079be5bcad029e79dd9",
+ "sha256:0aadfb2d3935988ec3815952e44058a3100499f5be5b28c34ac9d79f002a4a9a",
+ "sha256:119bed3832d961f3a880787bf621634ba042cb8dc850a7429f643508eeac97b9",
+ "sha256:1a85e280d4d217150ce8cb1a6dddffd14e753a4e0c3cf90baabb32cefa41b59e",
+ "sha256:3c4b8ca36877fc75339253721f69603a9c7fdb5d4d5a95a1a1b899d8b86a4de2",
+ "sha256:3e382b29f8e0ccf19a2df2b29a167591245df90c0b5a2542249873b5c1d78212",
+ "sha256:42c266ced41b65ed40a282c575705325fa7991af370036d3f134518336636f5b",
+ "sha256:53fd2eb27a8ee2892614370896956af2ff61254c275aaee4c230ae771cadd885",
+ "sha256:704098302473cb31a218f1775a873b376b30b4c18229421e9e9dc8916fd16150",
+ "sha256:7df1ead20c81371ccd6091fa3e2878559b5c4d4caadaf1a484cf88d93ca06703",
+ "sha256:866c41f28cee548475f146aa4d39a51cf3b6a84246969f3759cb3e9c742fc072",
+ "sha256:a155d80ea6cee511a3694b108c4494a39f42de11ee4e61e72bc424c490e46457",
+ "sha256:adaeee09bfde366d2c13fe6093a7df5df83c9a2ba98638c7d76b010694db760e",
+ "sha256:b6fb13123aeef4a3abbcfd7e71773ff3ff1526a7d3dc538f3929a49b42be03f0",
+ "sha256:b94e4b785e304a04ea0828759172a15add27088520dc7e49ceade7834275bedb",
+ "sha256:c0df2d30ed496a08de5daed2a9ea807d07c21ae0ab23acf541ab88c24b26ab97",
+ "sha256:c6c2602dffb74867498f86e6129fd52a2770c48b7cd3ece77ada4fa38f94eba8",
+ "sha256:ceb6e0a6e27fb364fb3853389607cf7eb3a126ad335790fa1e14ed02fba50811",
+ "sha256:d9dd839eb0dc1bbe866a288ba3c1afc33a202015d2ad83b31e875b5905a079b6",
+ "sha256:e4dab234478e3bd3ce83bac4193b2ecd9cf94e720ddd95ce69840273bf44f6de",
+ "sha256:ec4e0cd079db280b6bdabdc807047ff3e199f334050db5cbb91ba3e959a67504",
+ "sha256:ecd2c3fe726758037234c93df7e98deb257fd15c24c9180dacf1ef829da5f921",
+ "sha256:ef565033fa5a958e62796867b1df10c40263ea9ded87164d67572834e57a174d"
+ ],
+ "index": "pypi",
+ "version": "==0.910"
+ },
+ "mypy-extensions": {
+ "hashes": [
+ "sha256:090fedd75945a69ae91ce1303b5824f428daf5a028d2f6ab8a299250a846f15d",
+ "sha256:2d82818f5bb3e369420cb3c4060a7970edba416647068eb4c5343488a6c604a8"
+ ],
+ "version": "==0.4.3"
+ },
"node-semver": {
"hashes": [
"sha256:4016f7c1071b0493f18db69ea02d3763e98a633606d7c7beca811e53b5ac66b7",
@@ -172,14 +209,6 @@
],
"version": "==0.6.1"
},
- "packaging": {
- "hashes": [
- "sha256:7dc96269f53a4ccec5c0670940a4281106dd0bb343f47b7471f779df49c2fbe7",
- "sha256:c86254f9220d55e31cc94d69bade760f0847da8000def4dfe1c6b872fd14ff14"
- ],
- "markers": "python_version >= '3.6'",
- "version": "==21.0"
- },
"patch-ng": {
"hashes": [
"sha256:627abc5bd723c8b481e96849b9734b10065426224d4d22cd44137004ac0d4ace"
@@ -207,14 +236,6 @@
],
"version": "==1.7.1"
},
- "pyparsing": {
- "hashes": [
- "sha256:c203ec8783bf771a155b207279b9bccb8dea02d8f0c9e5f8ead507bc3246ecc1",
- "sha256:ef9d7589ef3c200abe66653d3f1ab1033c3c419ae9b9bdb1240a85b024efc88b"
- ],
- "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'",
- "version": "==2.4.7"
- },
"python-dateutil": {
"hashes": [
"sha256:0123cacc1627ae19ddf3c27a5de5bd67ee4586fbdd6440d9748f8abb483d3e86",
@@ -268,27 +289,87 @@
},
"six": {
"hashes": [
- "sha256:30639c035cdb23534cd4aa2dd52c3bf48f06e5f4a941509c8bafd8ce11080259",
- "sha256:8b74bedcbbbaca38ff6d7491d76f2b06b3592611af620f8426e82dddb04a5ced"
+ "sha256:1e61c37477a1626458e36f7b1d82aa5c9b094fa4802892072e49de9c60c4c926",
+ "sha256:8abb2f1d86890a2dfb989f9a77cfcfd3e47c2a354b01111771326f8aa26e0254"
],
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
- "version": "==1.15.0"
+ "version": "==1.16.0"
+ },
+ "toml": {
+ "hashes": [
+ "sha256:806143ae5bfb6a3c6e736a764057db0e6a0e05e338b5630894a5f779cabb4f9b",
+ "sha256:b3bda1d108d5dd99f4a20d24d9c348e91c4db7ab1b749200bded2f839ccbe68f"
+ ],
+ "markers": "python_version >= '2.6' and python_version not in '3.0, 3.1, 3.2, 3.3'",
+ "version": "==0.10.2"
},
"tqdm": {
"hashes": [
- "sha256:80aead664e6c1672c4ae20dc50e1cdc5e20eeff9b14aa23ecd426375b28be588",
- "sha256:a4d6d112e507ef98513ac119ead1159d286deab17dffedd96921412c2d236ff5"
+ "sha256:8dd278a422499cd6b727e6ae4061c40b48fce8b76d1ccbf5d34fca9b7f925b0c",
+ "sha256:d359de7217506c9851b7869f3708d8ee53ed70a1b8edbba4dbcb47442592920d"
],
"markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3'",
- "version": "==4.62.2"
+ "version": "==4.62.3"
+ },
+ "typed-ast": {
+ "hashes": [
+ "sha256:01ae5f73431d21eead5015997ab41afa53aa1fbe252f9da060be5dad2c730ace",
+ "sha256:067a74454df670dcaa4e59349a2e5c81e567d8d65458d480a5b3dfecec08c5ff",
+ "sha256:0fb71b8c643187d7492c1f8352f2c15b4c4af3f6338f21681d3681b3dc31a266",
+ "sha256:1b3ead4a96c9101bef08f9f7d1217c096f31667617b58de957f690c92378b528",
+ "sha256:2068531575a125b87a41802130fa7e29f26c09a2833fea68d9a40cf33902eba6",
+ "sha256:209596a4ec71d990d71d5e0d312ac935d86930e6eecff6ccc7007fe54d703808",
+ "sha256:2c726c276d09fc5c414693a2de063f521052d9ea7c240ce553316f70656c84d4",
+ "sha256:398e44cd480f4d2b7ee8d98385ca104e35c81525dd98c519acff1b79bdaac363",
+ "sha256:52b1eb8c83f178ab787f3a4283f68258525f8d70f778a2f6dd54d3b5e5fb4341",
+ "sha256:5feca99c17af94057417d744607b82dd0a664fd5e4ca98061480fd8b14b18d04",
+ "sha256:7538e495704e2ccda9b234b82423a4038f324f3a10c43bc088a1636180f11a41",
+ "sha256:760ad187b1041a154f0e4d0f6aae3e40fdb51d6de16e5c99aedadd9246450e9e",
+ "sha256:777a26c84bea6cd934422ac2e3b78863a37017618b6e5c08f92ef69853e765d3",
+ "sha256:95431a26309a21874005845c21118c83991c63ea800dd44843e42a916aec5899",
+ "sha256:9ad2c92ec681e02baf81fdfa056fe0d818645efa9af1f1cd5fd6f1bd2bdfd805",
+ "sha256:9c6d1a54552b5330bc657b7ef0eae25d00ba7ffe85d9ea8ae6540d2197a3788c",
+ "sha256:aee0c1256be6c07bd3e1263ff920c325b59849dc95392a05f258bb9b259cf39c",
+ "sha256:af3d4a73793725138d6b334d9d247ce7e5f084d96284ed23f22ee626a7b88e39",
+ "sha256:b36b4f3920103a25e1d5d024d155c504080959582b928e91cb608a65c3a49e1a",
+ "sha256:b9574c6f03f685070d859e75c7f9eeca02d6933273b5e69572e5ff9d5e3931c3",
+ "sha256:bff6ad71c81b3bba8fa35f0f1921fb24ff4476235a6e94a26ada2e54370e6da7",
+ "sha256:c190f0899e9f9f8b6b7863debfb739abcb21a5c054f911ca3596d12b8a4c4c7f",
+ "sha256:c907f561b1e83e93fad565bac5ba9c22d96a54e7ea0267c708bffe863cbe4075",
+ "sha256:cae53c389825d3b46fb37538441f75d6aecc4174f615d048321b716df2757fb0",
+ "sha256:dd4a21253f42b8d2b48410cb31fe501d32f8b9fbeb1f55063ad102fe9c425e40",
+ "sha256:dde816ca9dac1d9c01dd504ea5967821606f02e510438120091b84e852367428",
+ "sha256:f2362f3cb0f3172c42938946dbc5b7843c2a28aec307c49100c8b38764eb6927",
+ "sha256:f328adcfebed9f11301eaedfa48e15bdece9b519fb27e6a8c01aa52a17ec31b3",
+ "sha256:f8afcf15cc511ada719a88e013cec87c11aff7b91f019295eb4530f96fe5ef2f",
+ "sha256:fb1bbeac803adea29cedd70781399c99138358c26d05fcbd23c13016b7f5ec65"
+ ],
+ "markers": "python_version < '3.8'",
+ "version": "==1.4.3"
+ },
+ "types-pyyaml": {
+ "hashes": [
+ "sha256:1d9e431e9f1f78a65ea957c558535a3b15ad67ea4912bce48a6c1b613dcf81ad",
+ "sha256:f1d1357168988e45fa20c65aecb3911462246a84809015dd889ebf8b1db74124"
+ ],
+ "index": "pypi",
+ "version": "==5.4.10"
+ },
+ "typing-extensions": {
+ "hashes": [
+ "sha256:49f75d16ff11f1cd258e1b988ccff82a3ca5570217d7ad8c5f48205dd99a677e",
+ "sha256:d8226d10bc02a29bcc81df19a26e56a9647f8b0a6d4a83924139f4a8b01f17b7",
+ "sha256:f1d25edafde516b146ecd0613dabcc61409817af4766fbbcfb8d1ad4ec441a34"
+ ],
+ "version": "==3.10.0.2"
},
"urllib3": {
"hashes": [
- "sha256:8d7eaa5a82a1cac232164990f04874c594c9453ec55eef02eab885aa02fc17a2",
- "sha256:f5321fbe4bf3fefa0efd0bfe7fb14e90909eb62a48ccda331726b4319897dd5e"
+ "sha256:4987c65554f7a2dbf30c18fd48778ef124af6fab771a377103da0585e2336ece",
+ "sha256:c4fdf4019605b6e5423637e01bc9fe4daef873709a7973e195ceba0a62bbc844"
],
- "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4'",
- "version": "==1.25.11"
+ "markers": "python_version >= '2.7' and python_version not in '3.0, 3.1, 3.2, 3.3, 3.4' and python_version < '4.0'",
+ "version": "==1.26.7"
}
},
"develop": {}
diff --git a/conanfile.py b/conanfile.py
index 93783cf..1e3ab09 100644
--- a/conanfile.py
+++ b/conanfile.py
@@ -26,14 +26,15 @@
##
#############################################################################
-from conans import ConanFile, tools, Options
-from abc import ABCMeta, abstractmethod
import os
import re
-import yaml
+from abc import ABCMeta, abstractmethod
from functools import lru_cache
from pathlib import Path
-from typing import List, Dict, Optional, Tuple, Callable, Any
+from typing import Any, Callable, Dict, List, Optional, Tuple
+
+import yaml
+from conans import ConanFile, tools
class QtConanError(Exception):
@@ -41,12 +42,17 @@ class QtConanError(Exception):
def build_leaf_qt_module(conan_file: ConanFile):
- run_qt_configure_module_with_additional_packages_prefix(conan_file, build_func=run_qt_configure_module)
+ run_qt_configure_module_with_additional_packages_prefix(
+ conan_file, build_func=run_qt_configure_module
+ )
-def run_qt_configure_module_with_additional_packages_prefix(conan_file: ConanFile, build_func: Callable):
- prefixes = "".join([conan_file.deps_cpp_info[d].rootpath + ";"
- for d in conan_file.deps_cpp_info.deps])
+def run_qt_configure_module_with_additional_packages_prefix(
+ conan_file: ConanFile, build_func: Callable
+):
+ prefixes = "".join(
+ [conan_file.deps_cpp_info[d].rootpath + ";" for d in conan_file.deps_cpp_info.deps]
+ )
conan_file.output.info(f"Using QT_ADDITIONAL_PACKAGES_PREFIX_PATH: {prefixes}")
with tools.environment_append({"QT_ADDITIONAL_PACKAGES_PREFIX_PATH": prefixes}):
build_env_wrap(conan_file, build_func)
@@ -62,7 +68,11 @@ def build_env_wrap(conan_file: ConanFile, build_func: Callable):
def run_qt_configure_module(conan_file: ConanFile):
# We use the Qt's 'bin/qt-configure-module' directly
- script = Path("qt-configure-module.bat") if tools.os_info.is_windows else Path("qt-configure-module")
+ script = (
+ Path("qt-configure-module.bat")
+ if tools.os_info.is_windows
+ else Path("qt-configure-module")
+ )
qt_configure_module = Path(conan_file.deps_cpp_info["qtbase"].rootpath) / "bin" / script
qt_module_features, cmake_args = parse_qt_leaf_module_options(conan_file)
cmd = " ".join(
@@ -73,14 +83,14 @@ def run_qt_configure_module(conan_file: ConanFile):
"--",
f"-DQT_BUILD_SINGLE_REPO_TARGET_SET={conan_file.name}",
f"-DCMAKE_INSTALL_PREFIX={conan_file.package_folder}",
- f"{' '.join(cmake_args)}" if cmake_args else ""
+ f"{' '.join(cmake_args)}" if cmake_args else "",
]
)
conan_file.output.info(f"Calling: {cmd}")
conan_file.run(cmd, run_environment=True)
- # Qt qt-configure-module would direct the install to qtbase's -prefix which we do not want, we need
- # to direct the install to this packages '/package' directory
+ # Qt qt-configure-module would direct the install to qtbase's -prefix which we do not want,
+ # we need to direct the install to this packages '/package' directory
Path(conan_file.package_folder).mkdir(parents=True)
cmd = " ".join(["cmake", "--build", "."])
conan_file.output.info(f"Calling: {cmd}")
@@ -97,7 +107,7 @@ def parse_qt_leaf_module_options(conan_file: ConanFile) -> Tuple[List[str], List
continue
elif option_name == "cmake_args_leaf_module":
# replace multiple white space with one, strip ' and " characters
- cmake_args = (' '.join(option_value.split())).strip("\'\"").split(" ")
+ cmake_args = (" ".join(option_value.split())).strip("'\"").split(" ")
elif not conan_file.is_qt_module_feature(option_name):
# this option is not intended to be passed to 'qt-configure-module.bat'
continue
@@ -153,7 +163,7 @@ def parse_qt_version_by_key(source_folder: Path, key: str) -> str:
def parse_module_dependencies(source_folder: Path) -> List[str]:
with open(source_folder / "dependencies.yaml") as f:
dep_list = yaml.load(f, Loader=yaml.FullLoader)
- return [d.split("/")[-1] for d in dep_list.get('dependencies', {}).keys()]
+ return [d.split("/")[-1] for d in dep_list.get("dependencies", {}).keys()]
def filter_cmake_args_for_package_id(cmake_args: Optional[str]) -> Optional[str]:
diff --git a/mypy.ini b/mypy.ini
new file mode 100644
index 0000000..34c2c32
--- /dev/null
+++ b/mypy.ini
@@ -0,0 +1,10 @@
+[mypy]
+python_version = 3.8
+cache_fine_grained = True
+warn_unused_ignores = True
+ignore_missing_imports = True
+warn_no_return = True
+incremental = True
+warn_unreachable = True
+follow_imports=error
+
diff --git a/test/test_conanfile.py b/test/test_conanfile.py
index 2147c86..8ffeb26 100644
--- a/test/test_conanfile.py
+++ b/test/test_conanfile.py
@@ -29,19 +29,26 @@
##
#############################################################################
import unittest
-from ddt import ddt, data
from pathlib import Path
-from conanfile import parse_module_dependencies, parse_qt_version_by_key,\
- filter_cmake_args_for_package_id
+from typing import List, Tuple
+
+from ddt import data, ddt
+
+from conanfile import (filter_cmake_args_for_package_id,
+ parse_module_dependencies, parse_qt_version_by_key)
@ddt
class TestConanFile(unittest.TestCase):
-
- @data(("data/qtwebengine", ["qtdeclarative", "qtlocation", "qtquickcontrols2", "qttools", "qtwebchannel"]),
- ("data/qt3d", ["qtbase", "qtdeclarative", "qtshadertools"]),
- ("data/qtbase", []))
- def test_parse_module_dependencies(self, data: str) -> None:
+ @data(
+ (
+ "data/qtwebengine",
+ ["qtdeclarative", "qtlocation", "qtquickcontrols2", "qttools", "qtwebchannel"],
+ ),
+ ("data/qt3d", ["qtbase", "qtdeclarative", "qtshadertools"]),
+ ("data/qtbase", []),
+ )
+ def test_parse_module_dependencies(self, data: Tuple[str, List[str]]) -> None:
test_data_path, expected_result = data
tmp = Path(Path(__file__).parent / test_data_path).resolve()
self.assertEqual(set(parse_module_dependencies(tmp)), set(expected_result))
@@ -56,10 +63,7 @@ class TestConanFile(unittest.TestCase):
),
(
"data/qt3d",
- {
- "QT_REPO_MODULE_VERSION": "6.2.0",
- "QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT": "",
- },
+ {"QT_REPO_MODULE_VERSION": "6.2.0", "QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT": ""},
),
(
"data/qtbase",
@@ -75,22 +79,27 @@ class TestConanFile(unittest.TestCase):
for key in expected_result.keys():
self.assertEqual(parse_qt_version_by_key(path, key), expected_result[key])
- @data(("\"-DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache -DFOO=bar\"",
- "\"-DFOO=bar\""),
- ("\"-DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache",
- None),
- (" \"-DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache -DFOO=bar\" ",
- "\"-DFOO=bar\""),
- ("\"-DFEATURE_headersclean=ON -DPostgreSQL_ROOT=/foo/bar -DFOO=bar\"",
- "\"-DFOO=bar\""),
- ("\"-DOPENSSL_ROOT_DIR=/foo/path -DFOO=bar -DBAR=foo -DFOO2=bar2 \"",
- "\"-DFOO=bar -DBAR=foo -DFOO2=bar2\""),
- ("\"-DLLVM_INSTALL_DIR=/foo/path -DFOO=bar -DBAR=foo -DFOO2=bar2\"",
- "\"-DFOO=bar -DBAR=foo -DFOO2=bar2\""),
- ("\"-DLLVM_INSTALL_DIR=/foo/path -DFOO=bar -DODBC_ROOT=/usr/local/opt/libiodbc\"",
- "\"-DFOO=bar\""),
- ("",
- None))
+ @data(
+ (
+ '"-DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache -DFOO=bar"',
+ '"-DFOO=bar"',
+ ),
+ ('"-DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache', None),
+ (
+ ' "-DCMAKE_C_COMPILER_LAUNCHER=sccache -DCMAKE_CXX_COMPILER_LAUNCHER=sccache -DFOO=bar" ',
+ '"-DFOO=bar"',
+ ),
+ ('"-DFEATURE_headersclean=ON -DPostgreSQL_ROOT=/foo/bar -DFOO=bar"', '"-DFOO=bar"'),
+ (
+ '"-DOPENSSL_ROOT_DIR=/foo/path -DFOO=bar -DBAR=foo -DFOO2=bar2 "',
+ '"-DFOO=bar -DBAR=foo -DFOO2=bar2"',
+ ),
+ (
+ '"-DLLVM_INSTALL_DIR=/foo/path -DFOO=bar -DBAR=foo -DFOO2=bar2"',
+ '"-DFOO=bar -DBAR=foo -DFOO2=bar2"',
+ ),
+ ("", None),
+ )
def test_filter_cmake_args_for_package_id(self, data) -> None:
self.assertEqual(filter_cmake_args_for_package_id(data[0]), data[1])