($INBOX_DIR/description missing)
 help / color / mirror / Atom feed
From: "Reyna, David" <david.reyna@windriver.com>
To: Richard Purdie <richard.purdie@linuxfoundation.org>,
	"bitbake-devel@lists.openembedded.org"
	<bitbake-devel@lists.openembedded.org>
Subject: RE: [bitbake-devel] [PATCH 1/1] taskexp_ncurses: ncurses version of taskexp.py
Date: Sun, 18 Feb 2024 23:27:18 +0000	[thread overview]
Message-ID: <BY5PR11MB4167FD60E4E3ED08CB124895EA522@BY5PR11MB4167.namprd11.prod.outlook.com> (raw)
In-Reply-To: <7461170e0a5ee05698999ab57e53586ab95fd09b.camel@linuxfoundation.org>

HI Richard,

> "due to the lack of a suitably capable terminal in the test environment on the autobuilder."

Per my comments in #14814, the only unusual I/O used for the no-ncurses self-test is a progress bar that uses:
    print("#",end='',flush=True)

If that is the problem, it is trivial to remove. I can also see that logically non-human tests do not have a need for progress bars.

Sorry for the extra effort,
David

-----Original Message-----
From: Richard Purdie <richard.purdie@linuxfoundation.org> 
Sent: Sunday, February 18, 2024 9:36 AM
To: Reyna, David <david.reyna@windriver.com>; bitbake-devel@lists.openembedded.org
Subject: Re: [bitbake-devel] [PATCH 1/1] taskexp_ncurses: ncurses version of taskexp.py

On Sun, 2024-02-18 at 12:43 +0000, Richard Purdie via
lists.openembedded.org wrote:
> On Sun, 2024-02-18 at 02:41 -0800, Reyna, David via
> lists.openembedded.org wrote:
> > From: David Reyna <David.Reyna@windriver.com>
> > 
> > * Create an ncurses version of the GTK app "taskexp.py".
> > * Add these additional features:
> >   - Sort tasks in recipes by their dependency order
> >   - Print individual and/or recipe-wide dependencies to a file
> >   - Add a wild card filter
> >   - Show the target recipes on BOLD
> > * Provide a GUI self test
> > * Provide a non-ncurses self test for ptest
> > 
> > Signed-off-by: David Reyna <David.Reyna@windriver.com>
> > ---
> >  lib/bb/ui/taskexp_ncurses.py | 1511
> > ++++++++++++++++++++++++++++++++++
> >  1 file changed, 1511 insertions(+)
> >  create mode 100755 bitbake/lib/bb/ui/taskexp_ncurses.py
> > 
> > diff --git a/lib/bb/ui/taskexp_ncurses.py
> > b/lib/bb/ui/taskexp_ncurses.py
> > new file mode 100755
> > index 00000000000..ffa91ea1044
> > --- /dev/null
> > +++ b/lib/bb/ui/taskexp_ncurses.py
> > @@ -0,0 +1,1511 @@
> > +#
> > +# BitBake Graphical ncurses-based Dependency Explorer
> > +#   * Based on the GTK implementation
> > +#   * Intended to run on any Linux host
> > +#
> > +# Copyright (C) 2007        Ross Burton
> > +# Copyright (C) 2007 - 2008 Richard Purdie
> > +# Copyright (C) 2022 - 2024 David Reyna
> > +#
> > +# SPDX-License-Identifier: GPL-2.0-only
> > +#
> > +
> > +#
> > +# Execution example:
> > +#   $ bitbake -g -u taskexp_ncurses.py acl zlib
> > +#
> > +# Self-test example (executes a script of GUI actions):
> > +#   $ TASK_EXP_UNIT_TEST=1 bitbake -g -u taskexp_ncurses.py zlib
> > acl
> > +#   ...
> > +#   $ echo $?
> > +#   0
> > +#   $ TASK_EXP_UNIT_TEST=1 bitbake -g -u taskexp_ncurses.py zlib
> > acl
> > foo
> > +#   ERROR: Nothing PROVIDES 'foo'. Close matches:
> > +#   ofono
> > +#   $ echo $?
> > +#   1
> > +#
> > +# Self-test with no terminal example (only tests dependency fetch
> > from bitbake):
> > +#   $ TASK_EXP_UNIT_TEST_NOTERM=1 bitbake -g -u
> > taskexp_ncurses.py_2
> > quilt
> > +#   $ echo $?
> > +#   0
> 
> Thanks for this David, it is nice to see this ready to go in :)
> 
> I did make one small tweak to the patch when I queued it to drop the
> .py and .py_2 from the above command examples since it caused them
> not
> to work.
> 
> I've also queued a script to autobuilder-helper to allow us to run
> these tests.

That helper script didn't work. I do now have the tests working but it
took hours to get it to work correctly due to the lack of a suitably
capable terminal in the test environment on the autobuilder.

I did want to see us resolve this though!

Cheers,

Richard

      reply	other threads:[~2024-02-18 23:27 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-02-18 10:41 [PATCH 0/1] taskexp_ncurses: ncurses version of taskexp.py David Reyna
2024-02-18 10:41 ` [PATCH 1/1] " David Reyna
2024-02-18 12:43   ` [bitbake-devel] " Richard Purdie
     [not found]   ` <17B4F59E3ECA4807.31287@lists.openembedded.org>
2024-02-18 17:36     ` Richard Purdie
2024-02-18 23:27       ` Reyna, David [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=BY5PR11MB4167FD60E4E3ED08CB124895EA522@BY5PR11MB4167.namprd11.prod.outlook.com \
    --to=david.reyna@windriver.com \
    --cc=bitbake-devel@lists.openembedded.org \
    --cc=richard.purdie@linuxfoundation.org \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).