1
0
mirror of https://github.com/esphome/esphome.git synced 2025-10-30 06:33:51 +00:00

fix assumptions

This commit is contained in:
J. Nick Koston
2025-10-16 13:00:16 -10:00
parent 8340bb8566
commit 532e6acbed
3 changed files with 28 additions and 25 deletions

View File

@@ -7,7 +7,7 @@ api:
# Test 1: Queue depth with default max_runs=5
- action: test_queue_depth
then:
- logger.log: "=== TEST 1: Queue depth (should process 1-5, reject 6) ==="
- logger.log: "=== TEST 1: Queue depth (max_runs=5 means 1 running + 5 queued = 6 total, reject 7) ==="
- script.execute:
id: queue_depth_script
value: 1
@@ -26,6 +26,9 @@ api:
- script.execute:
id: queue_depth_script
value: 6
- script.execute:
id: queue_depth_script
value: 7
# Test 2: Ring buffer wrap test
- action: test_ring_buffer
@@ -61,7 +64,7 @@ api:
# Test 4: Verify rejection (max_runs=3)
- action: test_rejection
then:
- logger.log: "=== TEST 4: Verify rejection (max_runs=3, try 8) ==="
- logger.log: "=== TEST 4: Verify rejection (max_runs=3 means 1 running + 3 queued = 4 total, reject 5-8) ==="
- script.execute:
id: rejection_script
val: 1

View File

@@ -70,7 +70,7 @@ async def test_script_queued(
if match := queue_end.search(line):
item = int(match.group(1))
if item == 5 and not test1_complete.done():
if item == 6 and not test1_complete.done():
test1_complete.set_result(True)
if queue_reject.search(line):
@@ -115,7 +115,7 @@ async def test_script_queued(
if match := reject_end.search(line):
item = int(match.group(1))
if item == 3 and not test4_complete.done():
if item == 4 and not test4_complete.done():
test4_complete.set_result(True)
if reject_reject.search(line):
@@ -145,11 +145,11 @@ async def test_script_queued(
await asyncio.sleep(0.1) # Give time for rejections
# Verify Test 1
assert sorted(test_results["queue_depth"]["processed"]) == [1, 2, 3, 4, 5], (
f"Test 1: Expected to process items 1-5, got {sorted(test_results['queue_depth']['processed'])}"
assert sorted(test_results["queue_depth"]["processed"]) == [1, 2, 3, 4, 5, 6], (
f"Test 1: Expected to process items 1-6 (max_runs=5 means 5 queued + 1 running), got {sorted(test_results['queue_depth']['processed'])}"
)
assert test_results["queue_depth"]["rejections"] > 0, (
"Test 1: Expected at least one rejection warning"
"Test 1: Expected at least one rejection warning (item 7 should be rejected)"
)
# Test 2: Ring buffer order
@@ -188,11 +188,11 @@ async def test_script_queued(
await asyncio.sleep(0.1) # Give time for rejections
# Verify Test 4
assert sorted(test_results["rejection"]["processed"]) == [1, 2, 3], (
f"Test 4: Expected to process items 1-3, got {sorted(test_results['rejection']['processed'])}"
assert sorted(test_results["rejection"]["processed"]) == [1, 2, 3, 4], (
f"Test 4: Expected to process items 1-4 (max_runs=3 means 3 queued + 1 running), got {sorted(test_results['rejection']['processed'])}"
)
assert test_results["rejection"]["rejections"] == 5, (
f"Test 4: Expected 5 rejections (items 4-8), got {test_results['rejection']['rejections']}"
assert test_results["rejection"]["rejections"] == 4, (
f"Test 4: Expected 4 rejections (items 5-8), got {test_results['rejection']['rejections']}"
)
# Test 5: No parameters