aboutsummaryrefslogtreecommitdiffstats
path: root/examples/common_test.go
diff options
context:
space:
mode:
Diffstat (limited to 'examples/common_test.go')
-rw-r--r--examples/common_test.go127
1 files changed, 0 insertions, 127 deletions
diff --git a/examples/common_test.go b/examples/common_test.go
deleted file mode 100644
index b218e07..0000000
--- a/examples/common_test.go
+++ /dev/null
@@ -1,127 +0,0 @@
-package examples
-
-import (
- "flag"
- "fmt"
- "go/build"
- "io/ioutil"
- "os"
- "os/exec"
- "path/filepath"
- "testing"
-)
-
-var examplesTest = flag.Bool("examples", false, "run the examples tests")
-
-var defaultURL = "https://github.com/mcuadros/basic.git"
-
-var args = map[string][]string{
- "showcase": []string{defaultURL, tempFolder()},
- "custom_http": []string{defaultURL},
- "clone": []string{defaultURL, tempFolder()},
- "progress": []string{defaultURL, tempFolder()},
- "open": []string{cloneRepository(defaultURL, tempFolder())},
- "push": []string{setEmptyRemote(cloneRepository(defaultURL, tempFolder()))},
-}
-
-var ignored = map[string]bool{}
-
-var tempFolders = []string{}
-
-func TestExamples(t *testing.T) {
- flag.Parse()
- if !*examplesTest && os.Getenv("CI") == "" {
- t.Skip("skipping examples tests, pass --examples to execute it")
- return
- }
-
- defer deleteTempFolders()
-
- examples, err := filepath.Glob(examplesFolder())
- if err != nil {
- t.Errorf("error finding tests: %s", err)
- }
-
- for _, example := range examples {
- _, name := filepath.Split(filepath.Dir(example))
-
- if ignored[name] {
- continue
- }
-
- t.Run(name, func(t *testing.T) {
- testExample(t, name, example)
- })
- }
-}
-
-func tempFolder() string {
- path, err := ioutil.TempDir("", "")
- CheckIfError(err)
-
- tempFolders = append(tempFolders, path)
- return path
-}
-
-func packageFolder() string {
- return filepath.Join(
- build.Default.GOPATH,
- "src", "srcd.works/go-git.v4",
- )
-}
-
-func examplesFolder() string {
- return filepath.Join(
- packageFolder(),
- "examples", "*", "main.go",
- )
-}
-
-func cloneRepository(url, folder string) string {
- cmd := exec.Command("git", "clone", url, folder)
- err := cmd.Run()
- CheckIfError(err)
-
- return folder
-}
-
-func createBareRepository(dir string) string {
- cmd := exec.Command("git", "init", "--bare", dir)
- err := cmd.Run()
- CheckIfError(err)
-
- return dir
-}
-
-func setEmptyRemote(dir string) string {
- remote := createBareRepository(tempFolder())
- setRemote(dir, fmt.Sprintf("file://%s", remote))
- return dir
-}
-
-func setRemote(local, remote string) {
- cmd := exec.Command("git", "remote", "set-url", "origin", remote)
- cmd.Dir = local
- err := cmd.Run()
- CheckIfError(err)
-}
-
-func testExample(t *testing.T, name, example string) {
- cmd := exec.Command("go", append([]string{
- "run", filepath.Join(example),
- }, args[name]...)...)
-
- cmd.Stdout = os.Stdout
- cmd.Stderr = os.Stderr
-
- if err := cmd.Run(); err != nil {
- t.Errorf("error running cmd %q", err)
- }
-}
-
-func deleteTempFolders() {
- for _, folder := range tempFolders {
- err := os.RemoveAll(folder)
- CheckIfError(err)
- }
-}