Skip to content

test(examples/survey): add TaskGroup testing reference (DOCS-1225)#5557

Open
kath0la wants to merge 1 commit intomainfrom
kat/add-taskgroup-test-example
Open

test(examples/survey): add TaskGroup testing reference (DOCS-1225)#5557
kath0la wants to merge 1 commit intomainfrom
kat/add-taskgroup-test-example

Conversation

@kath0la
Copy link
Copy Markdown
Contributor

@kath0la kath0la commented Apr 26, 2026

Add examples/survey/test_survey_agent.py demonstrating the TaskGroup testing best practices documented at
https://docs.livekit.io/agents/logic/tasks/#testing-task-groups:

  • userdata initialized on the AgentSession
  • transition delay after sess.start() and between sub-tasks
  • multi-turn driving until expected tools fire (sess.history walk)
  • json.loads on item.arguments for arg-level assertions
  • no assertions on startup output
  • isolation tests per AgentTask plus a full-flow TaskGroup test

Related to livekit/agents-js#1148 and livekit/web#3585.

Add examples/survey/test_survey_agent.py demonstrating the TaskGroup
testing best practices documented at
https://docs.livekit.io/agents/logic/tasks/#testing-task-groups:

- userdata initialized on the AgentSession
- transition delay after sess.start() and between sub-tasks
- multi-turn driving until expected tools fire (sess.history walk)
- json.loads on item.arguments for arg-level assertions
- no assertions on startup output
- isolation tests per AgentTask plus a full-flow TaskGroup test

Related to livekit/agents-js#1148 and livekit/web#3585.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@kath0la kath0la requested review from a team and tinalenguyen April 26, 2026 23:31
Copy link
Copy Markdown
Contributor

@devin-ai-integration devin-ai-integration Bot left a comment

Choose a reason for hiding this comment

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

Devin Review found 1 potential issue.

View 4 additional findings in Devin Review.

Open in Devin Review

Comment on lines +56 to +62
from .survey_agent import (
BehavioralTask,
CommuteTask,
ExperienceTask,
IntroTask,
Userdata,
)
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.

πŸ”΄ Missing __init__.py makes relative import fail, preventing the test from running

The test file uses a relative import from .survey_agent import (...) at line 56, but the examples/survey/ directory has no __init__.py file. Without it, Python does not recognize the directory as a package, and the relative import fails immediately with ImportError: attempted relative import with no known parent package. This was confirmed by direct reproduction. The entire test file is non-functional β€” none of the five tests can execute as documented (uv run pytest examples/survey/test_survey_agent.py).

Prompt for agents
The test file at examples/survey/test_survey_agent.py uses a relative import (from .survey_agent import ...) but examples/survey/ is not a Python package β€” it has no __init__.py. This causes ImportError: attempted relative import with no known parent package when pytest tries to collect the test.

To fix this, add an empty examples/survey/__init__.py file. This makes the directory a proper Python package so the relative import can resolve. Note that the root pytest config (pyproject.toml) already has --ignore=examples in addopts, so this __init__.py won't cause the main test suite to accidentally collect tests from examples/.
Open in Devin Review

Was this helpful? React with πŸ‘ or πŸ‘Ž to provide feedback.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant