#! /usr/bin/env python # Copyright (c) 2017 Cisco and/or its affiliates. # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at: # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # # import sys from subprocess import call class LongBowTestSuite: def __init__(self): self.options = [] return def setOptions(self, options=[]): self.options = options return def run(self, testRunners=[]): result = 0 for test in testRunners: outputFileName = test + ".log" outputFile = open(outputFileName, 'w') command = [ test ] + self.options print command status = call(command, stdout=outputFile) if result == 0: result = status pass outputFile.close() pass return result if __name__ == '__main__': testRunners = [] if len(sys.argv) < 2: print "Usage: longbow-test-suite.py testExecutable ..." print "Run one or more LongBow test runners as indpendant processes" sys.exit(1) testRunners = testRunners + sys.argv[1:] testSuite = LongBowTestSuite() testSuite.setOptions([ "--run-nonforked" ]) exitStatus = testSuite.run(testRunners)