From 3b80b0a0a4a1f4de9f77ced0fc7994da3de58cad Mon Sep 17 00:00:00 2001 From: Dominik Link Date: Fri, 7 Feb 2025 15:46:39 +0100 Subject: [PATCH] fixed issue #2471 where it wouldn't show info when packages are in a group and modified test --- query.go | 14 ++++++++++++++ query_test.go | 17 +++++++++++++++++ 2 files changed, 31 insertions(+) diff --git a/query.go b/query.go index 747e1f9d..10000baa 100644 --- a/query.go +++ b/query.go @@ -43,6 +43,20 @@ func syncInfo(ctx context.Context, run *runtime.Runtime, ) pkgS = query.RemoveInvalidTargets(run.Logger, pkgS, run.Cfg.Mode) + + expandedPackages := []string{} + for _, pkg := range pkgS { + groupPackages := dbExecutor.PackagesFromGroup(pkg) + if len(groupPackages) > 0 { + for _, p := range groupPackages { + expandedPackages = append(expandedPackages, p.Name()) + } + } else { + expandedPackages = append(expandedPackages, pkg) + } + } + pkgS = expandedPackages + aurS, repoS := packageSlices(pkgS, run.Cfg, dbExecutor) if len(repoS) == 0 && len(aurS) == 0 { diff --git a/query_test.go b/query_test.go index 11231a9c..215c580a 100644 --- a/query_test.go +++ b/query_test.go @@ -84,6 +84,12 @@ func TestSyncInfo(t *testing.T) { wantShow: []string{}, wantErr: true, }, + { + name: "Si arduino", + args: []string{"S", "i"}, + targets: []string{"arduino"}, + wantShow: []string{"pacman", "-S", "-i", "--config", "/etc/pacman.conf", "--", "arduino-cli"}, + }, } dbExc := &mock.DBExecutor{ @@ -94,9 +100,20 @@ func TestSyncInfo(t *testing.T) { PBase: "linux", } } + if s == "arduino-cli" { + return &mock.Package{ + PName: "arduino-cli", + PBase: "arduino-cli", + } + } return nil }, PackagesFromGroupFn: func(s string) []mock.IPackage { + if s == "arduino" { + return []mock.IPackage{ + &mock.Package{PName: "arduino-cli"}, + } + } return nil }, }