test_caching: use with_http_server (#31393)

use http server
old-commit-hash: 664a3c86ba
chrysler-long2
Justin Newberry 1 year ago committed by GitHub
parent 685f29ea56
commit 02aea8b757
  1. 31
      tools/lib/tests/test_caching.py

@ -1,12 +1,11 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
from functools import wraps from functools import partial
import http.server import http.server
import os import os
import threading
import time
import unittest import unittest
from parameterized import parameterized from parameterized import parameterized
from openpilot.selfdrive.athena.tests.helpers import with_http_server
from openpilot.tools.lib.url_file import URLFile from openpilot.tools.lib.url_file import URLFile
@ -30,27 +29,7 @@ class CachingTestRequestHandler(http.server.BaseHTTPRequestHandler):
self.end_headers() self.end_headers()
class CachingTestServer(threading.Thread): with_caching_server = partial(with_http_server, handler=CachingTestRequestHandler)
def run(self):
self.server = http.server.HTTPServer(("127.0.0.1", 0), CachingTestRequestHandler)
self.port = self.server.server_port
self.server.serve_forever()
def stop(self):
self.server.server_close()
self.server.shutdown()
def with_caching_server(func):
@wraps(func)
def wrapper(*args, **kwargs):
server = CachingTestServer()
server.start()
time.sleep(0.25) # wait for server to get it's port
try:
func(*args, **kwargs, port=server.port)
finally:
server.stop()
return wrapper
class TestFileDownload(unittest.TestCase): class TestFileDownload(unittest.TestCase):
@ -110,10 +89,10 @@ class TestFileDownload(unittest.TestCase):
@parameterized.expand([(True, ), (False, )]) @parameterized.expand([(True, ), (False, )])
@with_caching_server @with_caching_server
def test_recover_from_missing_file(self, cache_enabled, port): def test_recover_from_missing_file(self, cache_enabled, host):
os.environ["FILEREADER_CACHE"] = "1" if cache_enabled else "0" os.environ["FILEREADER_CACHE"] = "1" if cache_enabled else "0"
file_url = f"http://localhost:{port}/test.png" file_url = f"{host}/test.png"
CachingTestRequestHandler.FILE_EXISTS = False CachingTestRequestHandler.FILE_EXISTS = False
length = URLFile(file_url).get_length() length = URLFile(file_url).get_length()

Loading…
Cancel
Save