Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "André Erdmann" <dywi@mailerd.de>
To: buildroot@busybox.net
Subject: [Buildroot] [autobuild v2 2/3] autobuild-run: also save CMake config log files on package failure
Date: Thu, 30 Apr 2015 00:54:54 +0200	[thread overview]
Message-ID: <5541613E.80604@mailerd.de> (raw)
In-Reply-To: <1430338217-25518-2-git-send-email-s.martin49@gmail.com>

2015/4/30 Samuel Martin <s.martin49@gmail.com>:
> Signed-off-by: Samuel Martin <s.martin49@gmail.com>
> 
> ---
> changes v1->v2
> - none
> ---
>  scripts/autobuild-run | 4 +++-
>  1 file changed, 3 insertions(+), 1 deletion(-)
> 
> diff --git a/scripts/autobuild-run b/scripts/autobuild-run
> index 6e83de9..01e3265 100755
> --- a/scripts/autobuild-run
> +++ b/scripts/autobuild-run
> @@ -655,12 +655,14 @@ def send_results(result, **kwargs):
>  
>          srcroot = os.path.join(outputdir, "build", '-'.join(reason))
>          destroot = os.path.join(resultdir, '-'.join(reason))
> +        config_files = ('config.log', 'CMakeCache.txt', 'CMakeError.log',
> +            'CMakeOutput.log')
>

config_files = set(('config.log', ...))

It's negligible in terms of real time difference (<= 0.0d seconds),
but for efficiency reasons, don't use a tuple or list when doing
lookups ("fname in config_files").

os.walk() might return 100s or 1000s of file names in total,
and for each fname, you have to through the entire list/tuple
(until fname found or end of list, whatever comes first).
Data structures like set/frozenset/dict perform lookups faster (on average).
  
>          for root, dirs, files in os.walk(srcroot):
>              dest = os.path.join(destroot, os.path.relpath(root, srcroot))
>  
>              for fname in files:
> -                if fname == 'config.log':
> +                if fname in config_files:
>                      if not os.path.exists(dest):
>                          os.makedirs(dest)
>                      shutil.copy(os.path.join(root, fname), os.path.join(dest, fname))
> 


 

  reply	other threads:[~2015-04-29 22:54 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-04-29 20:10 [Buildroot] [autobuild v2 1/3] autobuild-run: prevent send_result from failing when gathering config files Samuel Martin
2015-04-29 20:10 ` [Buildroot] [autobuild v2 2/3] autobuild-run: also save CMake config log files on package failure Samuel Martin
2015-04-29 22:54   ` André Erdmann [this message]
2015-05-04 20:12     ` Thomas Petazzoni
2015-05-04 20:12   ` Thomas Petazzoni
2015-04-29 20:10 ` [Buildroot] [autobuild v2 3/3] autobuild-run: allow to change default git uri and branch on the command line Samuel Martin
2015-04-29 22:25   ` André Erdmann
2015-04-30  5:20     ` Samuel Martin
2015-04-30 18:20       ` André Erdmann
2015-05-04 20:11   ` Thomas Petazzoni
2015-05-04 20:12 ` [Buildroot] [autobuild v2 1/3] autobuild-run: prevent send_result from failing when gathering config files Thomas Petazzoni

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=5541613E.80604@mailerd.de \
    --to=dywi@mailerd.de \
    --cc=buildroot@busybox.net \
    /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