wecisecode vor 1 Tag
Ursprung
Commit
1ad18d0801
3 geänderte Dateien mit 86 neuen und 0 gelöschten Zeilen
  1. 53 0
      context/context_test.go
  2. 20 0
      hash/hash_test.go
  3. 13 0
      slice/slice_test.go

+ 53 - 0
context/context_test.go

@@ -30,3 +30,56 @@ func TestContext(t *testing.T) {
 
 	time.Sleep(1 * time.Hour)
 }
+
+func TestContextDone(t *testing.T) {
+	ctx, cancel := context.WithCancelCause(context.Background())
+
+	go func() {
+		for {
+			select {
+			case <-ctx.Done():
+				err := ctx.Err()
+				if err == context.Canceled {
+					err = context.Cause(ctx)
+				}
+				logger.Info("context done 1", err)
+			default:
+			}
+			time.Sleep(5 * time.Second)
+		}
+	}()
+
+	go func() {
+		for {
+			select {
+			case <-ctx.Done():
+				err := ctx.Err()
+				if err == context.Canceled {
+					err = context.Cause(ctx)
+				}
+				logger.Info("context done 2", err)
+			default:
+			}
+			time.Sleep(5 * time.Second)
+		}
+	}()
+
+	go func() {
+		for {
+			select {
+			case <-ctx.Done():
+				err := ctx.Err()
+				if err == context.Canceled {
+					err = context.Cause(ctx)
+				}
+				logger.Info("context done 3", err)
+			default:
+			}
+			time.Sleep(5 * time.Second)
+		}
+	}()
+
+	cancel(fmt.Errorf("%s", "cancel"))
+
+	time.Sleep(1 * time.Hour)
+}

+ 20 - 0
hash/hash_test.go

@@ -0,0 +1,20 @@
+package hast_test
+
+import (
+	"fmt"
+	"testing"
+
+	"github.com/spaolacci/murmur3"
+)
+
+func TestXmurmur(t *testing.T) {
+	s := "/m3event/devops/alerts_status10.1.0.1ICMP1311223322331"
+	// 2419174761762018589
+	// s := "/m3event/devops/alerts_status10.1.0.1" // => 2717582454611764458
+	// s := "/m3event/devops/alerts_status10.1.0.1ICMP13" // => 11724275543686760652
+	// s := "/m3event/devops/alerts_status10.1.0.1ICMP131122332233" // => 16590484953594540623
+	// s := "/m3event/devops/alerts_status10.1.0.1ICMP1311223322331" // => 14123040702697061094
+	h := murmur3.New64()
+	h.Write([]byte(s))
+	fmt.Printf("murmur3.Sum64 %s => %d\n", s, h.Sum64())
+}

+ 13 - 0
slice/slice_test.go

@@ -0,0 +1,13 @@
+package slice_test
+
+import (
+	"fmt"
+	"slices"
+	"testing"
+)
+
+func TestEqual(t *testing.T) {
+	fmt.Println([]int{1, 2, 3})
+	// println([]int{1, 2, 3} == []int{1, 2, 3})
+	println(slices.Equal([]int{1, 2, 3}, []int{1, 2, 3}))
+}