Skip to content

Commit 5fb2ac3

Browse files
committed
test: update packaging test to inspect installed metadata
The CI unit test environments do not keep setuptools installed at runtime, even though the package is installed before tests run. Inspect the installed google-cloud-audit-log metadata instead of executing setup.py and monkeypatching setuptools.setup.
1 parent 0af3f88 commit 5fb2ac3

1 file changed

Lines changed: 9 additions & 19 deletions

File tree

packages/google-cloud-audit-log/tests/unit/test_packaging.py

Lines changed: 9 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import os
1616
import subprocess
1717
import sys
18+
from importlib import metadata
1819

1920

2021
# See https://docs.pytest.org/en/stable/how-to/tmp_path.html#the-tmp-path-fixture
@@ -39,24 +40,13 @@ def test_namespace_package_compat(tmp_path):
3940
subprocess.check_call(cmd, env=env)
4041

4142

42-
def test_setup_py_does_not_discover_docs_package(monkeypatch):
43-
import pathlib
44-
import runpy
45-
46-
captured_kwargs = {}
47-
48-
def fake_setup(**kwargs):
49-
captured_kwargs.update(kwargs)
50-
51-
package_root = pathlib.Path(__file__).parents[2]
52-
monkeypatch.chdir(package_root)
53-
monkeypatch.setattr("setuptools.setup", fake_setup)
54-
55-
runpy.run_path(str(package_root / "setup.py"), run_name="__main__")
43+
def test_top_level_package_metadata_excludes_docs():
44+
top_level = metadata.distribution("google-cloud-audit-log").read_text(
45+
"top_level.txt"
46+
)
5647

57-
packages = captured_kwargs["packages"]
48+
assert top_level is not None
49+
top_level_packages = set(top_level.splitlines())
5850

59-
assert "google.cloud.audit" in packages
60-
assert not any(
61-
package == "docs" or package.startswith("docs.") for package in packages
62-
)
51+
assert "google" in top_level_packages
52+
assert "docs" not in top_level_packages

0 commit comments

Comments
 (0)