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>
This commit is contained in:
Joe Hershberger 2015-05-19 13:21:25 -05:00 committed by Masahiro Yamada
parent 95bf9c7e34
commit 2e2ce6c0c8

View file

@ -559,7 +559,7 @@ class Slot:
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 @@ class Slot:
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 @@ class Slot:
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 @@ class Slots:
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 @@ class Slots:
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 @@ def move_config(config_attrs, options):
# 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 @@ def move_config(config_attrs, options):
while not slots.empty():
time.sleep(SLEEP_TIME)
print ''
slots.show_failed_boards()
def bad_recipe(filename, linenum, msg):