Skip to content

Commit 029e2e7

Browse files
authored
Handle 'None' in options.extras_require (#457)
I'm not sure the precise circumstances that lead to this, but I'm seeing 'None' coming out of options.extras_require entries in the wild. Regression caused by a101846
1 parent decc7ce commit 029e2e7

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

colcon_core/package_augmentation/python.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ def extract_dependencies(options):
8383
'testing': 'test',
8484
}
8585
_map_dependencies(
86-
options.get('extras_require', {}), extras_mapping,
86+
options.get('extras_require') or {}, extras_mapping,
8787
dependencies)
8888

8989
return dependencies
@@ -92,7 +92,7 @@ def extract_dependencies(options):
9292
def _map_dependencies(options, mapping, dependencies):
9393
for option_name, dependency_type in mapping.items():
9494
dependencies.setdefault(dependency_type, set())
95-
for dep in options.get(option_name, []):
95+
for dep in options.get(option_name) or []:
9696
dependencies[dependency_type].add(
9797
create_dependency_descriptor(dep))
9898

test/test_package_identification_python.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,16 @@ def test_identify():
4646
assert extension.identify(desc) is None
4747
assert desc.name == 'pkg-name'
4848
assert desc.type == 'python'
49+
assert not desc.dependencies
50+
assert not desc.metadata
51+
52+
augmentation_extension.augment_package(desc)
53+
assert set(desc.dependencies.keys()) == {'build', 'run', 'test'}
54+
assert not desc.dependencies['build']
55+
assert not desc.dependencies['run']
56+
assert not desc.dependencies['test']
4957

58+
desc = PackageDescriptor(basepath)
5059
desc.name = 'other-name'
5160
with pytest.raises(RuntimeError) as e:
5261
extension.identify(desc)

0 commit comments

Comments
 (0)