17db96d56Sopenharmony_ci# Helper script for test_tempfile.py. argv[2] is the number of a file 27db96d56Sopenharmony_ci# descriptor which should _not_ be open. Check this by attempting to 37db96d56Sopenharmony_ci# write to it -- if we succeed, something is wrong. 47db96d56Sopenharmony_ci 57db96d56Sopenharmony_ciimport sys 67db96d56Sopenharmony_ciimport os 77db96d56Sopenharmony_cifrom test.support import SuppressCrashReport 87db96d56Sopenharmony_ci 97db96d56Sopenharmony_ciwith SuppressCrashReport(): 107db96d56Sopenharmony_ci verbose = (sys.argv[1] == 'v') 117db96d56Sopenharmony_ci try: 127db96d56Sopenharmony_ci fd = int(sys.argv[2]) 137db96d56Sopenharmony_ci 147db96d56Sopenharmony_ci try: 157db96d56Sopenharmony_ci os.write(fd, b"blat") 167db96d56Sopenharmony_ci except OSError: 177db96d56Sopenharmony_ci # Success -- could not write to fd. 187db96d56Sopenharmony_ci sys.exit(0) 197db96d56Sopenharmony_ci else: 207db96d56Sopenharmony_ci if verbose: 217db96d56Sopenharmony_ci sys.stderr.write("fd %d is open in child" % fd) 227db96d56Sopenharmony_ci sys.exit(1) 237db96d56Sopenharmony_ci 247db96d56Sopenharmony_ci except Exception: 257db96d56Sopenharmony_ci if verbose: 267db96d56Sopenharmony_ci raise 277db96d56Sopenharmony_ci sys.exit(1) 28