Генерённые функции выдаются в порядке следования в сценарии (часть 2)
Поправлена ошибка нарушения последовательности шагов тестов, сохранённых в базе hashicorp/go-memdb@v1.3.2 Проявлялась в Go 1.19. В Go 1.17, которая в требованиях - проблемы не было.
Этот коммит содержится в:
родитель
a21b046e35
коммит
345831de9a
1 изменённых файлов: 28 добавлений и 0 удалений
|
@ -2,6 +2,8 @@ package storage
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
|
"sort"
|
||||||
|
"strconv"
|
||||||
"sync"
|
"sync"
|
||||||
|
|
||||||
"github.com/cucumber/messages-go/v16"
|
"github.com/cucumber/messages-go/v16"
|
||||||
|
@ -230,6 +232,8 @@ func (s *Storage) MustGetPickleStepResultsByPickleID(pickleID string) (psrs []mo
|
||||||
psrs = append(psrs, v.(models.PickleStepResult))
|
psrs = append(psrs, v.(models.PickleStepResult))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sort.Sort(stepsSortByPickleStepID(psrs))
|
||||||
|
|
||||||
return psrs
|
return psrs
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -240,9 +244,33 @@ func (s *Storage) MustGetPickleStepResultsByStatus(status models.StepResultStatu
|
||||||
psrs = append(psrs, v.(models.PickleStepResult))
|
psrs = append(psrs, v.(models.PickleStepResult))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
sort.Sort(stepsSortByPickleStepID(psrs))
|
||||||
|
|
||||||
return 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.
|
// MustInsertFeature will insert a feature and panic on error.
|
||||||
func (s *Storage) MustInsertFeature(f *models.Feature) {
|
func (s *Storage) MustInsertFeature(f *models.Feature) {
|
||||||
s.mustInsert(tableFeature, f)
|
s.mustInsert(tableFeature, f)
|
||||||
|
|
Загрузка…
Создание таблицы
Сослаться в новой задаче