Update go1.21 and CI (#315)

* Update to go 1.21

Use `atomic.Bool` stdlib instead of including our own.

Include `tools\mkwinsyscall` updates from go-winio/283 to switch to
`syscallN`.
Note: removed `// TODO` about `print`/`ln`, since the latter adds spaces
between args when printing, which is undesired.

Also update CI to run steps on windows-2022 instead of windows-2019,
similar to our hcsshim CI.

Signed-off-by: Hamza El-Saawy <hamzaelsaawy@microsoft.com>

* PR: simplify type checking

Signed-off-by: Hamza El-Saawy <hamzaelsaawy@microsoft.com>

---------

Signed-off-by: Hamza El-Saawy <hamzaelsaawy@microsoft.com>
This commit is contained in:
Hamza El-Saawy
2024-04-09 16:07:04 -04:00
committed by GitHub
parent 008bc6ea43
commit 3c9576c934
20 changed files with 125 additions and 227 deletions
+17 -7
View File
@@ -57,7 +57,7 @@ func clientServer(u testUtil) (cl, sv *HvsockConn, _ *HvsockAddr) {
if err != nil {
return fmt.Errorf("listener accept: %w", err)
}
sv = conn.(*HvsockConn)
sv = mustBeType[*HvsockConn](u.T, conn)
if err := l.Close(); err != nil {
return err
}
@@ -109,7 +109,7 @@ func TestHvSockListenerAddresses(t *testing.T) {
u := newUtil(t)
l, addr := serverListen(u)
la := (l.Addr()).(*HvsockAddr)
la := mustBeType[*HvsockAddr](t, l.Addr())
u.Assert(*la == *addr, fmt.Sprintf("give: %v; want: %v", la, addr))
ra := rawHvsockAddr{}
@@ -123,10 +123,10 @@ func TestHvSockAddresses(t *testing.T) {
u := newUtil(t)
cl, sv, addr := clientServer(u)
sra := (sv.RemoteAddr()).(*HvsockAddr)
sla := (sv.LocalAddr()).(*HvsockAddr)
cra := (cl.RemoteAddr()).(*HvsockAddr)
cla := (cl.LocalAddr()).(*HvsockAddr)
sra := mustBeType[*HvsockAddr](t, sv.RemoteAddr())
sla := mustBeType[*HvsockAddr](t, sv.LocalAddr())
cra := mustBeType[*HvsockAddr](t, cl.RemoteAddr())
cla := mustBeType[*HvsockAddr](t, cl.LocalAddr())
t.Run("Info", func(t *testing.T) {
tests := []struct {
@@ -322,7 +322,7 @@ func TestHvSockCloseReadWriteListener(t *testing.T) {
}
defer c.Close()
hv := c.(*HvsockConn)
hv := mustBeType[*HvsockConn](t, c)
//
// test CloseWrite()
//
@@ -661,3 +661,13 @@ func (u testUtil) Check() {
func msgJoin(pre []string, s string) string {
return strings.Join(append(pre, s), ": ")
}
func mustBeType[T any](tb testing.TB, v any) T {
tb.Helper()
v2, ok := v.(T)
if !ok {
tb.Fatalf("expected type %T; got %T", *new(T), v)
}
return v2
}