diff --git a/tests/regres/cmd/run_testlist/main.go b/tests/regres/cmd/run_testlist/main.go
index 520695c..75a0f8e 100644
--- a/tests/regres/cmd/run_testlist/main.go
+++ b/tests/regres/cmd/run_testlist/main.go
@@ -25,6 +25,7 @@
 	"flag"
 	"fmt"
 	"log"
+	"math/rand"
 	"os"
 	"path/filepath"
 	"regexp"
@@ -44,6 +45,9 @@
 	maxProcMemory = flag.Uint64("max-proc-mem", shell.MaxProcMemory, "maximum virtual memory per child process")
 	output        = flag.String("output", "results.json", "path to an output JSON results file")
 	filter        = flag.String("filter", "", "filter for test names. Start with a '/' to indicate regex")
+	limit         = flag.Int("limit", 0, "only run a maximum of this number of tests")
+	shuffle       = flag.Bool("shuffle", false, "shuffle tests")
+	noResults     = flag.Bool("no-results", false, "disable generation of results.json file")
 )
 
 const testTimeout = time.Minute * 2
@@ -70,10 +74,19 @@
 		}
 	}
 
-	testLists := testlist.Lists{group}
-
 	shell.MaxProcMemory = *maxProcMemory
 
+	if *shuffle {
+		rnd := rand.New(rand.NewSource(time.Now().UnixNano()))
+		rnd.Shuffle(len(group.Tests), func(i, j int) { group.Tests[i], group.Tests[j] = group.Tests[j], group.Tests[i] })
+	}
+
+	if *limit != 0 && len(group.Tests) > *limit {
+		group.Tests = group.Tests[:*limit]
+	}
+
+	log.Printf("Running %d tests...\n", len(group.Tests))
+
 	config := deqp.Config{
 		ExeEgl:           "",
 		ExeGles2:         "",
@@ -81,12 +94,10 @@
 		ExeVulkan:        *deqpVkBinary,
 		Env:              os.Environ(),
 		NumParallelTests: *numThreads,
-		TestLists:        testLists,
+		TestLists:        testlist.Lists{group},
 		TestTimeout:      testTimeout,
 	}
 
-	log.Printf("Running %d tests...\n", len(group.Tests))
-
 	res, err := config.Run()
 	if err != nil {
 		return err
@@ -102,9 +113,11 @@
 		}
 	}
 
-	err = res.Save(*output)
-	if err != nil {
-		return err
+	if !*noResults {
+		err = res.Save(*output)
+		if err != nil {
+			return err
+		}
 	}
 
 	return nil
