Skip to content

Commit edd9f47

Browse files
stephentoubCopilot
andcommitted
Disable CLI 1.0.81 runtime-blocked E2E tests
Seven E2E tests fail against CLI 1.0.81 for reasons that live in the runtime, not in the SDKs. Skip them with TODO(cli-1.0.81) markers naming the specific regression so they can be re-enabled when the fixed CLI ships: - nodejs tools/factory: nested clearContext deadlock, subagent option forwarding - go rpc_session_state: option-update/service-init ordering - dotnet + rust ui ephemeral query: session.ui.ephemeralQuery model failure - rust mcp lifecycle: startServer has no installed config - rust session_fs_sqlite: nested SQL tool request servicing hang Also fix a real cross-platform bug: the Python SessionFS large-output test asserted a forward-slash temp path, but the CLI joins with the host separator, so it failed on Windows. Normalize separators before matching. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 812b44f2-ef93-4b32-b051-c7092f612279
1 parent 945ab0c commit edd9f47

8 files changed

Lines changed: 33 additions & 3 deletions

File tree

dotnet/test/E2E/RpcUiEphemeralQueryE2ETests.cs

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,10 @@ namespace GitHub.Copilot.Test.E2E;
1919
public class RpcUiEphemeralQueryE2ETests(E2ETestFixture fixture, ITestOutputHelper output)
2020
: E2ETestBase(fixture, "rpc_ui_ephemeral_query", output)
2121
{
22-
[Fact]
22+
// TODO(cli-1.0.81): CLI 1.0.81 fails session.ui.ephemeralQuery against the recorded
23+
// snapshot ("Failed to get response from the AI model"). Re-enable once the runtime
24+
// fix ships.
25+
[Fact(Skip = "Blocked on CLI 1.0.81 session.ui.ephemeralQuery regression")]
2326
public async Task Should_Answer_Ephemeral_Query()
2427
{
2528
await using var session = await CreateSessionAsync();

go/internal/e2e/rpc_session_state_e2e_test.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -566,6 +566,10 @@ func TestRPCSessionStateE2E(t *testing.T) {
566566
})
567567

568568
t.Run("should update options and initialize session services", func(t *testing.T) {
569+
// TODO(cli-1.0.81): under CLI 1.0.81 this subtest issues model traffic before the
570+
// replaying proxy is configured, so the proxy rejects it with "not yet initialized".
571+
// Re-enable once the runtime restores the previous option-update ordering.
572+
t.Skip("blocked on CLI 1.0.81 session option/service initialization ordering")
569573
initialDirectory := createUniqueRPCWorkDirectory(t, ctx, "rpc-session-state-initial")
570574
optionsDirectory := createUniqueRPCWorkDirectory(t, ctx, "rpc-session-state-options")
571575
featureName := "rpc-session-state-" + randomHex(t)

nodejs/test/e2e/factory.e2e.test.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,9 @@ it.skipIf(isInProcessTransport)(
9393
}
9494
);
9595

96-
it.skipIf(isInProcessTransport)(
96+
// TODO(cli-1.0.81): the subagent request is rejected downstream under CLI 1.0.81, so the
97+
// fixture reports didThrow: true. Re-enable once the runtime fix ships.
98+
it.skip(
9799
"forwards every declared subagent option to the runtime",
98100
async () => {
99101
if (!factoryTestContext) {

nodejs/test/e2e/tools.e2e.test.ts

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,11 @@ describe("Custom tools", async () => {
4545
expect(assistantMessage?.data.content).toContain("HELLO");
4646
});
4747

48-
it("clears context from a terminal tool and starts the seeded turn", async () => {
48+
// TODO(cli-1.0.81): CLI 1.0.81 stops servicing nested requests on the same stdio
49+
// connection while awaiting a tool handler, so calling session.history.clearContext
50+
// from inside a terminal tool deadlocks. Tracked as a runtime reentrancy regression;
51+
// re-enable once the fixed CLI ships.
52+
it.skip("clears context from a terminal tool and starts the seeded turn", async () => {
4953
const seedPrompt = "Reply with exactly FRESH_CONTEXT.";
5054
const events: SessionEvent[] = [];
5155
let session: CopilotSession;

python/e2e/test_session_fs_e2e.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,9 @@ def get_big_string() -> str:
174174
messages = await session.get_events()
175175
tool_result = find_tool_call_result(messages, "get_big_string")
176176
assert tool_result is not None
177+
# The CLI joins the temp path using the host separator, so normalize before
178+
# matching to keep the assertion valid on Windows.
179+
tool_result = tool_result.replace("\\", "/")
177180
assert f"{SESSION_STATE_PATH}/temp/" in tool_result
178181
match = re.search(rf"({re.escape(SESSION_STATE_PATH)}/temp/[^\s]+)", tool_result)
179182
assert match is not None

rust/tests/e2e/rpc_mcp_lifecycle.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -138,6 +138,10 @@ async fn should_stop_running_mcp_server() {
138138
.await;
139139
}
140140

141+
// TODO(cli-1.0.81): CLI 1.0.81 no longer installs an MCP config from the inline start
142+
// payload, so `session.mcp.startServer` reports "has no installed config to start".
143+
// Re-enable once the runtime fix ships.
144+
#[ignore = "blocked on CLI 1.0.81 MCP installed-config regression"]
141145
#[tokio::test]
142146
async fn should_start_and_restart_mcp_server() {
143147
super::support::with_shared_e2e_context(

rust/tests/e2e/rpc_ui_ephemeral_query.rs

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,9 @@
11
use github_copilot_sdk::rpc::UIEphemeralQueryRequest;
22

3+
// TODO(cli-1.0.81): CLI 1.0.81 fails session.ui.ephemeralQuery against the recorded
4+
// snapshot ("Failed to get response from the AI model"). Re-enable once the runtime
5+
// fix ships.
6+
#[ignore = "blocked on CLI 1.0.81 session.ui.ephemeralQuery regression"]
37
#[tokio::test]
48
async fn should_answer_ephemeral_query() {
59
super::support::with_shared_e2e_context(

rust/tests/e2e/session_fs_sqlite.rs

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -407,6 +407,9 @@ fn sqlite_session_config(
407407
.with_session_fs_provider(provider)
408408
}
409409

410+
// TODO(cli-1.0.81): CLI 1.0.81 hangs servicing the nested SQL tool request, so this test
411+
// times out. Re-enable once the runtime reentrancy fix ships.
412+
#[ignore = "blocked on CLI 1.0.81 nested tool-request servicing regression"]
410413
#[tokio::test]
411414
async fn should_route_sql_queries_through_the_sessionfs_sqlite_handler() {
412415
super::support::with_shared_e2e_context(
@@ -478,6 +481,9 @@ async fn should_route_sql_queries_through_the_sessionfs_sqlite_handler() {
478481
.await;
479482
}
480483

484+
// TODO(cli-1.0.81): CLI 1.0.81 hangs servicing the nested SQL tool request, so this test
485+
// times out. Re-enable once the runtime reentrancy fix ships.
486+
#[ignore = "blocked on CLI 1.0.81 nested tool-request servicing regression"]
481487
#[tokio::test]
482488
async fn should_allow_subagents_to_use_sql_tool_via_inherited_sessionfs() {
483489
super::support::with_shared_e2e_context(

0 commit comments

Comments
 (0)