creat unit test for __all__ (#599)

This commit is contained in:
Xiaoliang Wu 2022-01-23 16:40:20 -08:00 committed by GitHub
parent d8dbc0866f
commit 61a300250d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

25
tests/test___all__.py Normal file
View 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)