mirror of https://github.com/kubernetes/kops.git
30 lines
654 B
Go
30 lines
654 B
Go
package client
|
|
|
|
import (
|
|
"io"
|
|
"testing"
|
|
|
|
"github.com/google/go-tpm/legacy/tpm2"
|
|
)
|
|
|
|
// CheckedClose closes the simulator and asserts that there were no leaked handles.
|
|
func CheckedClose(tb testing.TB, rwc io.ReadWriteCloser) {
|
|
for _, t := range []tpm2.HandleType{
|
|
tpm2.HandleTypeLoadedSession,
|
|
tpm2.HandleTypeSavedSession,
|
|
tpm2.HandleTypeTransient,
|
|
} {
|
|
handles, err := Handles(rwc, t)
|
|
if err != nil {
|
|
tb.Errorf("failed to fetch handles of type %v: %v", t, err)
|
|
}
|
|
if len(handles) != 0 {
|
|
tb.Errorf("tests leaked handles: %v", handles)
|
|
}
|
|
}
|
|
|
|
if err := rwc.Close(); err != nil {
|
|
tb.Errorf("when closing simulator: %v", err)
|
|
}
|
|
}
|