Skip to content

test: add coverage for Python/Node runtimes and upload-pipeline-artifact#461

Merged
jamesadevine merged 3 commits intomainfrom
copilot/test-gap-analysis-python-node
May 8, 2026
Merged

test: add coverage for Python/Node runtimes and upload-pipeline-artifact#461
jamesadevine merged 3 commits intomainfrom
copilot/test-gap-analysis-python-node

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented May 8, 2026

Closes test gaps in the Python/Node runtimes and upload-pipeline-artifact: zero unit tests on the YAML generators, no integration coverage for runtimes: python|node, no tools/list assertion for upload-pipeline-artifact, and no execute dispatch test for it.

  • Python/Node generator unit testsgenerate_python_install (default + pinned), generate_pip_authenticate, generate_node_install (default + pinned), generate_npm_authenticate, generate_ensure_npmrc (default registry fallback + custom feed-url branch).
  • Compile integration testsruntimes: python: true, runtimes: python: { version: "3.12" }, and runtimes: node: true end-to-end via the ado-aw binary, asserting the expected UsePythonVersion@0 / NodeTool@0 task and versionSpec.
  • MCP tools/list — assert upload-pipeline-artifact is registered.
  • Execute dispatchtest_execute_malformed_upload_pipeline_artifact_returns_err mirrors the existing wiki/upload patterns and exercises the dispatch_resource_tools arm.
  • Bug fix surfaced by the new Node integration testNodeExtension::name() returned "Node.js", whose . is rejected by the wrap_prompt_append display_name sanitizer, so any pipeline with runtimes: node failed to compile. Renamed to "Node" and updated the three pre-existing extension tests pinning the string. The Node runtime had no compile-level test, which is why this slipped through — exactly the gap this PR closes.
  • Merge conflict resolution — merged main into the branch and resolved a conflict in tests/compiler_tests.rs, preserving both the new dotnet runtime integration tests landed on main and the new Python/Node runtime integration tests added by this PR.

Summary

Adds 7 unit tests, 3 compile-level integration tests, and a missing MCP tools/list assertion to cover the Python/Node runtimes and the upload-pipeline-artifact safe output. The new Node integration test surfaced and is fixed alongside a regression where NodeExtension::name() ("Node.js") violated the display_name sanitizer, breaking Node runtime compilation. Also resolves a merge conflict with main so both the new dotnet runtime tests and the new Python/Node runtime tests coexist in tests/compiler_tests.rs.

Test plan

  • cargo test --bin ado-aw — 1234 passed (was 1227, +7).
  • cargo test --test compiler_tests -- test_python_runtime test_node_runtime test_dotnet_runtime test_lean_runtime — all 6 runtime integration tests pass after the merge resolution.
  • cargo test --test compiler_tests -- test_python_runtime test_node_runtime — 3 new tests pass; without the Node.jsNode fix, test_node_runtime_compiled_output fails with the sanitizer error, confirming the test catches the regression.
  • cargo test --test mcp_http_tests test_mcp_initialize_and_tools_list — passes with the new assertion.
  • cargo clippy --all-targets --all-features — no new warnings.

…, fix Node display_name

Agent-Logs-Url: https://github.com/githubnext/ado-aw/sessions/fe597b1f-5968-4257-8d4c-1b63e8dfc7e4

Co-authored-by: jamesadevine <4742697+jamesadevine@users.noreply.github.com>
Copilot AI changed the title [WIP] Add tests for Python and Node runtime gaps test: add coverage for Python/Node runtimes and upload-pipeline-artifact May 8, 2026
Copilot AI requested a review from jamesadevine May 8, 2026 12:16
@jamesadevine jamesadevine marked this pull request as ready for review May 8, 2026 14:27
@jamesadevine
Copy link
Copy Markdown
Collaborator

@copilot resolve the merge conflicts in this pull request

Co-authored-by: jamesadevine <4742697+jamesadevine@users.noreply.github.com>
Copy link
Copy Markdown
Contributor Author

Copilot AI commented May 8, 2026

@copilot resolve the merge conflicts in this pull request

Resolved the merge conflicts in tests/compiler_tests.rs by preserving both the new dotnet runtime integration tests from main and the new Python/Node runtime integration tests from this branch. All six runtime integration tests pass (test_dotnet_runtime_compiled_output, test_dotnet_runtime_with_feed_url_compiled_output, test_python_runtime_compiled_output, test_python_runtime_pinned_version_compiled_output, test_node_runtime_compiled_output, test_lean_runtime_compiled_output). Done in 16bd337.

@jamesadevine jamesadevine merged commit df4d120 into main May 8, 2026
@jamesadevine jamesadevine deleted the copilot/test-gap-analysis-python-node branch May 8, 2026 14:57
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.

🧪 Test gap analysis — 4 gaps found in Python/Node runtimes and upload-pipeline-artifact

2 participants