Fixed an issue when running multiple features
Этот коммит содержится в:
родитель
e1a17816b3
коммит
f9d367ce1b
1 изменённых файлов: 9 добавлений и 7 удалений
16
suite.go
16
suite.go
|
@ -621,7 +621,7 @@ func extractFeaturePathLine(p string) (string, int) {
|
||||||
return retPath, line
|
return retPath, line
|
||||||
}
|
}
|
||||||
|
|
||||||
func parseFeatureFile(path string) (*feature, error) {
|
func parseFeatureFile(path string, newIdFunc func() string) (*feature, error) {
|
||||||
reader, err := os.Open(path)
|
reader, err := os.Open(path)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, err
|
return nil, err
|
||||||
|
@ -629,12 +629,12 @@ func parseFeatureFile(path string) (*feature, error) {
|
||||||
defer reader.Close()
|
defer reader.Close()
|
||||||
|
|
||||||
var buf bytes.Buffer
|
var buf bytes.Buffer
|
||||||
gherkinDocument, err := gherkin.ParseGherkinDocument(io.TeeReader(reader, &buf), (&messages.Incrementing{}).NewId)
|
gherkinDocument, err := gherkin.ParseGherkinDocument(io.TeeReader(reader, &buf), newIdFunc)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return nil, fmt.Errorf("%s - %v", path, err)
|
return nil, fmt.Errorf("%s - %v", path, err)
|
||||||
}
|
}
|
||||||
|
|
||||||
pickles := gherkin.Pickles(*gherkinDocument, path, (&messages.Incrementing{}).NewId)
|
pickles := gherkin.Pickles(*gherkinDocument, path, newIdFunc)
|
||||||
|
|
||||||
return &feature{
|
return &feature{
|
||||||
GherkinDocument: gherkinDocument,
|
GherkinDocument: gherkinDocument,
|
||||||
|
@ -644,7 +644,7 @@ func parseFeatureFile(path string) (*feature, error) {
|
||||||
}, nil
|
}, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func parseFeatureDir(dir string) ([]*feature, error) {
|
func parseFeatureDir(dir string, newIdFunc func() string) ([]*feature, error) {
|
||||||
var features []*feature
|
var features []*feature
|
||||||
return features, filepath.Walk(dir, func(p string, f os.FileInfo, err error) error {
|
return features, filepath.Walk(dir, func(p string, f os.FileInfo, err error) error {
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
@ -659,7 +659,7 @@ func parseFeatureDir(dir string) ([]*feature, error) {
|
||||||
return nil
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
feat, err := parseFeatureFile(p)
|
feat, err := parseFeatureFile(p, newIdFunc)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
|
@ -678,11 +678,13 @@ func parsePath(path string) ([]*feature, error) {
|
||||||
return features, err
|
return features, err
|
||||||
}
|
}
|
||||||
|
|
||||||
|
newIdFunc := (&messages.Incrementing{}).NewId
|
||||||
|
|
||||||
if fi.IsDir() {
|
if fi.IsDir() {
|
||||||
return parseFeatureDir(path)
|
return parseFeatureDir(path, newIdFunc)
|
||||||
}
|
}
|
||||||
|
|
||||||
ft, err := parseFeatureFile(path)
|
ft, err := parseFeatureFile(path, newIdFunc)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return features, err
|
return features, err
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче