tools/automation/verify/__init__.py (41 lines of code) (raw):
# --------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# --------------------------------------------------------------------------------------------
from automation.verify.doc_source_map import verify_doc_source_map
from automation.verify.default_modules import verify_default_modules
import automation.verify.verify_packages
import automation.verify.verify_commands
import automation.verify.verify_module_load_times
import automation.verify.verify_load_all
def verify_license(_):
import sys
import os
from automation.utilities.path import get_repo_root
license_header = """# --------------------------------------------------------------------------------------------
# Copyright (c) Microsoft Corporation. All rights reserved.
# Licensed under the MIT License. See License.txt in the project root for license information.
# --------------------------------------------------------------------------------------------
"""
env_path = os.path.join(get_repo_root(), 'env')
files_without_header = []
for current_dir, _, files in os.walk(get_repo_root()):
if current_dir.startswith(env_path):
continue
file_itr = (os.path.join(current_dir, p) for p in files if p.endswith('.py') and p != 'azure_bdist_wheel.py')
for python_file in file_itr:
with open(python_file, 'r') as f:
file_text = f.read()
if file_text and license_header not in file_text:
files_without_header.append(os.path.join(current_dir, python_file))
if files_without_header:
sys.stderr.write("Error: The following files don't have the required license headers: \n{}".format(
'\n'.join(files_without_header)))
sys.exit(1)
def init_args(root):
parser = root.add_parser('verify', help='Verify product feature.')
parser.set_defaults(func=lambda _: parser.print_help())
sub_parser = parser.add_subparsers(title='sub commands')
license_verify = sub_parser.add_parser('license', help='Verify license headers.')
license_verify.set_defaults(func=verify_license)
doc_map = sub_parser.add_parser('document-map', help='Verify documentation map.')
doc_map.set_defaults(func=verify_doc_source_map)
def_modules = sub_parser.add_parser('default-modules', help='Verify default modules.')
def_modules.add_argument('build_folder', help='The path to the folder contains all wheel files.')
def_modules.set_defaults(func=verify_default_modules)
automation.verify.verify_packages.init(sub_parser)
automation.verify.verify_commands.init(sub_parser)
automation.verify.verify_module_load_times.init(sub_parser)
automation.verify.verify_load_all.init(sub_parser)