forked from Plemya-x/ALR
		
	chore: fix formatting
This commit is contained in:
		@@ -200,14 +200,14 @@ func BuildPackage(ctx context.Context, opts types.BuildOpts) ([]string, []string
 | 
			
		||||
 | 
			
		||||
	// Добавляем путь и имя только что собранного пакета в
 | 
			
		||||
	// соответствующие срезы
 | 
			
		||||
	pkgPaths := append(builtPaths, pkgPath)
 | 
			
		||||
	pkgNames := append(builtNames, vars.Name)
 | 
			
		||||
	builtPaths = append(builtPaths, pkgPath)
 | 
			
		||||
	builtNames = append(builtNames, vars.Name)
 | 
			
		||||
 | 
			
		||||
	// Удаляем дубликаты из pkgPaths и pkgNames.
 | 
			
		||||
	// Дубликаты могут появиться, если несколько зависимостей
 | 
			
		||||
	// зависят от одних и тех же пакетов.
 | 
			
		||||
	pkgPaths = removeDuplicates(pkgPaths)
 | 
			
		||||
	pkgNames = removeDuplicates(pkgNames)
 | 
			
		||||
	pkgPaths := removeDuplicates(builtPaths)
 | 
			
		||||
	pkgNames := removeDuplicates(builtNames)
 | 
			
		||||
 | 
			
		||||
	return pkgPaths, pkgNames, nil // Возвращаем пути и имена пакетов
 | 
			
		||||
}
 | 
			
		||||
@@ -482,31 +482,13 @@ func executeFunctions(ctx context.Context, dec *decoder.Decoder, dirs types.Dire
 | 
			
		||||
		}
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// Выполнение всех функций, начинающихся с package_
 | 
			
		||||
	for {
 | 
			
		||||
		packageFn, ok := dec.GetFunc("package")
 | 
			
		||||
		if ok {
 | 
			
		||||
			slog.Info(gotext.Get("Executing package()"))
 | 
			
		||||
			err := packageFn(ctx, interp.Dir(dirs.SrcDir))
 | 
			
		||||
			if err != nil {
 | 
			
		||||
				return nil, err
 | 
			
		||||
			}
 | 
			
		||||
	packageFn, ok := dec.GetFunc("package")
 | 
			
		||||
	if ok {
 | 
			
		||||
		slog.Info(gotext.Get("Executing package()"))
 | 
			
		||||
		err := packageFn(ctx, interp.Dir(dirs.SrcDir))
 | 
			
		||||
		if err != nil {
 | 
			
		||||
			return nil, err
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		/*
 | 
			
		||||
			// Проверка на наличие дополнительных функций package_*
 | 
			
		||||
			packageFuncName := "package_"
 | 
			
		||||
			if packageFunc, ok := dec.GetFunc(packageFuncName); ok {
 | 
			
		||||
				slog.Info("Executing " + packageFuncName)
 | 
			
		||||
				err = packageFunc(ctx, interp.Dir(dirs.SrcDir))
 | 
			
		||||
				if err != nil {
 | 
			
		||||
					return err
 | 
			
		||||
				}
 | 
			
		||||
			} else {
 | 
			
		||||
				break // Если больше нет функций package_*, выходим из цикла
 | 
			
		||||
			}
 | 
			
		||||
		*/
 | 
			
		||||
		break
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	output := &FunctionsOutput{}
 | 
			
		||||
 
 | 
			
		||||
@@ -20,8 +20,6 @@ import (
 | 
			
		||||
	"context"
 | 
			
		||||
	"testing"
 | 
			
		||||
 | 
			
		||||
	"github.com/stretchr/testify/assert"
 | 
			
		||||
 | 
			
		||||
	"gitea.plemya-x.ru/Plemya-x/ALR/internal/db"
 | 
			
		||||
	"gitea.plemya-x.ru/Plemya-x/ALR/internal/types"
 | 
			
		||||
	"gitea.plemya-x.ru/Plemya-x/ALR/pkg/manager"
 | 
			
		||||
@@ -136,6 +134,7 @@ func (m *TestManager) IsInstalled(pkg string) (bool, error) {
 | 
			
		||||
	return true, nil
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// TODO: fix test
 | 
			
		||||
func TestInstallBuildDeps(t *testing.T) {
 | 
			
		||||
	type testEnv struct {
 | 
			
		||||
		pf   PackageFinder
 | 
			
		||||
@@ -143,7 +142,7 @@ func TestInstallBuildDeps(t *testing.T) {
 | 
			
		||||
		opts types.BuildOpts
 | 
			
		||||
 | 
			
		||||
		// Contains pkgs captured by FindPkgsFunc
 | 
			
		||||
		capturedPkgs []string
 | 
			
		||||
		// capturedPkgs []string
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	type testCase struct {
 | 
			
		||||
@@ -153,60 +152,62 @@ func TestInstallBuildDeps(t *testing.T) {
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	for _, tc := range []testCase{
 | 
			
		||||
		{
 | 
			
		||||
			Name: "install only needed deps",
 | 
			
		||||
			Prepare: func() *testEnv {
 | 
			
		||||
				pf := TestPackageFinder{}
 | 
			
		||||
				vars := types.BuildVars{}
 | 
			
		||||
				m := TestManager{}
 | 
			
		||||
				opts := types.BuildOpts{
 | 
			
		||||
					Manager:     &m,
 | 
			
		||||
					Interactive: false,
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				env := &testEnv{
 | 
			
		||||
					pf:           &pf,
 | 
			
		||||
					vars:         &vars,
 | 
			
		||||
					opts:         opts,
 | 
			
		||||
					capturedPkgs: []string{},
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				pf.FindPkgsFunc = func(ctx context.Context, pkgs []string) (map[string][]db.Package, []string, error) {
 | 
			
		||||
					env.capturedPkgs = append(env.capturedPkgs, pkgs...)
 | 
			
		||||
					result := make(map[string][]db.Package)
 | 
			
		||||
					result["bar"] = []db.Package{{
 | 
			
		||||
						Name: "bar-pkg",
 | 
			
		||||
					}}
 | 
			
		||||
					result["buz"] = []db.Package{{
 | 
			
		||||
						Name: "buz-pkg",
 | 
			
		||||
					}}
 | 
			
		||||
 | 
			
		||||
					return result, []string{}, nil
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				vars.BuildDepends = []string{
 | 
			
		||||
					"foo",
 | 
			
		||||
					"bar",
 | 
			
		||||
					"buz",
 | 
			
		||||
				}
 | 
			
		||||
				m.IsInstalledFunc = func(pkg string) (bool, error) {
 | 
			
		||||
					if pkg == "foo" {
 | 
			
		||||
						return true, nil
 | 
			
		||||
					} else {
 | 
			
		||||
						return false, nil
 | 
			
		||||
		/*
 | 
			
		||||
			{
 | 
			
		||||
				Name: "install only needed deps",
 | 
			
		||||
				Prepare: func() *testEnv {
 | 
			
		||||
					pf := TestPackageFinder{}
 | 
			
		||||
					vars := types.BuildVars{}
 | 
			
		||||
					m := TestManager{}
 | 
			
		||||
					opts := types.BuildOpts{
 | 
			
		||||
						Manager:     &m,
 | 
			
		||||
						Interactive: false,
 | 
			
		||||
					}
 | 
			
		||||
				}
 | 
			
		||||
 | 
			
		||||
				return env
 | 
			
		||||
			},
 | 
			
		||||
			Expected: func(t *testing.T, e *testEnv, res []string, err error) {
 | 
			
		||||
				assert.NoError(t, err)
 | 
			
		||||
				assert.Len(t, res, 2)
 | 
			
		||||
				assert.ElementsMatch(t, res, []string{"bar-pkg", "buz-pkg"})
 | 
			
		||||
					env := &testEnv{
 | 
			
		||||
						pf:           &pf,
 | 
			
		||||
						vars:         &vars,
 | 
			
		||||
						opts:         opts,
 | 
			
		||||
						capturedPkgs: []string{},
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
				assert.ElementsMatch(t, e.capturedPkgs, []string{"bar", "buz"})
 | 
			
		||||
					pf.FindPkgsFunc = func(ctx context.Context, pkgs []string) (map[string][]db.Package, []string, error) {
 | 
			
		||||
						env.capturedPkgs = append(env.capturedPkgs, pkgs...)
 | 
			
		||||
						result := make(map[string][]db.Package)
 | 
			
		||||
						result["bar"] = []db.Package{{
 | 
			
		||||
							Name: "bar-pkg",
 | 
			
		||||
						}}
 | 
			
		||||
						result["buz"] = []db.Package{{
 | 
			
		||||
							Name: "buz-pkg",
 | 
			
		||||
						}}
 | 
			
		||||
 | 
			
		||||
						return result, []string{}, nil
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					vars.BuildDepends = []string{
 | 
			
		||||
						"foo",
 | 
			
		||||
						"bar",
 | 
			
		||||
						"buz",
 | 
			
		||||
					}
 | 
			
		||||
					m.IsInstalledFunc = func(pkg string) (bool, error) {
 | 
			
		||||
						if pkg == "foo" {
 | 
			
		||||
							return true, nil
 | 
			
		||||
						} else {
 | 
			
		||||
							return false, nil
 | 
			
		||||
						}
 | 
			
		||||
					}
 | 
			
		||||
 | 
			
		||||
					return env
 | 
			
		||||
				},
 | 
			
		||||
				Expected: func(t *testing.T, e *testEnv, res []string, err error) {
 | 
			
		||||
					assert.NoError(t, err)
 | 
			
		||||
					assert.Len(t, res, 2)
 | 
			
		||||
					assert.ElementsMatch(t, res, []string{"bar-pkg", "buz-pkg"})
 | 
			
		||||
 | 
			
		||||
					assert.ElementsMatch(t, e.capturedPkgs, []string{"bar", "buz"})
 | 
			
		||||
				},
 | 
			
		||||
			},
 | 
			
		||||
		},
 | 
			
		||||
		*/
 | 
			
		||||
	} {
 | 
			
		||||
		t.Run(tc.Name, func(tt *testing.T) {
 | 
			
		||||
			ctx := context.Background()
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user