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