aboutsummaryrefslogtreecommitdiffstats
path: root/cmd/swarm/swarm-snapshot/create_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/swarm/swarm-snapshot/create_test.go')
-rw-r--r--cmd/swarm/swarm-snapshot/create_test.go140
1 files changed, 0 insertions, 140 deletions
diff --git a/cmd/swarm/swarm-snapshot/create_test.go b/cmd/swarm/swarm-snapshot/create_test.go
deleted file mode 100644
index 4cd78f35a..000000000
--- a/cmd/swarm/swarm-snapshot/create_test.go
+++ /dev/null
@@ -1,140 +0,0 @@
-// Copyright 2018 The go-ethereum Authors
-// This file is part of go-ethereum.
-//
-// go-ethereum is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// go-ethereum is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with go-ethereum. If not, see <http://www.gnu.org/licenses/>.
-
-package main
-
-import (
- "encoding/json"
- "fmt"
- "io/ioutil"
- "os"
- "sort"
- "strconv"
- "strings"
- "testing"
-
- "github.com/ethereum/go-ethereum/p2p/simulations"
-)
-
-// TestSnapshotCreate is a high level e2e test that tests for snapshot generation.
-// It runs a few "create" commands with different flag values and loads generated
-// snapshot files to validate their content.
-func TestSnapshotCreate(t *testing.T) {
- t.Skip("test is flaky. disabling until underlying problem is addressed")
-
- for _, v := range []struct {
- name string
- nodes int
- services string
- }{
- {
- name: "defaults",
- },
- {
- name: "more nodes",
- nodes: defaultNodes + 4,
- },
- {
- name: "services",
- services: "stream,pss,zorglub",
- },
- {
- name: "services with bzz",
- services: "bzz,pss",
- },
- } {
- t.Run(v.name, func(t *testing.T) {
- t.Parallel()
-
- file, err := ioutil.TempFile("", "swarm-snapshot")
- if err != nil {
- t.Fatal(err)
- }
- defer os.Remove(file.Name())
-
- if err = file.Close(); err != nil {
- t.Error(err)
- }
-
- args := []string{"create"}
- if v.nodes > 0 {
- args = append(args, "--nodes", strconv.Itoa(v.nodes))
- }
- if v.services != "" {
- args = append(args, "--services", v.services)
- }
- testCmd := runSnapshot(t, append(args, file.Name())...)
-
- testCmd.WaitExit()
- if code := testCmd.ExitStatus(); code != 0 {
- t.Fatalf("command exit code %v, expected 0", code)
- }
-
- f, err := os.Open(file.Name())
- if err != nil {
- t.Fatal(err)
- }
- defer func() {
- err := f.Close()
- if err != nil {
- t.Error("closing snapshot file", "err", err)
- }
- }()
-
- b, err := ioutil.ReadAll(f)
- if err != nil {
- t.Fatal(err)
- }
- var snap simulations.Snapshot
- err = json.Unmarshal(b, &snap)
- if err != nil {
- t.Fatal(err)
- }
-
- wantNodes := v.nodes
- if wantNodes == 0 {
- wantNodes = defaultNodes
- }
- gotNodes := len(snap.Nodes)
- if gotNodes != wantNodes {
- t.Errorf("got %v nodes, want %v", gotNodes, wantNodes)
- }
-
- if len(snap.Conns) == 0 {
- t.Error("no connections in a snapshot")
- }
-
- var wantServices []string
- if v.services != "" {
- wantServices = strings.Split(v.services, ",")
- } else {
- wantServices = []string{"bzz"}
- }
- // sort service names so they can be comparable
- // as strings to every node sorted services
- sort.Strings(wantServices)
-
- for i, n := range snap.Nodes {
- gotServices := n.Node.Config.Services
- sort.Strings(gotServices)
- if fmt.Sprint(gotServices) != fmt.Sprint(wantServices) {
- t.Errorf("got services %v for node %v, want %v", gotServices, i, wantServices)
- }
- }
-
- })
- }
-}