osxphotos/tests/test___all__.py
2022-01-23 16:40:20 -08:00

25 lines
806 B
Python

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)