1*043036a2SApple OSS Distributions#!/usr/bin/env python3 2*043036a2SApple OSS Distributionsimport sys 3*043036a2SApple OSS Distributionsimport os 4*043036a2SApple OSS Distributions 5*043036a2SApple OSS Distributionstemplate = '''#!/bin/zsh 6*043036a2SApple OSS Distributionstests=( 7*043036a2SApple OSS DistributionsTEST_TARGETS 8*043036a2SApple OSS Distributions) 9*043036a2SApple OSS Distributions 10*043036a2SApple OSS Distributionss_dir=${0:A:h} 11*043036a2SApple OSS Distributionsfor file in ${tests[@]}; do 12*043036a2SApple OSS Distributions file_path=$s_dir/$file 13*043036a2SApple OSS Distributions echo "Running $file_path ..." 14*043036a2SApple OSS Distributions if [[ -f $file_path ]]; then 15*043036a2SApple OSS Distributions $file_path > /dev/null 2>/dev/null 16*043036a2SApple OSS Distributions ret=$? 17*043036a2SApple OSS Distributions if [[ $ret -eq 0 ]]; then 18*043036a2SApple OSS Distributions print -P "%F{green}*** PASS%f" 19*043036a2SApple OSS Distributions else 20*043036a2SApple OSS Distributions print -P "%F{red}*** FAILED: $file_path%f" 21*043036a2SApple OSS Distributions fi 22*043036a2SApple OSS Distributions else 23*043036a2SApple OSS Distributions print -P "%F{yellow}*** Missing%f" 24*043036a2SApple OSS Distributions fi 25*043036a2SApple OSS Distributionsdone 26*043036a2SApple OSS Distributions''' 27*043036a2SApple OSS Distributions 28*043036a2SApple OSS Distributionsdef main(): 29*043036a2SApple OSS Distributions targets_s = sys.argv[1] 30*043036a2SApple OSS Distributions output = sys.argv[2] 31*043036a2SApple OSS Distributions output_list = sys.argv[3] 32*043036a2SApple OSS Distributions 33*043036a2SApple OSS Distributions targets = targets_s.strip().split(' ') 34*043036a2SApple OSS Distributions target_lines = '\n'.join([('"' + t + '"') for t in targets]) 35*043036a2SApple OSS Distributions s = template.replace('TEST_TARGETS', target_lines) 36*043036a2SApple OSS Distributions open(output, 'w').write(s) 37*043036a2SApple OSS Distributions print(f"wrote {output}") 38*043036a2SApple OSS Distributions 39*043036a2SApple OSS Distributions open(output_list, 'w').write('\n'.join(targets) + '\n') 40*043036a2SApple OSS Distributions print(f"wrote {output_list}") 41*043036a2SApple OSS Distributions 42*043036a2SApple OSS Distributionsif __name__ == "__main__": 43*043036a2SApple OSS Distributions sys.exit(main())