Re: [U-Boot] [PATCH v3 13/18] buildman: Provide an internal option to clean the outpur dir

2014-09-10 Thread Simon Glass
Applied to u-boot-x86/buildman.

Fixed up to avoid removing the tree when it doesn't exist.


On 5 September 2014 19:00, Simon Glass s...@chromium.org wrote:
 For testing it is useful to clean the output directory before running a
 test. This avoids a test interfering with the results of a subsequent
 test by leaving data around.

 Add this feature as an optional parameter to the control logic.

 Signed-off-by: Simon Glass s...@chromium.org
 ---

 Changes in v3: None
 Changes in v2: None

  tools/buildman/control.py | 11 ++-
  1 file changed, 10 insertions(+), 1 deletion(-)

 diff --git a/tools/buildman/control.py b/tools/buildman/control.py
 index fb15ae8..2f51249 100644
 --- a/tools/buildman/control.py
 +++ b/tools/buildman/control.py
 @@ -5,6 +5,7 @@

  import multiprocessing
  import os
 +import shutil
  import sys

  import board
 @@ -78,7 +79,8 @@ def ShowActions(series, why_selected, boards_selected, 
 builder, options):
  print ('Total boards to build for each commit: %d\n' %
  why_selected['all'])

 -def DoBuildman(options, args, toolchains=None, make_func=None, boards=None):
 +def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
 +   clean_dir=False):
  The main control code for buildman

  Args:
 @@ -93,6 +95,8 @@ def DoBuildman(options, args, toolchains=None, 
 make_func=None, boards=None):
  board: Boards() object to use, containing a list of available
  boards. If this is None it will be created and scanned.
  
 +global builder
 +
  if options.full_help:
  pager = os.getenv('PAGER')
  if not pager:
 @@ -209,6 +213,8 @@ def DoBuildman(options, args, toolchains=None, 
 make_func=None, boards=None):
  else:
  dirname = 'current'
  output_dir = os.path.join(options.output_dir, dirname)
 +if clean_dir:
 +shutil.rmtree(output_dir)
  builder = Builder(toolchains, output_dir, options.git_dir,
  options.threads, options.jobs, gnu_make=gnu_make, checkout=True,
  show_unknown=options.show_unknown, step=options.step)
 @@ -230,6 +236,9 @@ def DoBuildman(options, args, toolchains=None, 
 make_func=None, boards=None):

  if series:
  commits = series.commits
 +# Number the commits for test purposes
 +for commit in range(len(commits)):
 +commits[commit].sequence = commit
  else:
  commits = None

 --
 2.1.0.rc2.206.gedb03e5

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot


[U-Boot] [PATCH v3 13/18] buildman: Provide an internal option to clean the outpur dir

2014-09-05 Thread Simon Glass
For testing it is useful to clean the output directory before running a
test. This avoids a test interfering with the results of a subsequent
test by leaving data around.

Add this feature as an optional parameter to the control logic.

Signed-off-by: Simon Glass s...@chromium.org
---

Changes in v3: None
Changes in v2: None

 tools/buildman/control.py | 11 ++-
 1 file changed, 10 insertions(+), 1 deletion(-)

diff --git a/tools/buildman/control.py b/tools/buildman/control.py
index fb15ae8..2f51249 100644
--- a/tools/buildman/control.py
+++ b/tools/buildman/control.py
@@ -5,6 +5,7 @@
 
 import multiprocessing
 import os
+import shutil
 import sys
 
 import board
@@ -78,7 +79,8 @@ def ShowActions(series, why_selected, boards_selected, 
builder, options):
 print ('Total boards to build for each commit: %d\n' %
 why_selected['all'])
 
-def DoBuildman(options, args, toolchains=None, make_func=None, boards=None):
+def DoBuildman(options, args, toolchains=None, make_func=None, boards=None,
+   clean_dir=False):
 The main control code for buildman
 
 Args:
@@ -93,6 +95,8 @@ def DoBuildman(options, args, toolchains=None, 
make_func=None, boards=None):
 board: Boards() object to use, containing a list of available
 boards. If this is None it will be created and scanned.
 
+global builder
+
 if options.full_help:
 pager = os.getenv('PAGER')
 if not pager:
@@ -209,6 +213,8 @@ def DoBuildman(options, args, toolchains=None, 
make_func=None, boards=None):
 else:
 dirname = 'current'
 output_dir = os.path.join(options.output_dir, dirname)
+if clean_dir:
+shutil.rmtree(output_dir)
 builder = Builder(toolchains, output_dir, options.git_dir,
 options.threads, options.jobs, gnu_make=gnu_make, checkout=True,
 show_unknown=options.show_unknown, step=options.step)
@@ -230,6 +236,9 @@ def DoBuildman(options, args, toolchains=None, 
make_func=None, boards=None):
 
 if series:
 commits = series.commits
+# Number the commits for test purposes
+for commit in range(len(commits)):
+commits[commit].sequence = commit
 else:
 commits = None
 
-- 
2.1.0.rc2.206.gedb03e5

___
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot