test(parallel): compare #1186 service edges whole again

Both passes now emit byte-identical HTTP_CALLS and ASYNC_CALLS
properties, so the vendor-types parity fingerprint hashes them whole
again instead of trimming the "args" member. The precondition change
from the previous fixture correction stays.

Refs #1186

Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com>
This commit is contained in:
Martin Vogel committed 2026-10-13 00:02:21 +02:00
1 parent a701627007
commit 87a815ae1e
1 file changed
+2 -16
+2 -16
View File
@@ -5035,23 +5035,9 @@ static bool php_vendor_service_edge(const cbm_gbuf_t *gb, const char *type, cons
static void php_vendor_edge_fp(const cbm_gbuf_edge_t *edge, void *ud) {
if (strcmp(edge->type, "CALLS") == 0 || strcmp(edge->type, "USAGE") == 0 ||
strcmp(edge->type, "INHERITS") == 0 || strcmp(edge->type, "IMPORTS") == 0) {
strcmp(edge->type, "INHERITS") == 0 || strcmp(edge->type, "IMPORTS") == 0 ||
strcmp(edge->type, "HTTP_CALLS") == 0 || strcmp(edge->type, "ASYNC_CALLS") == 0)
fp_visit_edge(edge, ud);
} else if (strcmp(edge->type, "HTTP_CALLS") == 0 || strcmp(edge->type, "ASYNC_CALLS") == 0) {
/* The parallel emitter appends the call's "args" member last; the
* sequential one leaves route/service props without it by design
* (pass_calls.c calls_emit_edge: those props feed full-only passes).
* Every other property, and the edge itself, must still agree. */
const char *props = edge->properties_json ? edge->properties_json : "";
const char *args = strstr(props, ",\"args\":[");
char trimmed[2048];
cbm_gbuf_edge_t copy = *edge;
if (args) {
snprintf(trimmed, sizeof(trimmed), "%.*s}", (int)(args - props), props);
copy.properties_json = trimmed;
}
fp_visit_edge(&copy, ud);
}
}
/* 1 when the graph holds no vendor-named edge and every control edge. */