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�