All of lore.kernel.org
 help / color / mirror / Atom feed
From: Masahiro Yamada <yamada.m@jp.panasonic.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH] tools: genboardscfg.py, use default terminal size if undetectable
Date: Thu, 07 Aug 2014 21:47:38 +0900	[thread overview]
Message-ID: <20140807214738.96F0.AA925319@jp.panasonic.com> (raw)
In-Reply-To: <1407408413-19313-1-git-send-email-roger@bufferoverflow.ch>

Hi Roger,


On Thu,  7 Aug 2014 12:46:53 +0200
Roger Meier <roger@bufferoverflow.ch> wrote:

> The existing terminalsize detection raised an exception on build
> server. Removes the exception and return a default value.
> 
> Signed-off-by: Roger Meier <roger@bufferoverflow.ch>
> CC: Masahiro Yamada <yamada.m@jp.panasonic.com>
> ---
>  tools/genboardscfg.py |    8 +++-----
>  1 file changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/tools/genboardscfg.py b/tools/genboardscfg.py
> index 734d90b..892c033 100755
> --- a/tools/genboardscfg.py
> +++ b/tools/genboardscfg.py
> @@ -58,11 +58,9 @@ def get_terminal_columns():
>          try:
>              ret = fcntl.ioctl(sys.stdout.fileno(), termios.TIOCGWINSZ, arg)
>          except IOError as exception:
> -            if exception.errno != errno.ENOTTY:
> -                raise
>              # If 'Inappropriate ioctl for device' error occurs,
> -            # stdout is probably redirected. Return 0.
> -            return 0
> +            # stdout is probably redirected. Return default size.
> +            return (25, 80)
>          return struct.unpack('hhhh', ret)[1]


Wrong.
This function is supposed to return an integer.
With your patch, it returns a tuple on the exception.

OK.
We can fix it easily.
  (25, 80)   -->   80


But I still see a problem.

When ENOTTY error happens, tty is not associated.
No reason to display the progress indicator.

Assume this tool is called from an upper level script
and the output is redirected to a log file.

In that case, I get an ugly log file as follows:



^M   1/1177 [>                                                       ]^M   2/1177 [>                                                       ]^M   3/1177 [>                                                       ]^M   4/1177 [>                                                       ]^M   5/1177 [>                                                       ]^M   6/1177 [>                                                       ]^M   7/1177 [>                                                       ]^M   8/1177 [>                                                       ]^M   9/1177 [>                                                       ]^M  10/1177 [>                                                       ]^M  11/1177 [>                                                       ]^M  12/1177 [>                                                       ]^M  13/1177 [>                                                       ]^M  14/1177 [>                                                       ]^M  15/1177 [>                                                       ]^M  16/1177 [>                                                       ]^M  17/1177 [>                                                       ]^M  18/1177 [>                                                       ]^M  19/1177 [>                                                       ]^M  20/1177 [>                                                       ]^M  21/1177 [>                                                       ]^M  22/1177 [=>                                                      ]^M  23/1177 [=>                                                      ]^M  24/1177 [=>                                                      ]^M  25/1177 [=>                                                      ]^M  26/1177 [=>                                                      ]^M  27/1177 [=>                                                      ]^M  28/1177 [=>                                                      ]^M  29/1177 [=>                                                      ]^M  30/117






>  def get_devnull():
> @@ -408,7 +406,7 @@ def __gen_boards_cfg(jobs):
>        jobs: The number of jobs to run simultaneously
>  
>      Note:
> -      The incomplete boards.cfg is left over when an error (including 
> +      The incomplete boards.cfg is left over when an error (including
>        the termination by the keyboard interrupt) occurs on the halfway.
>      """
>      check_top_directory()


This fix is correct.
(Remove a trainling whitespace.)



Best Regards
Masahiro Yamada

      parent reply	other threads:[~2014-08-07 12:47 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-08-07 10:46 [U-Boot] [PATCH] tools: genboardscfg.py, use default terminal size if undetectable Roger Meier
2014-08-07 11:37 ` Tom Rini
2014-08-07 12:15   ` Roger Meier
2014-08-07 12:47     ` Masahiro Yamada
2014-08-07 14:19       ` [U-Boot] [PATCH v3] tools: genboardscfg.py, no exception if columns undetectable Roger Meier
2014-08-09  0:37         ` Masahiro YAMADA
2014-08-17 16:07           ` Roger Meier
2014-08-23 12:42         ` [U-Boot] [U-Boot, " Tom Rini
2014-08-07 12:47 ` Masahiro Yamada [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20140807214738.96F0.AA925319@jp.panasonic.com \
    --to=yamada.m@jp.panasonic.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.