From 24cd0a3f63ac635f18086355b30958e5e32bddda Mon Sep 17 00:00:00 2001 From: Sergey Simonchik Date: Sun, 10 Dec 2023 12:09:10 +0100 Subject: [PATCH] terminal: disable oh-my-zsh update prompt in tests The prompt "[oh-my-zsh] Would you like to update? [Y/n]" requires user input, so test execution is blocked. Steps to reproduce: https://youtrack.jetbrains.com/issue/IDEA-315743/Create-a-block-for-New-Terminal-output-that-is-shown-on-terminal-session-start-before-prompt-is-shown#focus=Comments-27-7257411.0-0 GitOrigin-RevId: 90602755f45fd2992cd565b757d875318efbb0df --- .../plugins/terminal/LocalTerminalDirectRunner.java | 5 +++-- .../plugins/terminal/exp/util/TerminalSessionTestUtil.kt | 5 ++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/plugins/terminal/src/org/jetbrains/plugins/terminal/LocalTerminalDirectRunner.java b/plugins/terminal/src/org/jetbrains/plugins/terminal/LocalTerminalDirectRunner.java index 9880de9dd384..86fc22b62ecf 100644 --- a/plugins/terminal/src/org/jetbrains/plugins/terminal/LocalTerminalDirectRunner.java +++ b/plugins/terminal/src/org/jetbrains/plugins/terminal/LocalTerminalDirectRunner.java @@ -142,7 +142,7 @@ public class LocalTerminalDirectRunner extends AbstractTerminalRunner getTerminalEnvironment(@NotNull String workingDir) { + private @NotNull Map getTerminalEnvironment(@NotNull Map patchEnvs, @NotNull String workingDir) { Map envs = SystemInfo.isWindows ? CollectionFactory.createCaseInsensitiveStringMap() : new HashMap<>(); EnvironmentVariablesData envData = TerminalProjectOptionsProvider.getInstance(myProject).getEnvData(); if (envData.isPassParentEnvs()) { @@ -153,6 +153,7 @@ public class LocalTerminalDirectRunner extends AbstractTerminalRunner envs = getTerminalEnvironment(workingDir); + Map envs = getTerminalEnvironment(baseOptions.getEnvVariables(), workingDir); List initialCommand = doGetInitialCommand(baseOptions, envs); TerminalWidget widget = baseOptions.getWidget(); diff --git a/plugins/terminal/tests/org/jetbrains/plugins/terminal/exp/util/TerminalSessionTestUtil.kt b/plugins/terminal/tests/org/jetbrains/plugins/terminal/exp/util/TerminalSessionTestUtil.kt index 321914f9f9b3..6058026886f9 100644 --- a/plugins/terminal/tests/org/jetbrains/plugins/terminal/exp/util/TerminalSessionTestUtil.kt +++ b/plugins/terminal/tests/org/jetbrains/plugins/terminal/exp/util/TerminalSessionTestUtil.kt @@ -9,6 +9,7 @@ import com.intellij.openapi.project.Project import com.intellij.openapi.util.Disposer import com.intellij.openapi.util.registry.Registry import com.intellij.testFramework.fixtures.BasePlatformTestCase +import com.intellij.util.EnvironmentUtil import com.intellij.util.execution.ParametersListUtil import com.jediterm.core.util.TermSize import com.jediterm.terminal.RequestOrigin @@ -33,7 +34,9 @@ object TerminalSessionTestUtil { Registry.get(LocalBlockTerminalRunner.BLOCK_TERMINAL_FISH_REGISTRY).setValue(true, parentDisposable) Registry.get(LocalBlockTerminalRunner.BLOCK_TERMINAL_POWERSHELL_REGISTRY).setValue(true, parentDisposable) val runner = LocalBlockTerminalRunner(project) - val baseOptions = ShellStartupOptions.Builder().shellCommand(listOf(shellPath)).initialTermSize(initialTermSize).build() + val baseOptions = ShellStartupOptions.Builder().shellCommand(listOf(shellPath)).initialTermSize(initialTermSize) + .envVariables(mapOf(EnvironmentUtil.DISABLE_OMZ_AUTO_UPDATE to "true")) + .build() val configuredOptions = runner.configureStartupOptions(baseOptions) assumeBlockShellIntegration(configuredOptions) val process = runner.createProcess(configuredOptions)