creat unit test for __all__ (#599)
This commit is contained in:
parent
d8dbc0866f
commit
61a300250d
25
tests/test___all__.py
Normal file
25
tests/test___all__.py
Normal file
@ -0,0 +1,25 @@
|
||||
import re
|
||||
import sys
|
||||
|
||||
from os import walk
|
||||
from collections import Counter
|
||||
|
||||
|
||||
FILE_PATTERN = "^(?!_).*\.py$"
|
||||
SOUCE_CODE_ROOT = "osxphotos"
|
||||
|
||||
def create_module_name(dirpath: str, filename: str) -> str:
|
||||
prefix = dirpath[dirpath.rfind(SOUCE_CODE_ROOT):].replace('/', '.')
|
||||
return f"{prefix}.{filename}".replace(".py", "")
|
||||
|
||||
|
||||
def test_check_duplicate():
|
||||
for dirpath, dirnames, filenames in walk(SOUCE_CODE_ROOT):
|
||||
print("\n", sys.modules)
|
||||
for filename in filenames:
|
||||
if re.search(FILE_PATTERN, filename):
|
||||
module = create_module_name(dirpath, filename)
|
||||
if module in sys.modules:
|
||||
all_list = sys.modules[module].__all__
|
||||
all_set = set(all_list)
|
||||
assert Counter(all_list) == Counter(all_set)
|
||||
Loading…
x
Reference in New Issue
Block a user