refactor
This commit is contained in:
parent
bfeaed40d5
commit
ee6d704e1e
@ -1,4 +1,4 @@
|
||||
package main
|
||||
package common
|
||||
|
||||
import (
|
||||
"bytes"
|
@ -1,28 +1,30 @@
|
||||
package main
|
||||
package common_test
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"slices"
|
||||
"strings"
|
||||
"testing"
|
||||
|
||||
"src.opensuse.org/autogits/common"
|
||||
)
|
||||
|
||||
func TestSubmodulesParsing(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
file string
|
||||
subs []Submodule
|
||||
subs []common.Submodule
|
||||
has_error bool
|
||||
}{
|
||||
{
|
||||
name: "Empty submodules file",
|
||||
file: "",
|
||||
subs: []Submodule{},
|
||||
subs: []common.Submodule{},
|
||||
},
|
||||
{
|
||||
name: "Empty single submodule",
|
||||
file: "[submodule \"Foo\"]",
|
||||
subs: []Submodule{
|
||||
subs: []common.Submodule{
|
||||
{Name: "Foo"},
|
||||
},
|
||||
},
|
||||
@ -59,7 +61,7 @@ func TestSubmodulesParsing(t *testing.T) {
|
||||
{
|
||||
name: "Submodule with one entry",
|
||||
file: "[submodule \"libfoo\"]\npath = foo\n\n",
|
||||
subs: []Submodule{
|
||||
subs: []common.Submodule{
|
||||
{
|
||||
Name: "libfoo",
|
||||
Path: "foo",
|
||||
@ -69,7 +71,7 @@ func TestSubmodulesParsing(t *testing.T) {
|
||||
{
|
||||
name: "Submodules with funny entries entries",
|
||||
file: "[submodule \"libfoo\"]\npath = foo [ bar \n\n [ submodule \"test \" ]\npath=ma ma\nurl= safe",
|
||||
subs: []Submodule{
|
||||
subs: []common.Submodule{
|
||||
{
|
||||
Name: "libfoo",
|
||||
Path: "foo [ bar",
|
||||
@ -84,7 +86,7 @@ func TestSubmodulesParsing(t *testing.T) {
|
||||
{
|
||||
name: "Submodule with valid entries",
|
||||
file: "[submodule \"libfoo\"]\npath=foo\nurl=goo\nupdate=none\nbranch=test\nignore=all\nshallow=true",
|
||||
subs: []Submodule{
|
||||
subs: []common.Submodule{
|
||||
{
|
||||
Name: "libfoo",
|
||||
Path: "foo",
|
||||
@ -105,7 +107,7 @@ func TestSubmodulesParsing(t *testing.T) {
|
||||
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
mods, err := ParseSubmodulesFile(strings.NewReader(test.file))
|
||||
mods, err := common.ParseSubmodulesFile(strings.NewReader(test.file))
|
||||
if test.has_error {
|
||||
if err == nil {
|
||||
t.Error("Expected an error")
|
||||
@ -123,7 +125,7 @@ func TestSubmodulesParsing(t *testing.T) {
|
||||
func TestSubmodulesWriting(t *testing.T) {
|
||||
tests := []struct {
|
||||
name string
|
||||
subs []Submodule
|
||||
subs []common.Submodule
|
||||
output []byte
|
||||
has_error bool
|
||||
}{
|
||||
@ -133,7 +135,7 @@ func TestSubmodulesWriting(t *testing.T) {
|
||||
},
|
||||
{
|
||||
name: "single submodule",
|
||||
subs: []Submodule{
|
||||
subs: []common.Submodule{
|
||||
{
|
||||
Name: "foo",
|
||||
Url: "bar",
|
||||
@ -143,7 +145,7 @@ func TestSubmodulesWriting(t *testing.T) {
|
||||
},
|
||||
{
|
||||
name: "empty name submodule",
|
||||
subs: []Submodule{
|
||||
subs: []common.Submodule{
|
||||
{
|
||||
Name: "foo",
|
||||
Url: "bar",
|
||||
@ -154,7 +156,7 @@ func TestSubmodulesWriting(t *testing.T) {
|
||||
},
|
||||
{
|
||||
name: "submodule with all the things",
|
||||
subs: []Submodule{
|
||||
subs: []common.Submodule{
|
||||
{
|
||||
Name: "foo",
|
||||
Url: "bar",
|
||||
@ -176,7 +178,7 @@ func TestSubmodulesWriting(t *testing.T) {
|
||||
for _, test := range tests {
|
||||
t.Run(test.name, func(t *testing.T) {
|
||||
out := bytes.Buffer{}
|
||||
if err := WriteSubmodules(test.subs, &out); err != nil {
|
||||
if err := common.WriteSubmodules(test.subs, &out); err != nil {
|
||||
if !test.has_error {
|
||||
t.Error(err)
|
||||
}
|
@ -262,15 +262,15 @@ func (rs *PRSet) Merge() error {
|
||||
return fmt.Errorf("Failed fetching data during .gitmodules merge resoulution: %w", err)
|
||||
}
|
||||
|
||||
subs1, err := ParseSubmodulesFile(strings.NewReader(s1))
|
||||
subs1, err := common.ParseSubmodulesFile(strings.NewReader(s1))
|
||||
if err != nil {
|
||||
return fmt.Errorf("Failed parsing submodule file [%s] in merge: %w", s.States[0], err)
|
||||
}
|
||||
subs2, err := ParseSubmodulesFile(strings.NewReader(s2))
|
||||
subs2, err := common.ParseSubmodulesFile(strings.NewReader(s2))
|
||||
if err != nil {
|
||||
return fmt.Errorf("Failed parsing submodule file [%s] in merge: %w", s.States[0], err)
|
||||
}
|
||||
subs3, err := ParseSubmodulesFile(strings.NewReader(s3))
|
||||
subs3, err := common.ParseSubmodulesFile(strings.NewReader(s3))
|
||||
if err != nil {
|
||||
return fmt.Errorf("Failed parsing submodule file [%s] in merge: %w", s.States[0], err)
|
||||
}
|
||||
@ -279,7 +279,7 @@ func (rs *PRSet) Merge() error {
|
||||
// this will update submodules
|
||||
mergedSubs := slices.Concat(subs1, subs2, subs3)
|
||||
|
||||
var filteredSubs []Submodule = make([]Submodule, 0, max(len(subs1), len(subs2), len(subs3)))
|
||||
var filteredSubs []common.Submodule = make([]common.Submodule, 0, max(len(subs1), len(subs2), len(subs3)))
|
||||
nextSub:
|
||||
for subName := range submodules {
|
||||
|
||||
@ -296,7 +296,7 @@ func (rs *PRSet) Merge() error {
|
||||
if err != nil {
|
||||
return fmt.Errorf("Can't open .gitmodules for writing: %w", err)
|
||||
}
|
||||
if err = WriteSubmodules(filteredSubs, out); err != nil {
|
||||
if err = common.WriteSubmodules(filteredSubs, out); err != nil {
|
||||
return fmt.Errorf("Can't write .gitmodules: %w", err)
|
||||
}
|
||||
if out.Close(); err != nil {
|
||||
|
Loading…
x
Reference in New Issue
Block a user