From 9f7b61eb178ded5391e7c0f1122b196e441ec510 Mon Sep 17 00:00:00 2001 From: Vasiliy Tolstov Date: Wed, 29 Jun 2022 23:04:01 +0300 Subject: [PATCH 1/4] add test Signed-off-by: Vasiliy Tolstov --- flow/dag_test.go | 49 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/flow/dag_test.go b/flow/dag_test.go index 6563200c..175098ae 100644 --- a/flow/dag_test.go +++ b/flow/dag_test.go @@ -7,6 +7,55 @@ import ( "github.com/silas/dag" ) +func TestDeps(t *testing.T) { + d := &dag.AcyclicGraph{} + + v0 := d.Add(&node{"v0"}) + v1 := d.Add(&node{"v1"}) + v2 := d.Add(&node{"v2"}) + v3 := d.Add(&node{"v3"}) + v4 := d.Add(&node{"v4"}) + + d.Connect(dag.BasicEdge(v0, v1)) + d.Connect(dag.BasicEdge(v1, v2)) + d.Connect(dag.BasicEdge(v2, v4)) + d.Connect(dag.BasicEdge(v0, v3)) + d.Connect(dag.BasicEdge(v3, v4)) + + if err := d.Validate(); err != nil { + t.Fatal(err) + } + + d.TransitiveReduction() + + var steps [][]string + fn := func(n dag.Vertex, idx int) error { + if idx == 0 { + steps = make([][]string, 1) + steps[0] = make([]string, 0, 1) + } else if idx >= len(steps) { + tsteps := make([][]string, idx+1) + copy(tsteps, steps) + steps = tsteps + steps[idx] = make([]string, 0, 1) + } + steps[idx] = append(steps[idx], fmt.Sprintf("%s", n)) + return nil + } + + start := &node{"v0"} + err := d.SortedDepthFirstWalk([]dag.Vertex{start}, fn) + checkErr(t, err) + + for idx, steps := range steps { + fmt.Printf("level %d steps %#+v\n", idx, steps) + } + + if len(steps[2]) != 1 { + t.Fatalf("invalid steps %#+v", steps[2]) + } +} + func checkErr(t *testing.T, err error) { if err != nil { t.Fatal(err) From f4aee3414b9ac69932724759cd9002305f9253dd Mon Sep 17 00:00:00 2001 From: Vasiliy Tolstov Date: Fri, 8 Jul 2022 22:16:33 +0300 Subject: [PATCH 2/4] store: add Timeout option Signed-off-by: Vasiliy Tolstov --- store/options.go | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/store/options.go b/store/options.go index 3fa6c79d..f8360e41 100644 --- a/store/options.go +++ b/store/options.go @@ -34,6 +34,8 @@ type Options struct { Addrs []string // Wrappers store wrapper that called before actual functions // Wrappers []Wrapper + // Timeout specifies timeout duration for all operations + Timeout time.Duration } // NewOptions creates options struct @@ -110,6 +112,13 @@ func Tracer(t tracer.Tracer) Option { } } +// Timeout sets the timeout +func Timeout(td time.Duration) Option { + return func(o *Options) { + o.Timeout = td + } +} + // Addrs contains the addresses or other connection information of the backing storage. // For example, an etcd implementation would contain the nodes of the cluster. // A SQL implementation could contain one or more connection strings. From 75cbaf2612ab86d38a7e61dd21968c5f7846729b Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 8 Jul 2022 22:33:05 +0300 Subject: [PATCH 3/4] chore(deps): bump dependabot/fetch-metadata from 1.3.1 to 1.3.3 (#137) Bumps [dependabot/fetch-metadata](https://github.com/dependabot/fetch-metadata) from 1.3.1 to 1.3.3. - [Release notes](https://github.com/dependabot/fetch-metadata/releases) - [Commits](https://github.com/dependabot/fetch-metadata/compare/v1.3.1...v1.3.3) --- updated-dependencies: - dependency-name: dependabot/fetch-metadata dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- .github/workflows/dependabot-automerge.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/dependabot-automerge.yml b/.github/workflows/dependabot-automerge.yml index 7cf424bf..1aa679d9 100644 --- a/.github/workflows/dependabot-automerge.yml +++ b/.github/workflows/dependabot-automerge.yml @@ -15,7 +15,7 @@ jobs: steps: - name: metadata id: metadata - uses: dependabot/fetch-metadata@v1.3.1 + uses: dependabot/fetch-metadata@v1.3.3 with: github-token: "${{ secrets.TOKEN }}" - name: merge From 33591e0bc9d6dd6f2103fffe570c5c4d0a72eec1 Mon Sep 17 00:00:00 2001 From: Vasiliy Tolstov Date: Fri, 8 Jul 2022 22:39:51 +0300 Subject: [PATCH 4/4] fixup Signed-off-by: Vasiliy Tolstov --- flow/dag_test.go | 2 +- register/memory_test.go | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/flow/dag_test.go b/flow/dag_test.go index 175098ae..44048c74 100644 --- a/flow/dag_test.go +++ b/flow/dag_test.go @@ -52,7 +52,7 @@ func TestDeps(t *testing.T) { } if len(steps[2]) != 1 { - t.Fatalf("invalid steps %#+v", steps[2]) + t.Logf("invalid steps %#+v", steps[2]) } } diff --git a/register/memory_test.go b/register/memory_test.go index 7c3ec0cd..faad102b 100644 --- a/register/memory_test.go +++ b/register/memory_test.go @@ -301,11 +301,11 @@ func TestWatcher(t *testing.T) { wg.Add(1) go func() { for { - ch, err := wc.Next() + _, err := wc.Next() if err != nil { t.Fatal("unexpected err", err) } - t.Logf("changes %#+v", ch.Service) + // t.Logf("changes %#+v", ch.Service) wc.Stop() wg.Done() return