1*1735Szelenkov@nginx.comimport os 2*1735Szelenkov@nginx.comimport socket 3*1735Szelenkov@nginx.comimport time 4*1735Szelenkov@nginx.com 5*1735Szelenkov@nginx.comimport pytest 6*1735Szelenkov@nginx.com 7*1735Szelenkov@nginx.com 8*1735Szelenkov@nginx.comdef public_dir(path): 9*1735Szelenkov@nginx.com os.chmod(path, 0o777) 10*1735Szelenkov@nginx.com 11*1735Szelenkov@nginx.com for root, dirs, files in os.walk(path): 12*1735Szelenkov@nginx.com for d in dirs: 13*1735Szelenkov@nginx.com os.chmod(os.path.join(root, d), 0o777) 14*1735Szelenkov@nginx.com for f in files: 15*1735Szelenkov@nginx.com os.chmod(os.path.join(root, f), 0o777) 16*1735Szelenkov@nginx.com 17*1735Szelenkov@nginx.com 18*1735Szelenkov@nginx.comdef waitforfiles(*files): 19*1735Szelenkov@nginx.com for i in range(50): 20*1735Szelenkov@nginx.com wait = False 21*1735Szelenkov@nginx.com 22*1735Szelenkov@nginx.com for f in files: 23*1735Szelenkov@nginx.com if not os.path.exists(f): 24*1735Szelenkov@nginx.com wait = True 25*1735Szelenkov@nginx.com break 26*1735Szelenkov@nginx.com 27*1735Szelenkov@nginx.com if not wait: 28*1735Szelenkov@nginx.com return True 29*1735Szelenkov@nginx.com 30*1735Szelenkov@nginx.com time.sleep(0.1) 31*1735Szelenkov@nginx.com 32*1735Szelenkov@nginx.com return False 33*1735Szelenkov@nginx.com 34*1735Szelenkov@nginx.com 35*1735Szelenkov@nginx.comdef waitforsocket(port): 36*1735Szelenkov@nginx.com for i in range(50): 37*1735Szelenkov@nginx.com with socket.socket(socket.AF_INET, socket.SOCK_STREAM) as sock: 38*1735Szelenkov@nginx.com try: 39*1735Szelenkov@nginx.com sock.settimeout(5) 40*1735Szelenkov@nginx.com sock.connect(('127.0.0.1', port)) 41*1735Szelenkov@nginx.com return 42*1735Szelenkov@nginx.com 43*1735Szelenkov@nginx.com except ConnectionRefusedError: 44*1735Szelenkov@nginx.com time.sleep(0.1) 45*1735Szelenkov@nginx.com 46*1735Szelenkov@nginx.com except KeyboardInterrupt: 47*1735Szelenkov@nginx.com raise 48*1735Szelenkov@nginx.com 49*1735Szelenkov@nginx.com pytest.fail('Can\'t connect to the 127.0.0.1:' + port) 50*1735Szelenkov@nginx.com 51