mirror of
https://github.com/esp8266/Arduino.git
synced 2025-04-19 23:22:16 +03:00
* Fix Python3 errors for device tests The Python3 migration didn't include fixes for local scripts in the device test tree. Fatal build and run Python errors fixed. The last update to xunitmerge is ~5 years ago, so it looks to be unsupported now. Use a local copy of the two components to allow patching to work with Python3. The serial test seems to send garbage chars (non-ASCII/etc.), so use a codepage 437 which supports all 255 chars. Fixes: #6660 * Run tests at 160MHz (req'd for some SSL connections) * Fix debuglevel options for builder * Fix Python3 interpreter path in xunitmerge * Remove virtualenv on "make clean" * Add appropriate attribution, license to xunitmerge Add like to the original sources with the author's license to the copied/fixed xunitmerge files.
63 lines
1.7 KiB
Python
63 lines
1.7 KiB
Python
#!/usr/bin/env python3
|
|
|
|
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 ('trying port %d' %port, file=sys.stderr)
|
|
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 ('starting up on %s port %s' % server_address, file=sys.stderr)
|
|
print ( 'waiting for connections', file=sys.stderr)
|
|
while running:
|
|
print ('loop', file=sys.stderr)
|
|
readable, writable, errored = select.select([sock], [], [], 1.0)
|
|
if readable:
|
|
connection, client_address = sock.accept()
|
|
try:
|
|
print('client connected: %s' % str(client_address), file=sys.stderr)
|
|
finally:
|
|
print ('close', file=sys.stderr)
|
|
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 ('closing', file=sys.stderr)
|
|
running = False
|
|
thread.join()
|
|
return 0
|