summaryrefslogtreecommitdiffstats
path: root/tests/test_util.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_util.py')
-rw-r--r--tests/test_util.py44
1 files changed, 44 insertions, 0 deletions
diff --git a/tests/test_util.py b/tests/test_util.py
new file mode 100644
index 0000000..9f090b5
--- /dev/null
+++ b/tests/test_util.py
@@ -0,0 +1,44 @@
+# SPDX-License-Identifier: MIT
+
+import pytest
+
+import build.util
+
+
+@pytest.mark.pypy3323bug
+@pytest.mark.parametrize('isolated', [False, True])
+def test_wheel_metadata(package_test_setuptools, isolated):
+ metadata = build.util.project_wheel_metadata(package_test_setuptools, isolated)
+
+ assert metadata['name'] == 'test-setuptools'
+ assert metadata['version'] == '1.0.0'
+
+
+@pytest.mark.pypy3323bug
+def test_wheel_metadata_isolation(package_test_flit):
+ try:
+ import flit_core # noqa: F401
+ except ModuleNotFoundError:
+ pass
+ else:
+ pytest.xfail('flit_core is available -- we want it missing!') # pragma: no cover
+
+ metadata = build.util.project_wheel_metadata(package_test_flit)
+
+ assert metadata['name'] == 'test_flit'
+ assert metadata['version'] == '1.0.0'
+
+ with pytest.raises(
+ build.BuildBackendException,
+ match="Backend 'flit_core.buildapi' is not available.",
+ ):
+ build.util.project_wheel_metadata(package_test_flit, isolated=False)
+
+
+@pytest.mark.pypy3323bug
+def test_with_get_requires(package_test_metadata):
+ metadata = build.util.project_wheel_metadata(package_test_metadata)
+
+ assert metadata['name'] == 'test-metadata'
+ assert str(metadata['version']) == '1.0.0'
+ assert metadata['summary'] == 'hello!'