Fix handling of various import styles, add test
This commit is contained in:
parent
d075358280
commit
5076a5dd4f
3 changed files with 34 additions and 1 deletions
|
|
@ -935,7 +935,7 @@ def libraries_from_imports(code_py, mod_names):
|
|||
:param str code_py: Full path of the code.py file
|
||||
:return: sequence of library names
|
||||
"""
|
||||
imports = [info.name for info in findimports.find_imports(code_py)]
|
||||
imports = [info.name.split(".", 1)[0] for info in findimports.find_imports(code_py)]
|
||||
return [r for r in imports if r in mod_names]
|
||||
|
||||
|
||||
|
|
|
|||
8
tests/import_styles.py
Normal file
8
tests/import_styles.py
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
# SPDX-FileCopyrightText: 2021 Jeff Epler for Adafruit Industries
|
||||
#
|
||||
# SPDX-License-Identifier: MIT
|
||||
# pylint: disable=all
|
||||
import adafruit_bus_device
|
||||
from adafruit_button import Button
|
||||
import adafruit_esp32spi.adafruit_esp32spi_socket as socket
|
||||
import adafruit_hid.consumer_control
|
||||
|
|
@ -27,6 +27,7 @@ SOFTWARE.
|
|||
import os
|
||||
import ctypes
|
||||
import json
|
||||
import pathlib
|
||||
from unittest import mock
|
||||
|
||||
|
||||
|
|
@ -912,3 +913,27 @@ def test_show_match_py_command():
|
|||
result = runner.invoke(circup.show, ["py"])
|
||||
assert result.exit_code == 0
|
||||
assert "0 shown" in result.output
|
||||
|
||||
|
||||
def test_libraries_from_imports():
|
||||
"""Ensure that various styles of import all work"""
|
||||
mod_names = [
|
||||
"adafruit_bus_device",
|
||||
"adafruit_button",
|
||||
"adafruit_display_shapes",
|
||||
"adafruit_display_text",
|
||||
"adafruit_esp32spi",
|
||||
"adafruit_hid",
|
||||
"adafruit_oauth2",
|
||||
"adafruit_requests",
|
||||
"adafruit_touchscreen",
|
||||
]
|
||||
test_file = str(pathlib.Path(__file__).parent / "import_styles.py")
|
||||
result = circup.libraries_from_imports(test_file, mod_names)
|
||||
print(result)
|
||||
assert result == [
|
||||
"adafruit_bus_device",
|
||||
"adafruit_button",
|
||||
"adafruit_esp32spi",
|
||||
"adafruit_hid",
|
||||
]
|
||||
|
|
|
|||
Loading…
Reference in a new issue