moveconfig: Print status about the processed defconfigs
This gives a basic idea about progress.
Signed-off-by: Joe Hershberger <joe.hershberger@ni.com>
Acked-by: Masahiro Yamada <yamada.masahiro@socionext.com>
diff --git a/tools/moveconfig.py b/tools/moveconfig.py
index a35d3bf..496c90a 100755
--- a/tools/moveconfig.py
+++ b/tools/moveconfig.py
@@ -559,7 +559,7 @@
pass
shutil.rmtree(self.build_dir)
- def add(self, defconfig):
+ def add(self, defconfig, num, total):
"""Assign a new subprocess for defconfig and add it to the slot.
If the slot is vacant, create a new subprocess for processing the
@@ -580,6 +580,8 @@
stderr=subprocess.PIPE)
self.defconfig = defconfig
self.state = STATE_DEFCONFIG
+ self.num = num
+ self.total = total
return True
def poll(self):
@@ -630,6 +632,9 @@
if self.state == STATE_AUTOCONF:
self.parser.update_defconfig(self.defconfig)
+ print ' %d defconfigs out of %d\r' % (self.num + 1, self.total),
+ sys.stdout.flush()
+
"""Save off the defconfig in a consistent way"""
cmd = list(self.make_cmd)
cmd.append('savedefconfig')
@@ -683,7 +688,7 @@
for i in range(options.jobs):
self.slots.append(Slot(config_attrs, options, devnull, make_cmd))
- def add(self, defconfig):
+ def add(self, defconfig, num, total):
"""Add a new subprocess if a vacant slot is found.
Arguments:
@@ -693,7 +698,7 @@
Return True on success or False on failure
"""
for slot in self.slots:
- if slot.add(defconfig):
+ if slot.add(defconfig, num, total):
return True
return False
@@ -777,8 +782,8 @@
# Main loop to process defconfig files:
# Add a new subprocess into a vacant slot.
# Sleep if there is no available slot.
- for defconfig in defconfigs:
- while not slots.add(defconfig):
+ for i, defconfig in enumerate(defconfigs):
+ while not slots.add(defconfig, i, len(defconfigs)):
while not slots.available():
# No available slot: sleep for a while
time.sleep(SLEEP_TIME)
@@ -787,6 +792,7 @@
while not slots.empty():
time.sleep(SLEEP_TIME)
+ print ''
slots.show_failed_boards()
def bad_recipe(filename, linenum, msg):