Генерённые функции выдаются в порядке следования в сценарии (часть 2)
Поправлена ошибка нарушения последовательности шагов тестов, сохранённых в базе hashicorp/go-memdb@v1.3.2 Проявлялась в Go 1.19. В Go 1.17, которая в требованиях - проблемы не было.
Этот коммит содержится в:
родитель
279f4f6aba
коммит
2e4e7e9a27
1 изменённых файлов: 28 добавлений и 0 удалений
|
@ -2,6 +2,8 @@ package storage
|
|||
|
||||
import (
|
||||
"fmt"
|
||||
"sort"
|
||||
"strconv"
|
||||
"sync"
|
||||
|
||||
messages "github.com/cucumber/messages/go/v21"
|
||||
|
@ -230,6 +232,8 @@ func (s *Storage) MustGetPickleStepResultsByPickleID(pickleID string) (psrs []mo
|
|||
psrs = append(psrs, v.(models.PickleStepResult))
|
||||
}
|
||||
|
||||
sort.Sort(stepsSortByPickleStepID(psrs))
|
||||
|
||||
return psrs
|
||||
}
|
||||
|
||||
|
@ -255,9 +259,33 @@ func (s *Storage) MustGetPickleStepResultsByStatus(status models.StepResultStatu
|
|||
psrs = append(psrs, v.(models.PickleStepResult))
|
||||
}
|
||||
|
||||
sort.Sort(stepsSortByPickleStepID(psrs))
|
||||
|
||||
return psrs
|
||||
}
|
||||
|
||||
type stepsSortByPickleStepID []models.PickleStepResult
|
||||
|
||||
func (s stepsSortByPickleStepID) Len() int {
|
||||
return len(s)
|
||||
}
|
||||
|
||||
func (s stepsSortByPickleStepID) Swap(i, j int) {
|
||||
s[i], s[j] = s[j], s[i]
|
||||
}
|
||||
|
||||
func (s stepsSortByPickleStepID) Less(i, j int) bool {
|
||||
num1, err := strconv.Atoi(s[i].PickleStepID)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
num2, err := strconv.Atoi(s[j].PickleStepID)
|
||||
if err != nil {
|
||||
return false
|
||||
}
|
||||
return num1 < num2
|
||||
}
|
||||
|
||||
// MustInsertFeature will insert a feature and panic on error.
|
||||
func (s *Storage) MustInsertFeature(f *models.Feature) {
|
||||
s.mustInsert(tableFeature, f)
|
||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче