mirror of
https://github.com/percona/percona-toolkit.git
synced 2025-09-09 18:30:16 +00:00
OptionParser nnow prints password prompt to STDERR - issue 1290911
This commit is contained in:
@@ -3381,7 +3381,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -866,7 +866,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -1593,7 +1593,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -1593,7 +1593,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -943,7 +943,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -939,7 +939,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -1927,7 +1927,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -867,7 +867,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -1359,7 +1359,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -868,7 +868,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -938,7 +938,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -1675,7 +1675,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -1520,7 +1520,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -948,7 +948,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -955,7 +955,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -2188,7 +2188,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -868,7 +868,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -941,7 +941,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -876,7 +876,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -1093,7 +1093,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -2605,7 +2605,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -956,7 +956,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -1305,7 +1305,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -2185,7 +2185,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -945,7 +945,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -1542,7 +1542,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -1090,7 +1090,7 @@ sub prompt_noecho {
|
||||
shift @_ if ref $_[0] eq __PACKAGE__;
|
||||
my ( $prompt ) = @_;
|
||||
local $OUTPUT_AUTOFLUSH = 1;
|
||||
print $prompt
|
||||
print STDERR $prompt
|
||||
or die "Cannot print: $OS_ERROR";
|
||||
my $response;
|
||||
eval {
|
||||
|
@@ -2117,6 +2117,32 @@ is(
|
||||
"--optimize got its value (bug 1199589)"
|
||||
);
|
||||
|
||||
|
||||
# #############################################################################
|
||||
# Issue 1290911 : prompt_noecho should send prompt to STDERR so user can
|
||||
# direct STDOUT to a file and still see the prompt
|
||||
# #############################################################################
|
||||
|
||||
$o = new OptionParser();
|
||||
|
||||
$output = output(
|
||||
sub {
|
||||
my $input = "thepassword";
|
||||
local *STDIN;
|
||||
open STDIN, '<', \$input;
|
||||
$o->prompt_noecho('Test Prompt:'); },
|
||||
|
||||
stderr=>1,
|
||||
);
|
||||
|
||||
is (
|
||||
$output,
|
||||
"Test Prompt:\n",
|
||||
'prompt_no_echo outputs prompt to STDERR'
|
||||
);
|
||||
|
||||
|
||||
|
||||
# #############################################################################
|
||||
# Done.
|
||||
# #############################################################################
|
||||
@@ -2133,3 +2159,6 @@ like(
|
||||
|
||||
done_testing;
|
||||
exit;
|
||||
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user