183760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh# Helper script for test_tempfile.py. argv[2] is the number of a file 283760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh# descriptor which should _not_ be open. Check this by attempting to 383760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh# write to it -- if we succeed, something is wrong. 483760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh 583760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsiehimport sys 683760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsiehimport os 783760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh 883760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsiehverbose = (sys.argv[1] == 'v') 983760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsiehtry: 1083760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh fd = int(sys.argv[2]) 1183760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh 1283760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh try: 1383760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh os.write(fd, "blat") 1483760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh except os.error: 1583760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh # Success -- could not write to fd. 1683760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh sys.exit(0) 1783760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh else: 1883760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh if verbose: 1983760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh sys.stderr.write("fd %d is open in child" % fd) 2083760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh sys.exit(1) 2183760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh 2283760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsiehexcept StandardError: 2383760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh if verbose: 2483760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh raise 2583760d213fb3bec7b4117d266fcfbf6fe2ba14abAndrew Hsieh sys.exit(1) 26