runner: Fix up how hpke and kyber get their test data

runner/hpke's test data can just be embedded directly without worrying
about where the files are when the test is run. runner/kyber is
trickier because its in a different directory, but give it a
command-line flag so a build file can easily redirect it.

Change-Id: I05dc76633ddd35ee09e9eb8d9a45364d0dea72b9
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/71447
Reviewed-by: Bob Beck <bbe@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
Commit-Queue: Bob Beck <bbe@google.com>
Auto-Submit: David Benjamin <davidben@google.com>
diff --git a/ssl/test/runner/hpke/hpke_test.go b/ssl/test/runner/hpke/hpke_test.go
index 35503be..782dfdd 100644
--- a/ssl/test/runner/hpke/hpke_test.go
+++ b/ssl/test/runner/hpke/hpke_test.go
@@ -18,13 +18,11 @@
 	"bytes"
 	_ "crypto/sha256"
 	_ "crypto/sha512"
+	_ "embed"
 	"encoding/hex"
 	"encoding/json"
 	"errors"
-	"flag"
 	"fmt"
-	"os"
-	"path/filepath"
 	"testing"
 )
 
@@ -32,9 +30,8 @@
 	exportOnlyAEAD uint16 = 0xffff
 )
 
-var (
-	testDataDir = flag.String("testdata", "testdata", "The path to the test vector JSON file.")
-)
+//go:embed testdata/test-vectors.json
+var testVectorsJSON []byte
 
 // Simple round-trip test for fixed inputs.
 func TestRoundTrip(t *testing.T) {
@@ -98,15 +95,8 @@
 
 // TestVectors checks all relevant test vectors in test-vectors.json.
 func TestVectors(t *testing.T) {
-	jsonStr, err := os.ReadFile(filepath.Join(*testDataDir, "test-vectors.json"))
-	if err != nil {
-		t.Errorf("error reading test vectors: %s", err)
-		return
-	}
-
 	var testVectors []HpkeTestVector
-	err = json.Unmarshal(jsonStr, &testVectors)
-	if err != nil {
+	if err := json.Unmarshal(testVectorsJSON, &testVectors); err != nil {
 		t.Errorf("error parsing test vectors: %s", err)
 		return
 	}
diff --git a/ssl/test/runner/kyber/kyber_test.go b/ssl/test/runner/kyber/kyber_test.go
index 6ff33e9..fccbaf7 100644
--- a/ssl/test/runner/kyber/kyber_test.go
+++ b/ssl/test/runner/kyber/kyber_test.go
@@ -18,14 +18,18 @@
 	"bufio"
 	"bytes"
 	"encoding/hex"
-	"golang.org/x/crypto/sha3"
+	"flag"
 	"os"
 	"strings"
 	"testing"
+
+	"golang.org/x/crypto/sha3"
 )
 
+var testVectorsPath = flag.String("test-vectors", "../../../../crypto/kyber/kyber_tests.txt", "The path to the test vectors to use")
+
 func TestVectors(t *testing.T) {
-	in, err := os.Open("../../../../crypto/kyber/kyber_tests.txt")
+	in, err := os.Open(*testVectorsPath)
 	if err != nil {
 		t.Error(err)
 		return