diff --git a/.travis.yml b/.travis.yml
index d102f3d84777f0faccfebfcd2100bf568c51ae51..46e74eb6990c46224b4b7fcc36593923cc95caf2 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -1,4 +1,6 @@
 language: cpp
-script: ./tools/run_tests/run_tests.py -lc -t -j2
+script:
+  - ./tools/run_tests/run_tests.py -l c -t -j 16 -c dbg
+  - ./tools/run_tests/run_tests.py -l c -t -j 16 -c opt
 notifications:
   email: false
diff --git a/tools/run_tests/jobset.py b/tools/run_tests/jobset.py
index 7e1faa7b94979f261182eefa0794130cd477b46f..e40235341c058f457b99a8f140f5e58d926088e6 100755
--- a/tools/run_tests/jobset.py
+++ b/tools/run_tests/jobset.py
@@ -292,7 +292,7 @@ def run(cmdlines,
   if not travis:
     cmdlines = shuffle_iteratable(cmdlines)
   else:
-    cmdlines = sorted(cmdlines)
+    cmdlines = sorted(cmdlines, key=lambda x: x.shortname)
   for cmdline in cmdlines:
     if not js.start(cmdline):
       break