blob: a896825a4651b6d632a06708ab772d44cabbb001 [file]
// Copyright 2026 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
//go:build go1.27 && !http2legacy
package http2_test
import (
"os/exec"
"testing"
)
func TestLegacy(t *testing.T) {
goTest(t, "-tags=http2legacy", "golang.org/x/net/http2")
}
// TestSuccess is a no-op test for confirming we can re-run "go test".
func TestSuccess(t *testing.T) {}
func goTest(t *testing.T, args ...string) {
goTool, err := exec.LookPath("go")
if err != nil {
t.Skipf("can't find go tool: %v", err)
}
// Skip this test if we can't run any tests at all.
checkCmd := exec.CommandContext(t.Context(), goTool,
"test", "-run=^TestSuccess$", ".")
if out, err := checkCmd.CombinedOutput(); err != nil {
t.Skipf("can't run trivial go test\n%s", out)
}
testCmd := exec.CommandContext(t.Context(), goTool, "test")
testCmd.Args = append(testCmd.Args, args...)
if out, err := testCmd.CombinedOutput(); err != nil {
t.Fatalf("%q failed: %v\n%s", testCmd.Args, err, out)
}
}