summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--pbr/tests/test_util.py12
-rw-r--r--pbr/util.py4
2 files changed, 15 insertions, 1 deletions
diff --git a/pbr/tests/test_util.py b/pbr/tests/test_util.py
index 8370bf1..6814ac7 100644
--- a/pbr/tests/test_util.py
+++ b/pbr/tests/test_util.py
@@ -160,3 +160,15 @@ class TestKeywordsParsingScenarios(base.BaseTestCase):
kwargs = util.setup_cfg_to_setup_kwargs(config)
self.assertEqual(self.expected_keywords, kwargs['keywords'])
+
+
+class TestProvidesExtras(base.BaseTestCase):
+ def test_provides_extras(self):
+ ini = """
+ [metadata]
+ provides_extras = foo
+ bar
+ """
+ config = config_from_ini(ini)
+ kwargs = util.setup_cfg_to_setup_kwargs(config)
+ self.assertEqual(['foo', 'bar'], kwargs['provides_extras'])
diff --git a/pbr/util.py b/pbr/util.py
index 5bb731b..55d73f8 100644
--- a/pbr/util.py
+++ b/pbr/util.py
@@ -113,6 +113,7 @@ D1_D2_SETUP_ARGS = {
"setup_requires": ("metadata", "setup_requires_dist"),
"python_requires": ("metadata",),
"provides": ("metadata", "provides_dist"), # **
+ "provides_extras": ("metadata",),
"obsoletes": ("metadata", "obsoletes_dist"), # **
"package_dir": ("files", 'packages_root'),
"packages": ("files",),
@@ -147,7 +148,8 @@ MULTI_FIELDS = ("classifiers",
"setup_requires",
"tests_require",
"keywords",
- "cmdclass")
+ "cmdclass",
+ "provides_extras")
# setup() arguments that can have mapping values in setup.cfg
MAP_FIELDS = ("project_urls",)