13af6ab5fSopenharmony_ci#!/usr/bin/env python3 23af6ab5fSopenharmony_ci# -*- coding: utf-8 -*- 33af6ab5fSopenharmony_ci# 43af6ab5fSopenharmony_ci# Copyright (c) 2023 Huawei Device Co., Ltd. 53af6ab5fSopenharmony_ci# Licensed under the Apache License, Version 2.0 (the "License"); 63af6ab5fSopenharmony_ci# you may not use this file except in compliance with the License. 73af6ab5fSopenharmony_ci# You may obtain a copy of the License at 83af6ab5fSopenharmony_ci# 93af6ab5fSopenharmony_ci# http://www.apache.org/licenses/LICENSE-2.0 103af6ab5fSopenharmony_ci# 113af6ab5fSopenharmony_ci# Unless required by applicable law or agreed to in writing, software 123af6ab5fSopenharmony_ci# distributed under the License is distributed on an "AS IS" BASIS, 133af6ab5fSopenharmony_ci# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 143af6ab5fSopenharmony_ci# See the License for the specific language governing permissions and 153af6ab5fSopenharmony_ci# limitations under the License. 163af6ab5fSopenharmony_ci 173af6ab5fSopenharmony_ciimport argparse 183af6ab5fSopenharmony_ciimport os 193af6ab5fSopenharmony_ciimport subprocess 203af6ab5fSopenharmony_ciimport time 213af6ab5fSopenharmony_ci 223af6ab5fSopenharmony_ciimport schedule 233af6ab5fSopenharmony_ci 243af6ab5fSopenharmony_cifrom utils.download_sdk_and_image.download import get_the_image 253af6ab5fSopenharmony_ci 263af6ab5fSopenharmony_ci 273af6ab5fSopenharmony_cidef prepare_test(): 283af6ab5fSopenharmony_ci arguments = parse_args() 293af6ab5fSopenharmony_ci prepared = True 303af6ab5fSopenharmony_ci if not arguments.skip_download_sdk: 313af6ab5fSopenharmony_ci sdk_prepared = get_the_image('sdk', '', None, None) 323af6ab5fSopenharmony_ci prepared = prepared and sdk_prepared 333af6ab5fSopenharmony_ci if not arguments.skip_download_dayu: 343af6ab5fSopenharmony_ci dayu_prepared = get_the_image('dayu', '', None, None) 353af6ab5fSopenharmony_ci job(['python', './utils/flash_image/burn_image.py']) 363af6ab5fSopenharmony_ci prepared = prepared and dayu_prepared 373af6ab5fSopenharmony_ci job(['python', './utils/commit_message/get_commit_message.py']) 383af6ab5fSopenharmony_ci return prepared 393af6ab5fSopenharmony_ci 403af6ab5fSopenharmony_ci 413af6ab5fSopenharmony_cidef parse_args(): 423af6ab5fSopenharmony_ci parser = argparse.ArgumentParser() 433af6ab5fSopenharmony_ci parser.add_argument('--skipDownloadSdk', dest='skip_download_sdk', action='store_true', default=False, 443af6ab5fSopenharmony_ci help='specify whether to skip the download sdk or not') 453af6ab5fSopenharmony_ci parser.add_argument('--skipDownloadDayu', dest='skip_download_dayu', action='store_true', default=False, 463af6ab5fSopenharmony_ci help='specify whether to skip the download dayu or not') 473af6ab5fSopenharmony_ci 483af6ab5fSopenharmony_ci return parser.parse_args() 493af6ab5fSopenharmony_ci 503af6ab5fSopenharmony_ci 513af6ab5fSopenharmony_cidef job(cmd): 523af6ab5fSopenharmony_ci subprocess.run(cmd, shell=False) 533af6ab5fSopenharmony_ci 543af6ab5fSopenharmony_ci 553af6ab5fSopenharmony_cidef run(): 563af6ab5fSopenharmony_ci if not prepare_test(): 573af6ab5fSopenharmony_ci return 583af6ab5fSopenharmony_ci 593af6ab5fSopenharmony_ci job(os.path.join(".", "auto_xts_test", "run.bat")) 603af6ab5fSopenharmony_ci job(f'python {os.path.join(".", "sdk_test", "entry.py")}') 613af6ab5fSopenharmony_ci job(f'python {os.path.join(".", "performance_test", "performance_entry.py")}') 623af6ab5fSopenharmony_ci job(f'python {os.path.join(".", "utils", "send_email", "send_email.py")}') 633af6ab5fSopenharmony_ci 643af6ab5fSopenharmony_ci 653af6ab5fSopenharmony_ciif __name__ == '__main__': 663af6ab5fSopenharmony_ci schedule.every().day.at("02:10").do(run) 673af6ab5fSopenharmony_ci run() 683af6ab5fSopenharmony_ci while True: 693af6ab5fSopenharmony_ci schedule.run_pending() 703af6ab5fSopenharmony_ci time.sleep(1) 713af6ab5fSopenharmony_ci 723af6ab5fSopenharmony_ci 73