Configure explicitly whether to shard tests

This removes a place where we make hard-coded assumes about test names.
Also it shards pki_test, as that test suite is large enough to benefit
from it.

Change-Id: I392254b73a2df2f022ccf13508552372c103bff7
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/61285
Reviewed-by: Bob Beck <bbe@google.com>
Commit-Queue: Bob Beck <bbe@google.com>
diff --git a/util/all_tests.go b/util/all_tests.go
index c0dceba..b2f0b17 100644
--- a/util/all_tests.go
+++ b/util/all_tests.go
@@ -310,12 +310,7 @@
 }
 
 func (t test) getGTestShards() ([]test, error) {
-	if *numWorkers == 1 || len(t.Cmd) != 1 {
-		return []test{t}, nil
-	}
-
-	// Only shard the three GTest-based tests.
-	if t.Cmd[0] != "crypto/crypto_test" && t.Cmd[0] != "ssl/ssl_test" && t.Cmd[0] != "decrepit/decrepit_test" {
+	if *numWorkers == 1 || !t.Shard {
 		return []test{t}, nil
 	}