summaryrefslogtreecommitdiffstats
path: root/pkg/test/test.go
blob: b3db699d08d3bd5e17930f75e0540fca52474886 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
package test

import (
	"github.com/go-errors/errors"
	"os"
	"os/exec"
	"path/filepath"

	"github.com/jesseduffield/lazygit/pkg/utils"
)

// GenerateRepo generates a repo from test/repos and changes the directory to be
// inside the newly made repo
func GenerateRepo(filename string) error {
	reposDir := "/test/repos/"
	testPath := utils.GetProjectRoot() + reposDir

	// workaround for debian packaging
	if _, err := os.Stat(testPath); os.IsNotExist(err) {
		cwd, _ := os.Getwd()
		testPath = filepath.Dir(filepath.Dir(cwd)) + reposDir
	}
	if err := os.Chdir(testPath); err != nil {
		return err
	}
	if output, err := exec.Command("bash", filename).CombinedOutput(); err != nil {
		return errors.New(string(output))
	}

	return os.Chdir(testPath + "repo")
}