17db96d56Sopenharmony_ci#!/bin/bash 27db96d56Sopenharmony_ciINTERPRETER_UNDER_TEST="$1" 37db96d56Sopenharmony_ciif [[ ! -x "${INTERPRETER_UNDER_TEST}" ]]; then 47db96d56Sopenharmony_ci echo "Interpreter must be the command line argument." 57db96d56Sopenharmony_ci exit 4 67db96d56Sopenharmony_cifi 77db96d56Sopenharmony_ciEXECUTABLE="$0" exec "${INTERPRETER_UNDER_TEST}" -E - <<END_OF_PYTHON 87db96d56Sopenharmony_ciimport os 97db96d56Sopenharmony_ciimport zipfile 107db96d56Sopenharmony_ci 117db96d56Sopenharmony_cinamespace = {} 127db96d56Sopenharmony_ci 137db96d56Sopenharmony_cifilename = os.environ['EXECUTABLE'] 147db96d56Sopenharmony_ciprint(f'Opening {filename} as a zipfile.') 157db96d56Sopenharmony_ciwith zipfile.ZipFile(filename, mode='r') as exe_zip: 167db96d56Sopenharmony_ci for file_info in exe_zip.infolist(): 177db96d56Sopenharmony_ci data = exe_zip.read(file_info) 187db96d56Sopenharmony_ci exec(data, namespace, namespace) 197db96d56Sopenharmony_ci break # Only use the first file in the archive. 207db96d56Sopenharmony_ci 217db96d56Sopenharmony_ciprint('Favorite number in executable:', namespace["FAVORITE_NUMBER"]) 227db96d56Sopenharmony_ci 237db96d56Sopenharmony_ci### Archive contents will be appended after this file. ### 247db96d56Sopenharmony_ciEND_OF_PYTHON 257db96d56Sopenharmony_ciPK 267db96d56Sopenharmony_ci\*OI_?SEEtestdata_module_inside_zip.pyUT �{w]��w]ux��# Test data file to be stored within a zip file. 277db96d56Sopenharmony_ciFAVORITE_NUMBER = 5 287db96d56Sopenharmony_ciPK 297db96d56Sopenharmony_ci\*OI_?SEE��testdata_module_inside_zip.pyUT�{w]ux��PKc�