Add the external test linguist dir from env var

This allows to use a cached directory with linguist instead of cloning and speeds up the tests by -10s on my local machine.

Signed-off-by: Vadim Markovtsev <vadim@sourced.tech>
This commit is contained in:
Vadim Markovtsev 2017-09-28 20:58:13 +02:00 committed by Vadim Markovtsev
parent 557cc51f55
commit 250519bb51
2 changed files with 35 additions and 17 deletions

View File

@ -20,6 +20,7 @@ type EnryTestSuite struct {
suite.Suite
repoLinguist string
samplesDir string
cloned bool
}
func TestEnryTestSuite(t *testing.T) {
@ -28,14 +29,20 @@ func TestEnryTestSuite(t *testing.T) {
func (s *EnryTestSuite) SetupSuite() {
var err error
s.repoLinguist = os.Getenv("ENRY_TEST_REPO")
s.cloned = len(s.repoLinguist) == 0
if s.cloned {
s.repoLinguist, err = ioutil.TempDir("", "linguist-")
assert.NoError(s.T(), err)
}
s.samplesDir = filepath.Join(s.repoLinguist, "samples")
if s.cloned {
cmd := exec.Command("git", "clone", linguistURL, s.repoLinguist)
err = cmd.Run()
assert.NoError(s.T(), err)
}
cwd, err := os.Getwd()
assert.NoError(s.T(), err)
@ -43,7 +50,7 @@ func (s *EnryTestSuite) SetupSuite() {
err = os.Chdir(s.repoLinguist)
assert.NoError(s.T(), err)
cmd = exec.Command("git", "checkout", data.LinguistCommit)
cmd := exec.Command("git", "checkout", data.LinguistCommit)
err = cmd.Run()
assert.NoError(s.T(), err)
@ -52,8 +59,10 @@ func (s *EnryTestSuite) SetupSuite() {
}
func (s *EnryTestSuite) TearDownSuite() {
if s.cloned {
err := os.RemoveAll(s.repoLinguist)
assert.NoError(s.T(), err)
}
}
func (s *EnryTestSuite) TestGetLanguage() {

View File

@ -13,7 +13,7 @@ import (
)
const (
lingustURL = "https://github.com/github/linguist.git"
linguistURL = "https://github.com/github/linguist.git"
commit = "d5c8db3fb91963c4b2762ca2ea2ff7cfac109f68"
samplesDir = "samples"
languagesFile = "lib/linguist/languages.yml"
@ -80,6 +80,7 @@ const (
type GeneratorTestSuite struct {
suite.Suite
tmpLinguist string
cloned bool
}
func TestGeneratorTestSuite(t *testing.T) {
@ -88,12 +89,18 @@ func TestGeneratorTestSuite(t *testing.T) {
func (s *GeneratorTestSuite) SetupSuite() {
var err error
s.tmpLinguist = os.Getenv("ENRY_TEST_REPO")
s.cloned = len(s.tmpLinguist) == 0
if s.cloned {
s.tmpLinguist, err = ioutil.TempDir("", "linguist-")
assert.NoError(s.T(), err)
}
cmd := exec.Command("git", "clone", lingustURL, s.tmpLinguist)
if s.cloned {
cmd := exec.Command("git", "clone", linguistURL, s.tmpLinguist)
err = cmd.Run()
assert.NoError(s.T(), err)
}
cwd, err := os.Getwd()
assert.NoError(s.T(), err)
@ -101,7 +108,7 @@ func (s *GeneratorTestSuite) SetupSuite() {
err = os.Chdir(s.tmpLinguist)
assert.NoError(s.T(), err)
cmd = exec.Command("git", "checkout", commit)
cmd := exec.Command("git", "checkout", commit)
err = cmd.Run()
assert.NoError(s.T(), err)
@ -110,8 +117,10 @@ func (s *GeneratorTestSuite) SetupSuite() {
}
func (s *GeneratorTestSuite) TearDownSuite() {
if s.cloned {
err := os.RemoveAll(s.tmpLinguist)
assert.NoError(s.T(), err)
}
}
func (s *GeneratorTestSuite) TestGenerationFiles() {