diff --git a/CodeEdit/Features/LSP/Registry/PackageSourceParser/PackageSourceParser.swift b/CodeEdit/Features/LSP/Registry/PackageSourceParser/PackageSourceParser.swift index 666f05a73b..803d061fa1 100644 --- a/CodeEdit/Features/LSP/Registry/PackageSourceParser/PackageSourceParser.swift +++ b/CodeEdit/Features/LSP/Registry/PackageSourceParser/PackageSourceParser.swift @@ -40,7 +40,7 @@ enum PackageSourceParser { false } - var source = PackageSource( + let source = PackageSource( sourceId: sourceId, type: isSourceBuild ? .sourceBuild : .github, pkgName: packageName, diff --git a/CodeEditTests/Features/Tasks/TaskManagerTests.swift b/CodeEditTests/Features/Tasks/TaskManagerTests.swift index 898c863f0f..be384edd30 100644 --- a/CodeEditTests/Features/Tasks/TaskManagerTests.swift +++ b/CodeEditTests/Features/Tasks/TaskManagerTests.swift @@ -10,7 +10,7 @@ import Testing @testable import CodeEdit @MainActor -@Suite +@Suite(.serialized) class TaskManagerTests { var taskManager: TaskManager! var mockWorkspaceSettings: CEWorkspaceSettingsData! @@ -26,9 +26,28 @@ class TaskManagerTests { #expect(taskManager.availableTasks == mockWorkspaceSettings.tasks) } - @Test(arguments: [SettingsData.TerminalShell.zsh, SettingsData.TerminalShell.bash]) - func executeSelectedTask(_ shell: SettingsData.TerminalShell) async throws { - Settings.shared.preferences.terminal.shell = shell + @Test + func executeTaskInZsh() async throws { + Settings.shared.preferences.terminal.shell = .zsh + + let task = CETask(name: "Test Task", command: "echo 'Hello World'") + mockWorkspaceSettings.tasks.append(task) + taskManager.selectedTaskID = task.id + taskManager.executeActiveTask() + + await waitForExpectation(timeout: .seconds(10)) { + self.taskManager.activeTasks[task.id]?.status == .finished + } onTimeout: { + Issue.record("Status never changed to finished.") + } + + let outputString = try #require(taskManager.activeTasks[task.id]?.output?.getBufferAsString()) + #expect(outputString.contains("Hello World")) + } + + @Test + func executeTaskInBash() async throws { + Settings.shared.preferences.terminal.shell = .bash let task = CETask(name: "Test Task", command: "echo 'Hello World'") mockWorkspaceSettings.tasks.append(task) diff --git a/CodeEditUITests/Features/UtilityArea/TerminalUtility/TerminalUtilityUITests.swift b/CodeEditUITests/Features/UtilityArea/TerminalUtility/TerminalUtilityUITests.swift index bdaccfb5bc..764b49341d 100644 --- a/CodeEditUITests/Features/UtilityArea/TerminalUtility/TerminalUtilityUITests.swift +++ b/CodeEditUITests/Features/UtilityArea/TerminalUtility/TerminalUtilityUITests.swift @@ -28,7 +28,7 @@ final class TerminalUtilityUITests: XCTestCase { } func testTerminalsInputData() throws { - var terminal = utilityArea.textViews["Terminal Emulator"] + let terminal = utilityArea.textViews["Terminal Emulator"] XCTAssertTrue(terminal.exists) terminal.click() terminal.typeText("echo hello world")