From 163922e001166ad012cce6ae9f1ebd7528ceab4d Mon Sep 17 00:00:00 2001 From: Simone Basso Date: Fri, 13 Nov 2020 18:42:10 +0100 Subject: [PATCH] refactor: run go fmt ./... (#169) --- internal/cli/onboard/onboard.go | 2 +- internal/cli/root/root.go | 2 +- internal/cli/run/run.go | 2 +- internal/cli/version/version.go | 1 - internal/config/settings.go | 6 +- internal/nettests/nettests.go | 2 +- internal/nettests/nettests_test.go | 2 +- internal/utils/shutil/shutil.go | 385 ++++++++++++++--------------- 8 files changed, 197 insertions(+), 205 deletions(-) diff --git a/internal/cli/onboard/onboard.go b/internal/cli/onboard/onboard.go index d5bc2bf..1b8274c 100644 --- a/internal/cli/onboard/onboard.go +++ b/internal/cli/onboard/onboard.go @@ -6,9 +6,9 @@ import ( "github.com/alecthomas/kingpin" "github.com/apex/log" "github.com/fatih/color" - "github.com/ooni/probe-cli/internal/ooni" "github.com/ooni/probe-cli/internal/cli/root" "github.com/ooni/probe-cli/internal/config" + "github.com/ooni/probe-cli/internal/ooni" "github.com/ooni/probe-cli/internal/output" "github.com/pkg/errors" "gopkg.in/AlecAivazis/survey.v1" diff --git a/internal/cli/root/root.go b/internal/cli/root/root.go index 26d544c..dca4c99 100644 --- a/internal/cli/root/root.go +++ b/internal/cli/root/root.go @@ -3,9 +3,9 @@ package root import ( "github.com/alecthomas/kingpin" "github.com/apex/log" - "github.com/ooni/probe-cli/internal/ooni" "github.com/ooni/probe-cli/internal/log/handlers/batch" "github.com/ooni/probe-cli/internal/log/handlers/cli" + "github.com/ooni/probe-cli/internal/ooni" "github.com/ooni/probe-cli/internal/utils" "github.com/ooni/probe-cli/internal/version" ) diff --git a/internal/cli/run/run.go b/internal/cli/run/run.go index daf1bb3..621a867 100644 --- a/internal/cli/run/run.go +++ b/internal/cli/run/run.go @@ -6,11 +6,11 @@ import ( "github.com/alecthomas/kingpin" "github.com/apex/log" "github.com/fatih/color" - "github.com/ooni/probe-cli/internal/ooni" "github.com/ooni/probe-cli/internal/cli/onboard" "github.com/ooni/probe-cli/internal/cli/root" "github.com/ooni/probe-cli/internal/database" "github.com/ooni/probe-cli/internal/nettests" + "github.com/ooni/probe-cli/internal/ooni" ) func runNettestGroup(tg string, ctx *ooni.Context, network *database.Network) error { diff --git a/internal/cli/version/version.go b/internal/cli/version/version.go index 0bfe66b..897678c 100644 --- a/internal/cli/version/version.go +++ b/internal/cli/version/version.go @@ -8,7 +8,6 @@ import ( "github.com/ooni/probe-cli/internal/version" ) - func init() { cmd := root.Command("version", "Show version.") cmd.Action(func(_ *kingpin.ParseContext) error { diff --git a/internal/config/settings.go b/internal/config/settings.go index e98cf15..8dbe4bf 100644 --- a/internal/config/settings.go +++ b/internal/config/settings.go @@ -35,9 +35,9 @@ var websiteCategories = []string{ // Sharing settings type Sharing struct { - IncludeIP bool `json:"include_ip"` - IncludeASN bool `json:"include_asn"` - UploadResults bool `json:"upload_results"` + IncludeIP bool `json:"include_ip"` + IncludeASN bool `json:"include_asn"` + UploadResults bool `json:"upload_results"` } // Advanced settings diff --git a/internal/nettests/nettests.go b/internal/nettests/nettests.go index 97019eb..1c9159c 100644 --- a/internal/nettests/nettests.go +++ b/internal/nettests/nettests.go @@ -7,8 +7,8 @@ import ( "github.com/apex/log" "github.com/fatih/color" - "github.com/ooni/probe-cli/internal/ooni" "github.com/ooni/probe-cli/internal/database" + "github.com/ooni/probe-cli/internal/ooni" "github.com/ooni/probe-cli/internal/output" engine "github.com/ooni/probe-engine" "github.com/ooni/probe-engine/model" diff --git a/internal/nettests/nettests_test.go b/internal/nettests/nettests_test.go index 34d010c..fb13d5d 100644 --- a/internal/nettests/nettests_test.go +++ b/internal/nettests/nettests_test.go @@ -5,8 +5,8 @@ import ( "path" "testing" - "github.com/ooni/probe-cli/internal/ooni" "github.com/ooni/probe-cli/internal/database" + "github.com/ooni/probe-cli/internal/ooni" "github.com/ooni/probe-cli/internal/utils/shutil" ) diff --git a/internal/utils/shutil/shutil.go b/internal/utils/shutil/shutil.go index 09fcd38..36e56be 100644 --- a/internal/utils/shutil/shutil.go +++ b/internal/utils/shutil/shutil.go @@ -1,145 +1,140 @@ package shutil import ( - "fmt" - "io" - "io/ioutil" - "os" - "path/filepath" + "fmt" + "io" + "io/ioutil" + "os" + "path/filepath" ) - type SameFileError struct { - Src string - Dst string + Src string + Dst string } func (e SameFileError) Error() string { - return fmt.Sprintf("%s and %s are the same file", e.Src, e.Dst) + return fmt.Sprintf("%s and %s are the same file", e.Src, e.Dst) } type SpecialFileError struct { - File string - FileInfo os.FileInfo + File string + FileInfo os.FileInfo } func (e SpecialFileError) Error() string { - return fmt.Sprintf("`%s` is a named pipe", e.File) + return fmt.Sprintf("`%s` is a named pipe", e.File) } type NotADirectoryError struct { - Src string + Src string } func (e NotADirectoryError) Error() string { - return fmt.Sprintf("`%s` is not a directory", e.Src) + return fmt.Sprintf("`%s` is not a directory", e.Src) } - type AlreadyExistsError struct { - Dst string + Dst string } func (e AlreadyExistsError) Error() string { - return fmt.Sprintf("`%s` already exists", e.Dst) + return fmt.Sprintf("`%s` already exists", e.Dst) } - func samefile(src string, dst string) bool { - srcInfo, _ := os.Stat(src) - dstInfo, _ := os.Stat(dst) - return os.SameFile(srcInfo, dstInfo) + srcInfo, _ := os.Stat(src) + dstInfo, _ := os.Stat(dst) + return os.SameFile(srcInfo, dstInfo) } func specialfile(fi os.FileInfo) bool { - return (fi.Mode() & os.ModeNamedPipe) == os.ModeNamedPipe + return (fi.Mode() & os.ModeNamedPipe) == os.ModeNamedPipe } func stringInSlice(a string, list []string) bool { - for _, b := range list { - if b == a { - return true - } - } - return false + for _, b := range list { + if b == a { + return true + } + } + return false } func IsSymlink(fi os.FileInfo) bool { - return (fi.Mode() & os.ModeSymlink) == os.ModeSymlink + return (fi.Mode() & os.ModeSymlink) == os.ModeSymlink } - // Copy data from src to dst // // If followSymlinks is not set and src is a symbolic link, a // new symlink will be created instead of copying the file it points // to. -func CopyFile(src, dst string, followSymlinks bool) (error) { - if samefile(src, dst) { - return &SameFileError{src, dst} - } +func CopyFile(src, dst string, followSymlinks bool) error { + if samefile(src, dst) { + return &SameFileError{src, dst} + } - // Make sure src exists and neither are special files - srcStat, err := os.Lstat(src) - if err != nil { - return err - } - if specialfile(srcStat) { - return &SpecialFileError{src, srcStat} - } + // Make sure src exists and neither are special files + srcStat, err := os.Lstat(src) + if err != nil { + return err + } + if specialfile(srcStat) { + return &SpecialFileError{src, srcStat} + } - dstStat, err := os.Stat(dst) - if err != nil && !os.IsNotExist(err) { - return err - } else if err == nil { - if specialfile(dstStat) { - return &SpecialFileError{dst, dstStat} - } - } + dstStat, err := os.Stat(dst) + if err != nil && !os.IsNotExist(err) { + return err + } else if err == nil { + if specialfile(dstStat) { + return &SpecialFileError{dst, dstStat} + } + } - // If we don't follow symlinks and it's a symlink, just link it and be done - if !followSymlinks && IsSymlink(srcStat) { - return os.Symlink(src, dst) - } + // If we don't follow symlinks and it's a symlink, just link it and be done + if !followSymlinks && IsSymlink(srcStat) { + return os.Symlink(src, dst) + } - // If we are a symlink, follow it - if IsSymlink(srcStat) { - src, err = os.Readlink(src) - if err != nil { - return err - } - srcStat, err = os.Stat(src) - if err != nil { - return err - } - } + // If we are a symlink, follow it + if IsSymlink(srcStat) { + src, err = os.Readlink(src) + if err != nil { + return err + } + srcStat, err = os.Stat(src) + if err != nil { + return err + } + } - // Do the actual copy - fsrc, err := os.Open(src) - if err != nil { - return err - } - defer fsrc.Close() + // Do the actual copy + fsrc, err := os.Open(src) + if err != nil { + return err + } + defer fsrc.Close() - fdst, err := os.Create(dst) - if err != nil { - return err - } - defer fdst.Close() + fdst, err := os.Create(dst) + if err != nil { + return err + } + defer fdst.Close() - size, err := io.Copy(fdst, fsrc) - if err != nil { - return err - } + size, err := io.Copy(fdst, fsrc) + if err != nil { + return err + } - if size != srcStat.Size() { - return fmt.Errorf("%s: %d/%d copied", src, size, srcStat.Size()) - } + if size != srcStat.Size() { + return fmt.Errorf("%s: %d/%d copied", src, size, srcStat.Size()) + } - return nil + return nil } - // Copy mode bits from src to dst. // // If followSymlinks is false, symlinks aren't followed if and only @@ -147,28 +142,27 @@ func CopyFile(src, dst string, followSymlinks bool) (error) { // and both are symlinks this does nothing. (I don't think lchmod is // available in Go) func CopyMode(src, dst string, followSymlinks bool) error { - srcStat, err := os.Lstat(src) - if err != nil { - return err - } + srcStat, err := os.Lstat(src) + if err != nil { + return err + } - dstStat, err := os.Lstat(dst) - if err != nil { - return err - } + dstStat, err := os.Lstat(dst) + if err != nil { + return err + } - // They are both symlinks and we can't change mode on symlinks. - if !followSymlinks && IsSymlink(srcStat) && IsSymlink(dstStat) { - return nil - } + // They are both symlinks and we can't change mode on symlinks. + if !followSymlinks && IsSymlink(srcStat) && IsSymlink(dstStat) { + return nil + } - // Atleast one is not a symlink, get the actual file stats - srcStat, _ = os.Stat(src) - err = os.Chmod(dst, srcStat.Mode()) - return err + // Atleast one is not a symlink, get the actual file stats + srcStat, _ = os.Stat(src) + err = os.Chmod(dst, srcStat.Mode()) + return err } - // Copy data and mode bits ("cp src dst"). Return the file's destination. // // The destination may be a directory. @@ -178,35 +172,35 @@ func CopyMode(src, dst string, followSymlinks bool) error { // // If source and destination are the same file, a SameFileError will be // rased. -func Copy(src, dst string, followSymlinks bool) (string, error){ - dstInfo, err := os.Stat(dst) +func Copy(src, dst string, followSymlinks bool) (string, error) { + dstInfo, err := os.Stat(dst) - if err == nil && dstInfo.Mode().IsDir() { - dst = filepath.Join(dst, filepath.Base(src)) - } + if err == nil && dstInfo.Mode().IsDir() { + dst = filepath.Join(dst, filepath.Base(src)) + } - if err != nil && !os.IsNotExist(err) { - return dst, err - } + if err != nil && !os.IsNotExist(err) { + return dst, err + } - err = CopyFile(src, dst, followSymlinks) - if err != nil { - return dst, err - } + err = CopyFile(src, dst, followSymlinks) + if err != nil { + return dst, err + } - err = CopyMode(src, dst, followSymlinks) - if err != nil { - return dst, err - } + err = CopyMode(src, dst, followSymlinks) + if err != nil { + return dst, err + } - return dst, nil + return dst, nil } type CopyTreeOptions struct { - Symlinks bool - IgnoreDanglingSymlinks bool - CopyFunction func (string, string, bool) (string, error) - Ignore func (string, []os.FileInfo) []string + Symlinks bool + IgnoreDanglingSymlinks bool + CopyFunction func(string, string, bool) (string, error) + Ignore func(string, []os.FileInfo) []string } // Recursively copy a directory tree. @@ -241,86 +235,85 @@ type CopyTreeOptions struct { // function that supports the same signature (like Copy2() when it // exists) can be used. func CopyTree(src, dst string, options *CopyTreeOptions) error { - if options == nil { - options = &CopyTreeOptions{Symlinks:false, - Ignore:nil, - CopyFunction:Copy, - IgnoreDanglingSymlinks:false} - } + if options == nil { + options = &CopyTreeOptions{Symlinks: false, + Ignore: nil, + CopyFunction: Copy, + IgnoreDanglingSymlinks: false} + } + srcFileInfo, err := os.Stat(src) + if err != nil { + return err + } - srcFileInfo, err := os.Stat(src) - if err != nil { - return err - } + if !srcFileInfo.IsDir() { + return &NotADirectoryError{src} + } - if !srcFileInfo.IsDir() { - return &NotADirectoryError{src} - } + _, err = os.Open(dst) + if !os.IsNotExist(err) { + return &AlreadyExistsError{dst} + } - _, err = os.Open(dst) - if !os.IsNotExist(err) { - return &AlreadyExistsError{dst} - } + entries, err := ioutil.ReadDir(src) + if err != nil { + return err + } - entries, err := ioutil.ReadDir(src) - if err != nil { - return err - } + err = os.MkdirAll(dst, srcFileInfo.Mode()) + if err != nil { + return err + } - err = os.MkdirAll(dst, srcFileInfo.Mode()) - if err != nil { - return err - } + ignoredNames := []string{} + if options.Ignore != nil { + ignoredNames = options.Ignore(src, entries) + } - ignoredNames := []string{} - if options.Ignore != nil { - ignoredNames = options.Ignore(src, entries) - } + for _, entry := range entries { + if stringInSlice(entry.Name(), ignoredNames) { + continue + } + srcPath := filepath.Join(src, entry.Name()) + dstPath := filepath.Join(dst, entry.Name()) - for _, entry := range entries { - if stringInSlice(entry.Name(), ignoredNames) { - continue - } - srcPath := filepath.Join(src, entry.Name()) - dstPath := filepath.Join(dst, entry.Name()) + entryFileInfo, err := os.Lstat(srcPath) + if err != nil { + return err + } - entryFileInfo, err := os.Lstat(srcPath) - if err != nil { - return err - } - - // Deal with symlinks - if IsSymlink(entryFileInfo) { - linkTo, err := os.Readlink(srcPath) - if err != nil { - return err - } - if options.Symlinks { - os.Symlink(linkTo, dstPath) - //CopyStat(srcPath, dstPath, false) - } else { - // ignore dangling symlink if flag is on - _, err = os.Stat(linkTo) - if os.IsNotExist(err) && options.IgnoreDanglingSymlinks { - continue - } - _, err = options.CopyFunction(srcPath, dstPath, false) - if err != nil { - return err - } - } - } else if entryFileInfo.IsDir() { - err = CopyTree(srcPath, dstPath, options) - if err != nil { - return err - } - } else { - _, err = options.CopyFunction(srcPath, dstPath, false) - if err != nil { - return err - } - } - } - return nil + // Deal with symlinks + if IsSymlink(entryFileInfo) { + linkTo, err := os.Readlink(srcPath) + if err != nil { + return err + } + if options.Symlinks { + os.Symlink(linkTo, dstPath) + //CopyStat(srcPath, dstPath, false) + } else { + // ignore dangling symlink if flag is on + _, err = os.Stat(linkTo) + if os.IsNotExist(err) && options.IgnoreDanglingSymlinks { + continue + } + _, err = options.CopyFunction(srcPath, dstPath, false) + if err != nil { + return err + } + } + } else if entryFileInfo.IsDir() { + err = CopyTree(srcPath, dstPath, options) + if err != nil { + return err + } + } else { + _, err = options.CopyFunction(srcPath, dstPath, false) + if err != nil { + return err + } + } + } + return nil }