-
Notifications
You must be signed in to change notification settings - Fork 640
Fix and unskip some skills E2E tests #69
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR fixes the skills E2E tests to enable snapshot sharing across test runs and unskips the tests that work correctly. The changes address flakiness issues caused by unique directory names per test run, which prevented snapshot reuse.
Changes:
- Added cleanup logic to ensure each test starts with a fresh skills directory
- Standardized skill directory creation to use a single
.test_skillsdirectory instead of unique per-run directories - Fixed line ending issues in Python and .NET for cross-platform compatibility
- Unskipped two working tests: "load and apply skill from skillDirectories" and "not apply skill when disabled via disabledSkills"
- Added comprehensive comments explaining why the session resume test remains skipped
Reviewed changes
Copilot reviewed 6 out of 6 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
test/snapshots/skills/should_not_apply_skill_when_disabled_via_disabledskills.yaml |
Added snapshot showing skill disabled behavior (no marker in response) |
test/snapshots/skills/should_load_and_apply_skill_from_skilldirectories.yaml |
Added snapshot showing successful skill loading and application |
python/e2e/test_skills.py |
Added cleanup fixture, standardized directory names, fixed line endings, unskipped working tests |
nodejs/test/e2e/skills.test.ts |
Added beforeEach cleanup, standardized directory names, unskipped suite with detailed skip comment for problematic test |
go/e2e/skills_test.go |
Added cleanup function, standardized directory names, renamed test function, unskipped working tests |
dotnet/test/SkillsTests.cs |
Added constructor cleanup, standardized directory names, fixed line endings, unskipped working tests |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Fixes the skills E2E tests to share snapshots and unskips the ones of them that work.
Previously we were seeing some very strange behavior whereby tests would pass or fail depending on which order they run in, and I've tracked it down to a pretty solid belief there's a bug in the underlying "resume with skills" feature. Perhaps two bugs.
The "should apply skill on session resume with skillDirectories" will fail if it runs on its own, but passes if it's in the same run as one of the other tests
If you do unskip "should apply skill on session resume with skillDirectories" and run it in the same run before "should not apply skill when disabled via disabledSkills", then the disabledSkills test will fail.
There's no .NET-specific bug that I'm aware of. The only issues with that were the ones identified yesterday (the inability for snapshots to be replayed because of mismatches in paths and line endings, both of which are fixed now).