This is an automated email from the ASF dual-hosted git repository. davsclaus pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/camel-performance-tests.git
commit 6036d633f29526b39d3dc137a3941562b008185b Author: Claus Ibsen <[email protected]> AuthorDate: Fri Oct 16 22:48:57 2026 +0200 ai-benchmark: checks accept quoted values, and the apps scan every 500 ms like camel_run Three file checks failed a right answer written with quotes: move: "done/${file:name}" (4 times in r14a), throwExceptionOnFailure: "false" and parallelProcessing: "true". They accept single and double quotes now. The harness starts the apps itself with camel run --source-dir --dev; it now passes the optional camel.main.?routesReloadInterval=500 that camel_run passes since CAMEL-25661, so an agent's writes reload as soon as they do with camel_run. Co-Authored-By: Claude Opus 5.5 (1M context) <[email protected]> Claude-Session: https://claude.ai/code/session_01STT6whBgK1AqsSsUKrnE8m --- ai-benchmark/agent_mcp_stepwise.py | 5 ++++- ai-benchmark/gen_stepwise.py | 6 +++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/ai-benchmark/agent_mcp_stepwise.py b/ai-benchmark/agent_mcp_stepwise.py index 70b2d0f..bcf3d51 100755 --- a/ai-benchmark/agent_mcp_stepwise.py +++ b/ai-benchmark/agent_mcp_stepwise.py @@ -527,7 +527,10 @@ def main(): # them); the MCP tools find the integration by name name = os.path.basename(project) run_out = open(os.path.join(OUT, "camel-run.out"), "w") - proc = subprocess.Popen(["camel", "run", "--source-dir=" + project, "--dev", "--name=" + name, "--logging-color=false"], + # the scan interval camel_run uses since CAMEL-25661; the ? makes it optional, so a Camel without the option + # logs a WARN and starts + proc = subprocess.Popen(["camel", "run", "--source-dir=" + project, "--dev", "--name=" + name, "--logging-color=false", + "--prop=camel.main.?routesReloadInterval=500"], stdout=run_out, stderr=subprocess.STDOUT, cwd=project) for _ in range(60): time.sleep(1) diff --git a/ai-benchmark/gen_stepwise.py b/ai-benchmark/gen_stepwise.py index 4b5eb65..78f161a 100644 --- a/ai-benchmark/gen_stepwise.py +++ b/ai-benchmark/gen_stepwise.py @@ -300,7 +300,7 @@ EXAMPLES.append({ "check": {"file_regex": "multicast", "log_regex": ["Warehouse: pick 2 line\\(s\\) for ORD-1001", "Invoicing: bill customer C-482 for ORD-1001"], "log_not_regex": "(Warehouse|Invoicing).*ORD-1003"}, "reference": {FM: fm_s3}}, {"request": "Add parallelProcessing: true to the multicast so both departments get the order at the same moment.", - "check": {"file_regex": "parallelProcessing:\\s*true", "log_regex": ["Warehouse: pick 2 line\\(s\\) for ORD-1001", "Invoicing: bill customer C-482 for ORD-1001"]}, + "check": {"file_regex": "parallelProcessing:\\s*[\"']?true", "log_regex": ["Warehouse: pick 2 line\\(s\\) for ORD-1001", "Invoicing: bill customer C-482 for ORD-1001"]}, "reference": {FM: fm_s4}}, ]}) @@ -584,7 +584,7 @@ EXAMPLES.append({ "initial": {FP: fp_s1, "application.properties": DATA_DIR + "samples,inbox,archive\n"}, "steps": [ {"request": "The invoices route must only take the JSON files: include .*\\.json, and move each processed file to the done directory instead of the default .camel directory. The driver's note note-2005.txt must stay untouched in inbox.", - "check": {"file_regex": "move: done", "file_regex2": "include", "log_regex": "Received invoice-2004.json", "log_not_regex": "Received note-2005", "files": {"inbox/note-2005.txt": "Handwritten note", "done/invoice-2001.json": "INV-2001"}}, + "check": {"file_regex": "move: [\"']?done", "file_regex2": "include", "log_regex": "Received invoice-2004.json", "log_not_regex": "Received note-2005", "files": {"inbox/note-2005.txt": "Handwritten note", "done/invoice-2001.json": "INV-2001"}}, "reference": {FP: fp_s2}}, {"request": "Unmarshal each invoice from JSON with Jackson and log \"Invoice ${body[invoiceId]} for ${body[orderId]}: ${body[amount]} EUR\" instead of the file name.", "check": {"file_regex": "unmarshal", "log_regex": ["Invoice INV-2001 for ORD-1001: 49.4 EUR", "Invoice INV-2003 for ORD-1003: -5.0 EUR"]}, @@ -675,7 +675,7 @@ EXAMPLES.append({ "check": {"file_regex": "toD", "log_regex": ["ORD-1001: CAMEL-TSHIRT x 2, 120 in stock", "ORD-1003: CAMEL-CAP x 1, 0 in stock"]}, "reference": {HC: hc_s3}}, {"request": "Decide per line: add throwExceptionOnFailure=false to the HTTP call so a 404 does not throw, then a choice: when the header CamelHttpResponseCode is not 200 log \"${variable.orderId}: ${body[error]} (HTTP ${header.CamelHttpResponseCode})\", when ${body[qty]} >= ${variable.needed} log \"${variable.orderId}: ${variable.sku} x ${variable.needed}, ${body[qty]} in stock, ok\", otherwise log \"${variable.orderId}: ${variable.sku} x ${variable.needed}, only ${body[qty]} in [...] - "check": {"file_regex": "throwExceptionOnFailure[=:] *false", "log_regex": ["ORD-1001: CAMEL-TSHIRT x 2, 120 in stock, ok", "ORD-1003: CAMEL-CAP x 1, only 0 in stock, back-order"]}, + "check": {"file_regex": "throwExceptionOnFailure[=:] *[\"']?false", "log_regex": ["ORD-1001: CAMEL-TSHIRT x 2, 120 in stock, ok", "ORD-1003: CAMEL-CAP x 1, only 0 in stock, back-order"]}, "reference": {HC: hc_s4}}, ]})
