Enforce absolute Wasm invocation deadlines
This commit is contained in:
@@ -197,7 +197,7 @@ bool cli_doc_example_is_placeholder(String source)
|
||||
return(false);
|
||||
}
|
||||
|
||||
void cli_run_doc_pages_gate()
|
||||
void cli_run_doc_pages_gate(u64 shard = 0, u64 shard_count = 1)
|
||||
{
|
||||
StringList error_markers;
|
||||
error_markers.push_back("doc example error");
|
||||
@@ -207,12 +207,15 @@ void cli_run_doc_pages_gate()
|
||||
error_markers.push_back(String("uncaught exception during ") + "request");
|
||||
error_markers.push_back("timed out acquiring compile lock");
|
||||
|
||||
for(String file_name : ls("../doc/pages/"))
|
||||
u64 page_index = 0;
|
||||
for(String file_name : ls("../doc/pages/").sort())
|
||||
{
|
||||
String source = file_get_contents("../doc/pages/" + file_name);
|
||||
String page = nibble(file_name, ".");
|
||||
if(page == "")
|
||||
continue;
|
||||
if(page_index++ % shard_count != shard)
|
||||
continue;
|
||||
bool has_example = cli_doc_source_has_example(source);
|
||||
String path = "/doc/index.uce?p=" + uri_encode(page);
|
||||
CliHttpResponse res;
|
||||
@@ -465,7 +468,7 @@ void cli_run_wasm_kill(bool include_kill)
|
||||
void cli_print_list(bool include_kill)
|
||||
{
|
||||
print("UCE CLI test groups:\n");
|
||||
print(" demo, http, site, doc-gate, security, task-lifetime, pool-isolation, starter, tcp");
|
||||
print(" demo, http, site, doc-gate-1..30, security, task-lifetime, pool-isolation, starter, tcp");
|
||||
if(include_kill)
|
||||
print(", wasm-kill");
|
||||
print("\n");
|
||||
@@ -480,8 +483,16 @@ bool cli_run_group(String group, bool skip_local_service_pages, bool include_kil
|
||||
cli_run_http_smoke();
|
||||
else if(group == "site")
|
||||
cli_run_site_suite(skip_local_service_pages);
|
||||
else if(group == "doc-gate")
|
||||
cli_run_doc_pages_gate();
|
||||
else if(str_starts_with(group, "doc-gate-"))
|
||||
{
|
||||
u64 shard = int_val(group.substr(9));
|
||||
if(shard < 1 || shard > 30)
|
||||
{
|
||||
cli_test_case("uce_cli_runner:known doc gate shard", false, "unknown group: " + group);
|
||||
return(false);
|
||||
}
|
||||
cli_run_doc_pages_gate(shard - 1, 30);
|
||||
}
|
||||
else if(group == "security")
|
||||
cli_run_security_smoke();
|
||||
else if(group == "task-lifetime")
|
||||
@@ -526,7 +537,11 @@ CLI(Request& context)
|
||||
cli_run_group(group, input["skip_local_service_pages"].to_bool(), include_kill);
|
||||
else
|
||||
{
|
||||
for(String item : { "demo", "http", "site", "doc-gate", "security", "task-lifetime", "pool-isolation", "starter", "tcp" })
|
||||
for(String item : { "demo", "http", "site" })
|
||||
cli_run_group(item, input["skip_local_service_pages"].to_bool(), include_kill);
|
||||
for(u64 shard = 1; shard <= 30; shard++)
|
||||
cli_run_group("doc-gate-" + std::to_string(shard), input["skip_local_service_pages"].to_bool(), include_kill);
|
||||
for(String item : { "security", "task-lifetime", "pool-isolation", "starter", "tcp" })
|
||||
cli_run_group(item, input["skip_local_service_pages"].to_bool(), include_kill);
|
||||
cli_run_group("wasm-kill", input["skip_local_service_pages"].to_bool(), include_kill);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user