Merge pull request #10067 from reitermarkus/sudo-prompt

Fix `sudo` prompt.
This commit is contained in:
Markus Reiter 2020-12-19 21:40:16 +01:00 committed by GitHub
commit 3f6a930044
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 3 deletions

View File

@ -167,7 +167,7 @@ class SystemCommand
options = {
# Create a new process group so that we can send `SIGINT` from
# parent to child rather than the child receiving `SIGINT` directly.
pgroup: true,
pgroup: sudo? ? nil : true,
}
options[:chdir] = chdir if chdir
@ -183,7 +183,7 @@ class SystemCommand
@status = raw_wait_thr.value
rescue Interrupt
Process.kill("INT", pid) if pid
Process.kill("INT", pid) if pid && !sudo?
raise Interrupt
rescue SystemCallError => e
@status = $CHILD_STATUS

View File

@ -55,7 +55,7 @@ describe SystemCommand do
.to receive(:popen3)
.with(
an_instance_of(Hash), ["/usr/bin/sudo", "/usr/bin/sudo"], "-E", "--",
"/usr/bin/env", "A=1", "B=2", "C=3", "env", *env_args, pgroup: true
"/usr/bin/env", "A=1", "B=2", "C=3", "env", *env_args, pgroup: nil
)
.and_wrap_original do |original_popen3, *_, &block|
original_popen3.call("true", &block)