18c339a94Sopenharmony_ci# !/usr/bin/env python3 28c339a94Sopenharmony_ci# coding=utf-8 38c339a94Sopenharmony_ci""" 48c339a94Sopenharmony_ci* Copyright (c) 2022 Shenzhen Kaihong Digital Industry Development Co., Ltd. 58c339a94Sopenharmony_ci* 68c339a94Sopenharmony_ci* HDF is dual licensed: you can use it either under the terms of 78c339a94Sopenharmony_ci* the GPL, or the BSD license, at your option. 88c339a94Sopenharmony_ci* See the LICENSE file in the root of this repository for complete details. 98c339a94Sopenharmony_ci""" 108c339a94Sopenharmony_ciimport os 118c339a94Sopenharmony_ciimport sys 128c339a94Sopenharmony_ci 138c339a94Sopenharmony_cidef do_test(): 148c339a94Sopenharmony_ci if not os.path.isfile("@ohos.test.d.ts"): 158c339a94Sopenharmony_ci return 168c339a94Sopenharmony_ci if not os.path.exists("out"): 178c339a94Sopenharmony_ci os.mkdir("out") 188c339a94Sopenharmony_ci ret = os.popen("node ../../../src/gen/cmd_gen.js -f @ohos.test.d.ts -o ./out") 198c339a94Sopenharmony_ci print(ret.read()) 208c339a94Sopenharmony_ci 218c339a94Sopenharmony_ci os.chdir("out") 228c339a94Sopenharmony_ci ret = os.popen("npx node-gyp configure build") 238c339a94Sopenharmony_ci os.chdir("..") 248c339a94Sopenharmony_ci 258c339a94Sopenharmony_ci if "COPY Release" not in ret.read(): 268c339a94Sopenharmony_ci print("error compile failed") 278c339a94Sopenharmony_ci return 288c339a94Sopenharmony_ci else: 298c339a94Sopenharmony_ci print("compile ok") 308c339a94Sopenharmony_ci 318c339a94Sopenharmony_ci os.system("npx mocha test.js") 328c339a94Sopenharmony_ci 338c339a94Sopenharmony_ci 348c339a94Sopenharmony_ciif __name__ == "__main__": 358c339a94Sopenharmony_ci work_path = os.path.split(sys.argv[0])[0] 368c339a94Sopenharmony_ci os.chdir(work_path) 378c339a94Sopenharmony_ci 388c339a94Sopenharmony_ci if len(sys.argv) >= 2: 398c339a94Sopenharmony_ci for fn in sys.argv[1:]: 408c339a94Sopenharmony_ci if os.path.isdir(fn): 418c339a94Sopenharmony_ci os.chdir(fn) 428c339a94Sopenharmony_ci do_test() 438c339a94Sopenharmony_ci os.chdir("..") 448c339a94Sopenharmony_ci else: 458c339a94Sopenharmony_ci print("error",fn,"is not exist") 468c339a94Sopenharmony_ci else: 478c339a94Sopenharmony_ci for fn in os.listdir("."): 488c339a94Sopenharmony_ci if os.path.isdir(fn): 498c339a94Sopenharmony_ci os.chdir(fn) 508c339a94Sopenharmony_ci do_test() 518c339a94Sopenharmony_ci os.chdir("..") 52