40 lines
1.8 KiB
Python
40 lines
1.8 KiB
Python
ERROR_MARKERS = [
|
|
"compile error",
|
|
"runtime error",
|
|
"timed out acquiring compile lock",
|
|
"near line",
|
|
]
|
|
|
|
|
|
def register(registry):
|
|
pages = [
|
|
("site tests index", "/tests/index.uce", "Coverage Index", ["http", "suite", "uce", "public"]),
|
|
("site tests core", "/tests/core.uce", "Core APIs", ["http", "suite", "uce", "public"]),
|
|
("site tests preprocessor", "/tests/preprocessor.uce", "top-level )\" marker", ["http", "suite", "uce", "public"]),
|
|
("site tests http", "/tests/http.uce", "HTTP And Session", ["http", "suite", "uce", "public"]),
|
|
("site tests components", "/tests/components.uce", "Components", ["http", "suite", "uce", "public"]),
|
|
("site tests markdown", "/tests/markdown.uce", "Markdown", ["http", "suite", "uce", "public"]),
|
|
("site tests units", "/tests/units.uce", "Units", ["http", "suite", "uce", "public"]),
|
|
("site tests websockets page", "/tests/websockets.ws.uce", "WebSockets", ["http", "suite", "uce", "public", "websocket"]),
|
|
("site tests filesystem", "/tests/io.uce", "Filesystem", ["http", "suite", "uce", "internal"]),
|
|
("site tests services", "/tests/services.uce", "Sockets And Services", ["http", "suite", "uce", "internal"]),
|
|
("site tests tasks", "/tests/tasks.uce", "Tasks", ["http", "suite", "uce", "internal"]),
|
|
]
|
|
|
|
for name, path, title, tags in pages:
|
|
def make_case(page_path=path, expected_title=title):
|
|
def run(context):
|
|
response = context.expect_status(page_path, 200)
|
|
context.expect_body_contains(response, expected_title)
|
|
|
|
body_lower = response.text.lower()
|
|
for marker in ERROR_MARKERS:
|
|
if marker in body_lower:
|
|
raise Exception("response body contained error marker %r for %s" % (marker, page_path))
|
|
|
|
return "HTTP 200 with suite page marker for %s" % page_path
|
|
|
|
return run
|
|
|
|
registry.case(name, make_case(), tags=tags)
|