mirror of
https://git.mirrors.martin98.com/https://github.com/Ultimaker/Cura
synced 2025-06-30 08:45:12 +08:00
Merge pull request #6884 from Ultimaker/parallelize_mypy
Speed up mypy checking
This commit is contained in:
commit
6087749274
35
run_mypy.py
35
run_mypy.py
@ -1,8 +1,9 @@
|
||||
#!/usr/bin/env python
|
||||
import os
|
||||
import sys
|
||||
import subprocess
|
||||
|
||||
from multiprocessing.dummy import Pool
|
||||
from functools import partial
|
||||
from subprocess import call
|
||||
|
||||
# A quick Python implementation of unix 'where' command.
|
||||
def where(exe_name: str, search_path: str = os.getenv("PATH")) -> str:
|
||||
@ -62,21 +63,23 @@ def main():
|
||||
|
||||
mods = ["cura"] + plugins + findModules("plugins/VersionUpgrade")
|
||||
success_code = 0
|
||||
for mod in mods:
|
||||
print("------------- Checking module {mod}".format(**locals()))
|
||||
if sys.platform == "win32":
|
||||
result = subprocess.run([mypy_module, "-p", mod, "--ignore-missing-imports"])
|
||||
else:
|
||||
result = subprocess.run([sys.executable, mypy_module, "-p", mod, "--ignore-missing-imports"])
|
||||
if result.returncode != 0:
|
||||
print("\nModule {mod} failed checking. :(".format(**locals()))
|
||||
success_code = 1
|
||||
if success_code:
|
||||
print("\n\nSome modules failed checking!")
|
||||
|
||||
pool = Pool(2) # Run two commands at once
|
||||
|
||||
if sys.platform == "win32":
|
||||
commands = ["%s -p %s --ignore-missing-imports" % (mypy_module, mod) for mod in mods]
|
||||
else:
|
||||
print("\n\nDone checking. All is good.")
|
||||
commands = ["%s %s -p %s --ignore-missing-imports" % (sys.executable, mypy_module, mod) for mod in mods]
|
||||
|
||||
for i, returncode in enumerate(pool.imap(partial(call, shell=True), commands)):
|
||||
if returncode != 0:
|
||||
print("\nCommand %s failed checking. :(" % commands[i])
|
||||
success_code = 1
|
||||
if success_code:
|
||||
print("MYPY check was compleded, but did not pass")
|
||||
else:
|
||||
print("MYPY check was compleded and passed with flying colors")
|
||||
return success_code
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
sys.exit(main())
|
||||
sys.exit(main())
|
Loading…
x
Reference in New Issue
Block a user