mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-22 21:23:07 +03:00
* device test for #4516 (WiFiClient leaking) * simply count the number of connections that do not change heap * remove unused heapLost * + python server (to not depend on gateway's opened tcp port) * remove old&bad define * fix another old address
61 lines
1.6 KiB
Python
61 lines
1.6 KiB
Python
from mock_decorators import setup, teardown
|
|
from flask import Flask, request
|
|
from threading import Thread
|
|
import socket
|
|
import select
|
|
import sys
|
|
import os
|
|
|
|
@setup('WiFi release ClientContext')
|
|
def setup_tcpsrv(e):
|
|
|
|
global thread
|
|
|
|
app = Flask(__name__)
|
|
|
|
def run():
|
|
|
|
global running
|
|
|
|
running = False
|
|
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
|
|
for port in range(8266, 8285 + 1):
|
|
try:
|
|
print >>sys.stderr, 'trying port', port
|
|
server_address = ("0.0.0.0", port)
|
|
sock.bind(server_address)
|
|
sock.listen(1)
|
|
running = True
|
|
break
|
|
except Exception:
|
|
print >>sys.stderr, 'busy'
|
|
if not running:
|
|
return
|
|
print >>sys.stderr, 'starting up on %s port %s' % server_address
|
|
print >>sys.stderr, 'waiting for connections'
|
|
while running:
|
|
print >>sys.stderr, 'loop'
|
|
readable, writable, errored = select.select([sock], [], [], 1.0)
|
|
if readable:
|
|
connection, client_address = sock.accept()
|
|
try:
|
|
print >>sys.stderr, 'client connected:', client_address
|
|
finally:
|
|
print >>sys.stderr, 'close'
|
|
connection.shutdown(socket.SHUT_RDWR)
|
|
connection.close()
|
|
|
|
thread = Thread(target=run)
|
|
thread.start()
|
|
|
|
@teardown('WiFi release ClientContext')
|
|
def teardown_tcpsrv(e):
|
|
|
|
global thread
|
|
global running
|
|
|
|
print >>sys.stderr, 'closing'
|
|
running = False
|
|
thread.join()
|
|
return 0
|