+// init function will run once before execution of test functions begins.
+func init() {
+ // Check dependency
+ err := checkTestDep()
+ if err != nil {
+ log.Fatal(err)
+ }
+}
+
+// isCommandAvailable verify if a command/utility is available
+func isCommandAvailable(name string) bool {
+ cmd := exec.Command("/bin/sh", "-c", "command -v "+name)
+ if err := cmd.Run(); err != nil {
+ return false
+ }
+ return true
+}
+
+// checkTestDep checks if all dependency tools are available to be able to run tests
+func checkTestDep() error {
+ for _, cmd := range dependency_tools {
+ if !isCommandAvailable(cmd) {
+ return fmt.Errorf(cmd + " is not installed and is mandatory to run tests")
+ }
+ }
+ return nil
+}
+
+// initEnv