From cadb15f7afb5e7c88667eb4006209efca17744af Mon Sep 17 00:00:00 2001 From: Julien Dessaux Date: Mon, 24 Feb 2020 23:05:45 +0100 Subject: Added tests to the main package and completely reworked the code around that --- config/config.go | 21 --------------------- config/init.go | 16 ---------------- config/statefile.go | 39 --------------------------------------- config/workdir.go | 40 ---------------------------------------- 4 files changed, 116 deletions(-) delete mode 100644 config/config.go delete mode 100644 config/init.go delete mode 100644 config/statefile.go delete mode 100644 config/workdir.go (limited to 'config') diff --git a/config/config.go b/config/config.go deleted file mode 100644 index 262a5d2..0000000 --- a/config/config.go +++ /dev/null @@ -1,21 +0,0 @@ -package config - -// Config object -type Config struct { - verbose bool - quiet bool - stateFile string - workDir string -} - -// Verbose gets the verbose field of the configuration -func (config *Config) Verbose() bool { return config.verbose } - -// Quiet gets the quiet field of the configuration -func (config *Config) Quiet() bool { return config.quiet } - -// StateFile gets the stateFile field of the configuration -func (config *Config) StateFile() string { return config.stateFile } - -// WorkDir gets the workDir field of the configuration -func (config *Config) WorkDir() string { return config.workDir } diff --git a/config/init.go b/config/init.go deleted file mode 100644 index f737fb3..0000000 --- a/config/init.go +++ /dev/null @@ -1,16 +0,0 @@ -package config - -import "flag" - -// Init initialises a program config from the command line flags -func (c *Config) Init() { - flag.BoolVar(&c.verbose, "v", false, "Activates verbose debugging output, defaults to false.") - flag.BoolVar(&c.quiet, "q", false, "Suppress all output, suitable to force a silent update of the spool file.") - flag.StringVar(&c.stateFile, "f", "", "Force the state file to use, defaults to "+bareosStateFile+" if it exists else "+baculaStateFile+".") - flag.StringVar(&c.workDir, "w", "", "Force the work directory to use, defaults to "+bareosWorkDir+" if it exists else "+baculaWorkDir+".") - - // command line arguments parsing - flag.Parse() - c.checkWorkDir() - c.checkStateFile() -} diff --git a/config/statefile.go b/config/statefile.go deleted file mode 100644 index 22fd214..0000000 --- a/config/statefile.go +++ /dev/null @@ -1,39 +0,0 @@ -package config - -import ( - "fmt" - "log" - "os" - "path/filepath" -) - -const ( - bareosStateFile = "bareos-fd.9102.state" - baculaStateFile = "bacula-fd.9102.state" -) - -func (c *Config) checkStateFile() { - // Finds the state file to parse - if c.stateFile != "" { - c.stateFile = filepath.Join(c.workDir, c.stateFile) - info, err := os.Stat(c.stateFile) - if os.IsNotExist(err) || info.IsDir() { - fmt.Printf("INFO The state file %s does not exist.\n", c.stateFile) - os.Exit(0) - } - } else { - c.stateFile = filepath.Join(c.workDir, bareosStateFile) - info, err := os.Stat(c.stateFile) - if os.IsNotExist(err) || info.IsDir() { - c.stateFile = filepath.Join(c.workDir, baculaStateFile) - info, err = os.Stat(c.stateFile) - if os.IsNotExist(err) || info.IsDir() { - fmt.Println("INFO Could not find a suitable state file. Has a job ever run?") - os.Exit(0) - } - } - } - if c.verbose { - log.Println("Using state file ", c.stateFile) - } -} diff --git a/config/workdir.go b/config/workdir.go deleted file mode 100644 index 208df1a..0000000 --- a/config/workdir.go +++ /dev/null @@ -1,40 +0,0 @@ -package config - -import ( - "fmt" - "log" - "os" - "path/filepath" -) - -const ( - bareosWorkDir = "/var/lib/bareos" - baculaWorkDir = "/var/lib/bacula" -) - -// checkWorkDir checks if a work directory is valid -func (c *Config) checkWorkDir() { - // Determine the work directory to use. - if c.workDir != "" { - info, err := os.Stat(c.workDir) - if os.IsNotExist(err) || !info.IsDir() { - fmt.Printf("INFO Invalid work directory %s : it does not exist or is not a directory.\n", c.workDir) - os.Exit(0) - } - } else { - c.workDir = bareosWorkDir - info, err := os.Stat(c.workDir) - if os.IsNotExist(err) || !info.IsDir() { - c.workDir = baculaWorkDir - info, err := os.Stat(c.workDir) - if os.IsNotExist(err) || !info.IsDir() { - fmt.Println("INFO Could not find a suitable work directory. Is bareos or bacula installed?") - os.Exit(0) - } - } - } - c.workDir = filepath.Clean(c.workDir) - if c.verbose { - log.Println("Setting work directory to ", c.workDir) - } -} -- cgit v1.2.3