OptionParser nnow prints password prompt to STDERR - issue 1290911

This commit is contained in:
Frank Cizmich
2014-05-24 18:36:33 -03:00
parent 72fab9ad8f
commit eeedabfc14
28 changed files with 56 additions and 27 deletions

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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 {

View File

@@ -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;