Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use itertools.chain to fix python3 test failure #92

Merged
merged 2 commits into from
Mar 11, 2020

Conversation

sloretz
Copy link
Contributor

@sloretz sloretz commented Mar 11, 2020

I'd expect this to fix a few of the test failures in http://build.ros.org/job/Ndev__capabilities__ubuntu_focal_amd64/1/

======================================================================
ERROR: unit.test_discovery.test_load_minimal
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/tmp/ws/src/capabilities/test/unit/test_discovery.py", line 18, in test_load_minimal
    spec_index, errors = spec_index_from_spec_file_index(spec_file_index)
  File "/tmp/ws/src/capabilities/src/capabilities/discovery.py", line 294, in spec_index_from_spec_file_index
    return _spec_loader(spec_file_index, {
  File "/tmp/ws/src/capabilities/src/capabilities/discovery.py", line 231, in _spec_loader
    spec_thing_loaders['capability_interface'](thing, package_name, spec_index)
  File "/tmp/ws/src/capabilities/src/capabilities/discovery.py", line 284, in capability_interface_loader
    spec_index.add_interface(interface, path, package_name)
  File "/tmp/ws/src/capabilities/src/capabilities/discovery.py", line 329, in add_interface
    if interface_name in self.names:
  File "/tmp/ws/src/capabilities/src/capabilities/discovery.py", line 437, in names
    return self.interfaces.keys() + self.semantic_interfaces.keys() + self.providers.keys()
TypeError: unsupported operand type(s) for +: 'dict_keys' and 'dict_keys'
-------------------- >> begin captured stdout << ---------------------
Testing minimal workspace

--------------------- >> end captured stdout << ----------------------

======================================================================
ERROR: unit.test_discovery.test_load_invalid_specs
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/tmp/ws/src/capabilities/test/unit/test_discovery.py", line 40, in test_load_invalid_specs
    spec_index, errors = spec_index_from_spec_file_index(spec_file_index)
  File "/tmp/ws/src/capabilities/src/capabilities/discovery.py", line 294, in spec_index_from_spec_file_index
    return _spec_loader(spec_file_index, {
  File "/tmp/ws/src/capabilities/src/capabilities/discovery.py", line 231, in _spec_loader
    spec_thing_loaders['capability_interface'](thing, package_name, spec_index)
  File "/tmp/ws/src/capabilities/src/capabilities/discovery.py", line 284, in capability_interface_loader
    spec_index.add_interface(interface, path, package_name)
  File "/tmp/ws/src/capabilities/src/capabilities/discovery.py", line 329, in add_interface
    if interface_name in self.names:
  File "/tmp/ws/src/capabilities/src/capabilities/discovery.py", line 437, in names
    return self.interfaces.keys() + self.semantic_interfaces.keys() + self.providers.keys()
TypeError: unsupported operand type(s) for +: 'dict_keys' and 'dict_keys'
-------------------- >> begin captured stdout << ---------------------
Testing invalid_specs workspace

--------------------- >> end captured stdout << ----------------------

======================================================================
ERROR: unit.test_discovery.test_load_missing_interface
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/tmp/ws/src/capabilities/test/unit/test_discovery.py", line 48, in test_load_missing_interface
    spec_index, errors = spec_index_from_spec_file_index(spec_file_index)
  File "/tmp/ws/src/capabilities/src/capabilities/discovery.py", line 294, in spec_index_from_spec_file_index
    return _spec_loader(spec_file_index, {
  File "/tmp/ws/src/capabilities/src/capabilities/discovery.py", line 231, in _spec_loader
    spec_thing_loaders['capability_interface'](thing, package_name, spec_index)
  File "/tmp/ws/src/capabilities/src/capabilities/discovery.py", line 284, in capability_interface_loader
    spec_index.add_interface(interface, path, package_name)
  File "/tmp/ws/src/capabilities/src/capabilities/discovery.py", line 329, in add_interface
    if interface_name in self.names:
  File "/tmp/ws/src/capabilities/src/capabilities/discovery.py", line 437, in names
    return self.interfaces.keys() + self.semantic_interfaces.keys() + self.providers.keys()
TypeError: unsupported operand type(s) for +: 'dict_keys' and 'dict_keys'
-------------------- >> begin captured stdout << ---------------------
Testing missing_interface workspace

--------------------- >> end captured stdout << ----------------------

======================================================================
ERROR: unit.test_discovery.test_load_duplicate_names
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/tmp/ws/src/capabilities/test/unit/test_discovery.py", line 56, in test_load_duplicate_names
    spec_index, errors = spec_index_from_spec_file_index(spec_file_index)
  File "/tmp/ws/src/capabilities/src/capabilities/discovery.py", line 294, in spec_index_from_spec_file_index
    return _spec_loader(spec_file_index, {
  File "/tmp/ws/src/capabilities/src/capabilities/discovery.py", line 231, in _spec_loader
    spec_thing_loaders['capability_interface'](thing, package_name, spec_index)
  File "/tmp/ws/src/capabilities/src/capabilities/discovery.py", line 284, in capability_interface_loader
    spec_index.add_interface(interface, path, package_name)
  File "/tmp/ws/src/capabilities/src/capabilities/discovery.py", line 329, in add_interface
    if interface_name in self.names:
  File "/tmp/ws/src/capabilities/src/capabilities/discovery.py", line 437, in names
    return self.interfaces.keys() + self.semantic_interfaces.keys() + self.providers.keys()
TypeError: unsupported operand type(s) for +: 'dict_keys' and 'dict_keys'
-------------------- >> begin captured stdout << ---------------------
Testing duplicate_names workspace

--------------------- >> end captured stdout << ----------------------

======================================================================
ERROR: unit.test_discovery.test_load_duplicate_names_semantic
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/usr/lib/python3/dist-packages/nose/case.py", line 197, in runTest
    self.test(*self.arg)
  File "/tmp/ws/src/capabilities/test/unit/test_discovery.py", line 66, in test_load_duplicate_names_semantic
    spec_index, errors = spec_index_from_spec_file_index(spec_file_index)
  File "/tmp/ws/src/capabilities/src/capabilities/discovery.py", line 294, in spec_index_from_spec_file_index
    return _spec_loader(spec_file_index, {
  File "/tmp/ws/src/capabilities/src/capabilities/discovery.py", line 231, in _spec_loader
    spec_thing_loaders['capability_interface'](thing, package_name, spec_index)
  File "/tmp/ws/src/capabilities/src/capabilities/discovery.py", line 284, in capability_interface_loader
    spec_index.add_interface(interface, path, package_name)
  File "/tmp/ws/src/capabilities/src/capabilities/discovery.py", line 329, in add_interface
    if interface_name in self.names:
  File "/tmp/ws/src/capabilities/src/capabilities/discovery.py", line 437, in names
    return self.interfaces.keys() + self.semantic_interfaces.keys() + self.providers.keys()
TypeError: unsupported operand type(s) for +: 'dict_keys' and 'dict_keys'
-------------------- >> begin captured stdout << ---------------------
Testing duplicate_names_semantic workspace

--------------------- >> end captured stdout << ----------------------

@sloretz
Copy link
Contributor Author

sloretz commented Mar 11, 2020

@wjwwood mind taking a look?

@wjwwood
Copy link
Member

wjwwood commented Mar 11, 2020

Sure, I was going to look in more detail because there looks to be quite a few Python2 things in this package that don't work in Python3 which I'll have to address. I think I could possibly merge this one now and open a new pr to try and fix more.

Copy link
Member

@wjwwood wjwwood left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm

@wjwwood wjwwood merged commit 13cefbb into master Mar 11, 2020
@wjwwood wjwwood deleted the sloretz/concatenate_iterables branch March 11, 2020 01:34
@stwirth stwirth mentioned this pull request Jan 24, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants