| Index: tools/run-tests.py
|
| diff --git a/tools/run-tests.py b/tools/run-tests.py
|
| index 79095f6359187905ddb80e3c2bc6b83469e4bb1c..2344f907ec8e1b910efdea983d79e2cd229a71e5 100755
|
| --- a/tools/run-tests.py
|
| +++ b/tools/run-tests.py
|
| @@ -28,6 +28,7 @@
|
| # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
|
|
|
| +import itertools
|
| import multiprocessing
|
| import optparse
|
| import os
|
| @@ -183,9 +184,10 @@ def ProcessOptions(options):
|
|
|
| # Architecture and mode related stuff.
|
| if options.arch_and_mode:
|
| - tokens = options.arch_and_mode.split(".")
|
| - options.arch = tokens[0]
|
| - options.mode = tokens[1]
|
| + options.arch_and_mode = [arch_and_mode.split(".")
|
| + for arch_and_mode in options.arch_and_mode.split(",")]
|
| + options.arch = ",".join([tokens[0] for tokens in options.arch_and_mode])
|
| + options.mode = ",".join([tokens[1] for tokens in options.arch_and_mode])
|
| options.mode = options.mode.split(",")
|
| for mode in options.mode:
|
| if not mode.lower() in ["debug", "release"]:
|
| @@ -199,6 +201,11 @@ def ProcessOptions(options):
|
| print "Unknown architecture %s" % arch
|
| return False
|
|
|
| + # Store the final configuration in arch_and_mode list. Don't overwrite
|
| + # predefined arch_and_mode since it is more expressive than arch and mode.
|
| + if not options.arch_and_mode:
|
| + options.arch_and_mode = itertools.product(options.arch, options.mode)
|
| +
|
| # Special processing of other options, sorted alphabetically.
|
|
|
| if options.buildbot:
|
| @@ -313,10 +320,9 @@ def Main():
|
| for s in suites:
|
| s.DownloadData()
|
|
|
| - for mode in options.mode:
|
| - for arch in options.arch:
|
| - code = Execute(arch, mode, args, options, suites, workspace)
|
| - exit_code = exit_code or code
|
| + for (arch, mode) in options.arch_and_mode:
|
| + code = Execute(arch, mode, args, options, suites, workspace)
|
| + exit_code = exit_code or code
|
| return exit_code
|
|
|
|
|
|
|