package buildrun import "testing" // Design 47 G ยง568, A-76: the class of a transport fault is read from the call's error, and its words are one form. func TestFaultClassAndWords(t *testing.T) { for cause, class := range map[string]string{ "nats: no responders available for request": ClassNoResponders, "the holder is silent: seat x answered": ClassNoResponders, "lookup proxy: no such host": ClassNameLookup, "Get https://r: context deadline exceeded": ClassDeadline, "read tcp: i/o timeout": ClassDeadline, "dial tcp: connection refused": ClassConnection, "ssh: kex_exchange_identification: read: reset": ClassConnection, } { if got := FaultClass(cause); got != class { t.Errorf("FaultClass(%q) = %q, want %q", cause, got, class) } } if got, want := TransportFault(ClassDeadline, "node-build-go", "ace", "i/o timeout"), "transport fault: deadline, node-build-go ace, i/o timeout"; got != want { t.Errorf("TransportFault = %q, want %q", got, want) } }