Skip to content

Fix Azure Functions E2E log framing and host isolation - #332

Open
andystaples wants to merge 3 commits into
mainfrom
andystaples-logging-e2e-flake
Open

andystaples wants to merge 3 commits into
mainfrom
andystaples-logging-e2e-flake

Conversation

@andystaples

Copy link
Copy Markdown
Contributor

Summary

  • Extract timestamp-delimited host log records when adjacent records share a physical line. Keep the existing exact host-prefix/message assertion and category-filter coverage unchanged.
  • Give each sample Functions host its own task hub instead of sharing one hub across the Nox session. In the captured rewind failure, dtask_style consumed v1_style's rewind_target before fail_once ran; the accepted rewind was then followed by the activity's first real failure.
  • Add host-free regression coverage for log framing and task-hub isolation. Require the rewind test's initial failure to contain the deliberate activity error, rather than accepting any failed state.

These changes are confined to E2E infrastructure and tests; no SDK behavior, retry policy, or timeouts change.

Fixes #330.
Fixes #331.

andystaples and others added 2 commits November 2, 2026 12:55
Split concatenated timestamped records before returning matched host output, preserving strict logging assertions.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Give each FunctionApp its own stable task hub instead of sharing the Nox session hub, and verify rewind starts from the intended activity failure.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
Copilot AI balanced review requested due to automatic review settings November 2, 2026 19:59

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No active review issues were identified for the test-infrastructure changes targeting host-log parsing and task-hub isolation.

No open issues 🎉

What changed in this PR

This PR addresses Azure Functions E2E flakes from adjacent host log records and sample hosts sharing a task hub. Changes are limited to test infrastructure and coverage; SDK behavior, retry policies, and timeouts remain unchanged.

Changes:

  • Extract timestamp-delimited host log records while preserving exact message assertions and category-filter coverage.
  • Assign each sample host its own task hub instead of sharing one across the Nox session.
  • Add host-free regression tests and require the rewind test’s initial failure to contain the deliberate activity error.
File Description
tests/​azure-functions-durable/​e2e/​test_v1_client_e2e.py Verify the expected initial rewind failure and correct the module docstring.
tests/​azure-functions-durable/​e2e/​test_host_log_records.py Cover adjacent log records and preservation of nonmatching output.
tests/​azure-functions-durable/​e2e/​test_host_isolation.py Verify unique, stable task hubs without modifying the parent environment.
tests/​azure-functions-durable/​e2e/​_harness.py Add per-host task hubs and timestamp-based log record extraction.
noxfile.py Remove the session-wide shared task hub setting.

Review effort: Balanced

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

2 participants