Home | History | Annotate | Download | only in tests
      1 #!/usr/bin/env python
      2 # Copyright (c) 2013 The Chromium Authors. All rights reserved.
      3 # Use of this source code is governed by a BSD-style license that can be
      4 # found in the LICENSE file.
      5 
      6 import os
      7 import subprocess
      8 import sys
      9 
     10 BUILDBOT_DIR = os.path.join(os.path.dirname(__file__), '..')
     11 sys.path.append(BUILDBOT_DIR)
     12 import bb_run_bot
     13 
     14 def RunBotProcesses(bot_process_map):
     15   code = 0
     16   for bot, proc in bot_process_map:
     17     _, err = proc.communicate()
     18     code |= proc.returncode
     19     if proc.returncode != 0:
     20       print 'Error running the bot script with id="%s"' % bot, err
     21 
     22   return code
     23 
     24 
     25 def main():
     26   procs = [
     27       (bot, subprocess.Popen(
     28           [os.path.join(BUILDBOT_DIR, 'bb_run_bot.py'), '--bot-id', bot,
     29           '--testing'], stdout=subprocess.PIPE, stderr=subprocess.PIPE))
     30       for bot in bb_run_bot.GetBotStepMap()]
     31   return RunBotProcesses(procs)
     32 
     33 
     34 if __name__ == '__main__':
     35   sys.exit(main())
     36