github.com/gopherjs/gopherjs@v1.19.0-beta1.0.20240506212314-27071a8796e4/internal/testingx/must.go (about)

     1  // Package testingx provides helpers for use with the testing package.
     2  package testingx
     3  
     4  import "testing"
     5  
     6  // Must provides a concise way to handle returned error in cases that
     7  // "should never happen"©.
     8  //
     9  // This function can be used in test case setup that can be presumed to be
    10  // correct, but technically may return an error. This function MUST NOT be used
    11  // to check for test case conditions themselves because it generates a generic,
    12  // nondescript test error message.
    13  //
    14  //	func startServer(addr string) (*server, err)
    15  //	mustServer := testingx.Must[*server](t)
    16  //	mustServer(startServer(":8080"))
    17  func Must[T any](t *testing.T) func(v T, err error) T {
    18  	return func(v T, err error) T {
    19  		if err != nil {
    20  			t.Fatalf("Got: unexpected error: %s. Want: no error.", err)
    21  		}
    22  		return v
    23  	}
    24  }