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}},
     ]})
 

Reply via email to