Skip to content

Commit

Permalink
many: add components param to snapasserts.NewInstalledSnap
Browse files Browse the repository at this point in the history
  • Loading branch information
andrewphelpsj committed Sep 18, 2024
1 parent 050aa09 commit 56a1f30
Show file tree
Hide file tree
Showing 7 changed files with 51 additions and 47 deletions.
7 changes: 4 additions & 3 deletions asserts/snapasserts/validation_sets.go
Original file line number Diff line number Diff line change
Expand Up @@ -46,10 +46,11 @@ type InstalledComponent struct {
}

// NewInstalledSnap creates InstalledSnap.
func NewInstalledSnap(name, snapID string, revision snap.Revision) *InstalledSnap {
func NewInstalledSnap(name, snapID string, revision snap.Revision, components []InstalledComponent) *InstalledSnap {
return &InstalledSnap{
SnapRef: naming.NewSnapRef(name, snapID),
Revision: revision,
SnapRef: naming.NewSnapRef(name, snapID),
Revision: revision,
Components: components,
}
}

Expand Down
38 changes: 19 additions & 19 deletions asserts/snapasserts/validation_sets_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -275,7 +275,7 @@ func (s *validationSetsSuite) TestIntersections(c *C) {
func (s *validationSetsSuite) TestCheckInstalledSnapsNoValidationSets(c *C) {
valsets := snapasserts.NewValidationSets()
snaps := []*snapasserts.InstalledSnap{
snapasserts.NewInstalledSnap("snap-a", "mysnapaaaaaaaaaaaaaaaaaaaaaaaaaa", snap.R(1)),
snapasserts.NewInstalledSnap("snap-a", "mysnapaaaaaaaaaaaaaaaaaaaaaaaaaa", snap.R(1), nil),
}
err := valsets.CheckInstalledSnaps(snaps, nil)
c.Assert(err, IsNil)
Expand Down Expand Up @@ -430,20 +430,20 @@ func (s *validationSetsSuite) TestCheckInstalledSnaps(c *C) {
c.Assert(valsets.Add(vs6), IsNil)
c.Assert(valsets.Add(vs7), IsNil)

snapA := snapasserts.NewInstalledSnap("snap-a", "mysnapaaaaaaaaaaaaaaaaaaaaaaaaaa", snap.R(1))
snapAlocal := snapasserts.NewInstalledSnap("snap-a", "", snap.R("x2"))
snapB := snapasserts.NewInstalledSnap("snap-b", "mysnapbbbbbbbbbbbbbbbbbbbbbbbbbb", snap.R(3))
snapBinvRev := snapasserts.NewInstalledSnap("snap-b", "mysnapbbbbbbbbbbbbbbbbbbbbbbbbbb", snap.R(8))
snapBlocal := snapasserts.NewInstalledSnap("snap-b", "", snap.R("x3"))
snapC := snapasserts.NewInstalledSnap("snap-c", "mysnapcccccccccccccccccccccccccc", snap.R(2))
snapCinvRev := snapasserts.NewInstalledSnap("snap-c", "mysnapcccccccccccccccccccccccccc", snap.R(99))
snapD := snapasserts.NewInstalledSnap("snap-d", "mysnapdddddddddddddddddddddddddd", snap.R(2))
snapDrev99 := snapasserts.NewInstalledSnap("snap-d", "mysnapdddddddddddddddddddddddddd", snap.R(99))
snapDlocal := snapasserts.NewInstalledSnap("snap-d", "", snap.R("x3"))
snapE := snapasserts.NewInstalledSnap("snap-e", "mysnapeeeeeeeeeeeeeeeeeeeeeeeeee", snap.R(2))
snapF := snapasserts.NewInstalledSnap("snap-f", "mysnapffffffffffffffffffffffffff", snap.R(4))
snapA := snapasserts.NewInstalledSnap("snap-a", "mysnapaaaaaaaaaaaaaaaaaaaaaaaaaa", snap.R(1), nil)
snapAlocal := snapasserts.NewInstalledSnap("snap-a", "", snap.R("x2"), nil)
snapB := snapasserts.NewInstalledSnap("snap-b", "mysnapbbbbbbbbbbbbbbbbbbbbbbbbbb", snap.R(3), nil)
snapBinvRev := snapasserts.NewInstalledSnap("snap-b", "mysnapbbbbbbbbbbbbbbbbbbbbbbbbbb", snap.R(8), nil)
snapBlocal := snapasserts.NewInstalledSnap("snap-b", "", snap.R("x3"), nil)
snapC := snapasserts.NewInstalledSnap("snap-c", "mysnapcccccccccccccccccccccccccc", snap.R(2), nil)
snapCinvRev := snapasserts.NewInstalledSnap("snap-c", "mysnapcccccccccccccccccccccccccc", snap.R(99), nil)
snapD := snapasserts.NewInstalledSnap("snap-d", "mysnapdddddddddddddddddddddddddd", snap.R(2), nil)
snapDrev99 := snapasserts.NewInstalledSnap("snap-d", "mysnapdddddddddddddddddddddddddd", snap.R(99), nil)
snapDlocal := snapasserts.NewInstalledSnap("snap-d", "", snap.R("x3"), nil)
snapE := snapasserts.NewInstalledSnap("snap-e", "mysnapeeeeeeeeeeeeeeeeeeeeeeeeee", snap.R(2), nil)
snapF := snapasserts.NewInstalledSnap("snap-f", "mysnapffffffffffffffffffffffffff", snap.R(4), nil)
// extra snap, not referenced by any validation set
snapZ := snapasserts.NewInstalledSnap("snap-z", "mysnapzzzzzzzzzzzzzzzzzzzzzzzzzz", snap.R(1))
snapZ := snapasserts.NewInstalledSnap("snap-z", "mysnapzzzzzzzzzzzzzzzzzzzzzzzzzz", snap.R(1), nil)

tests := []struct {
snaps []*snapasserts.InstalledSnap
Expand Down Expand Up @@ -727,9 +727,9 @@ func (s *validationSetsSuite) TestCheckInstalledSnapsIgnoreValidation(c *C) {
valsets := snapasserts.NewValidationSets()
c.Assert(valsets.Add(vs), IsNil)

snapA := snapasserts.NewInstalledSnap("snap-a", "mysnapaaaaaaaaaaaaaaaaaaaaaaaaaa", snap.R(1))
snapB := snapasserts.NewInstalledSnap("snap-b", "mysnapbbbbbbbbbbbbbbbbbbbbbbbbbb", snap.R(3))
snapBinvRev := snapasserts.NewInstalledSnap("snap-b", "mysnapbbbbbbbbbbbbbbbbbbbbbbbbbb", snap.R(8))
snapA := snapasserts.NewInstalledSnap("snap-a", "mysnapaaaaaaaaaaaaaaaaaaaaaaaaaa", snap.R(1), nil)
snapB := snapasserts.NewInstalledSnap("snap-b", "mysnapbbbbbbbbbbbbbbbbbbbbbbbbbb", snap.R(3), nil)
snapBinvRev := snapasserts.NewInstalledSnap("snap-b", "mysnapbbbbbbbbbbbbbbbbbbbbbbbbbb", snap.R(8), nil)

// validity check
c.Check(valsets.CheckInstalledSnaps([]*snapasserts.InstalledSnap{snapA, snapB}, nil), ErrorMatches, "validation sets assertions are not met:\n"+
Expand Down Expand Up @@ -791,8 +791,8 @@ func (s *validationSetsSuite) TestCheckInstalledSnapsErrorFormat(c *C) {
// not strictly important, but ensures test data makes sense and avoids confusing results
c.Assert(valsets.Conflict(), IsNil)

snapA := snapasserts.NewInstalledSnap("snap-a", "mysnapaaaaaaaaaaaaaaaaaaaaaaaaaa", snap.R(1))
snapBlocal := snapasserts.NewInstalledSnap("snap-b", "", snap.R("x3"))
snapA := snapasserts.NewInstalledSnap("snap-a", "mysnapaaaaaaaaaaaaaaaaaaaaaaaaaa", snap.R(1), nil)
snapBlocal := snapasserts.NewInstalledSnap("snap-b", "", snap.R("x3"), nil)

tests := []struct {
snaps []*snapasserts.InstalledSnap
Expand Down
2 changes: 1 addition & 1 deletion daemon/api_validate_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -846,7 +846,7 @@ func (s *apiValidationSetsSuite) TestApplyValidationSetEnforceModeIgnoreValidati
restore := daemon.MockAssertstateFetchEnforceValidationSet(func(st *state.State, accountID, name string, sequence int, userID int, snaps []*snapasserts.InstalledSnap, ignoreValidation map[string]bool) (*assertstate.ValidationSetTracking, error) {
c.Check(ignoreValidation, check.DeepEquals, map[string]bool{"snap-b": true})
c.Check(snaps, testutil.DeepUnsortedMatches, []*snapasserts.InstalledSnap{
snapasserts.NewInstalledSnap("snap-b", "yOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.R("1"))})
snapasserts.NewInstalledSnap("snap-b", "yOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.R("1"), nil)})
c.Assert(accountID, check.Equals, s.dev1acct.AccountID())
c.Assert(name, check.Equals, "bar")
c.Assert(sequence, check.Equals, 0)
Expand Down
40 changes: 20 additions & 20 deletions overlord/assertstate/assertstate_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -3351,8 +3351,8 @@ func (s *assertMgrSuite) TestValidationSetAssertionForEnforceNotPinnedHappy(c *C
c.Assert(s.storeSigning.Add(vsetAs), IsNil)

snaps := []*snapasserts.InstalledSnap{
snapasserts.NewInstalledSnap("foo", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 1}),
snapasserts.NewInstalledSnap("other", "ididididid", snap.Revision{N: 1}),
snapasserts.NewInstalledSnap("foo", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 1}, nil),
snapasserts.NewInstalledSnap("other", "ididididid", snap.Revision{N: 1}, nil),
}

sequence := 0
Expand Down Expand Up @@ -3389,7 +3389,7 @@ func (s *assertMgrSuite) TestValidationSetAssertionForEnforcePinnedHappy(c *C) {
c.Assert(s.storeSigning.Add(vsetAs), IsNil)

snaps := []*snapasserts.InstalledSnap{
snapasserts.NewInstalledSnap("foo", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 1}),
snapasserts.NewInstalledSnap("foo", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 1}, nil),
}

sequence := 2
Expand Down Expand Up @@ -3518,7 +3518,7 @@ func (s *assertMgrSuite) TestValidationSetAssertionForEnforceNotPinnedAfterForge
c.Assert(s.storeSigning.Add(vsetAs2), IsNil)

snaps := []*snapasserts.InstalledSnap{
snapasserts.NewInstalledSnap("foo", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 1}),
snapasserts.NewInstalledSnap("foo", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 1}, nil),
}

sequence := 0
Expand Down Expand Up @@ -3569,7 +3569,7 @@ func (s *assertMgrSuite) TestValidationSetAssertionForEnforceNotPinnedAfterMonit
c.Assert(s.storeSigning.Add(vsetAs2), IsNil)

snaps := []*snapasserts.InstalledSnap{
snapasserts.NewInstalledSnap("foo", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 1}),
snapasserts.NewInstalledSnap("foo", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 1}, nil),
}

sequence := 0
Expand Down Expand Up @@ -3685,7 +3685,7 @@ func (s *assertMgrSuite) TestEnforceValidationSetAssertion(c *C) {
c.Assert(s.storeSigning.Add(vsetAs), IsNil)

snaps := []*snapasserts.InstalledSnap{
snapasserts.NewInstalledSnap("foo", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 1}),
snapasserts.NewInstalledSnap("foo", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 1}, nil),
}

sequence := 2
Expand Down Expand Up @@ -3746,7 +3746,7 @@ func (s *assertMgrSuite) TestEnforceValidationSetAssertionUpdate(c *C) {
c.Assert(s.storeSigning.Add(vsetAs), IsNil)

snaps := []*snapasserts.InstalledSnap{
snapasserts.NewInstalledSnap("foo", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 1}),
snapasserts.NewInstalledSnap("foo", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 1}, nil),
}

sequence := 2
Expand Down Expand Up @@ -3823,7 +3823,7 @@ func (s *assertMgrSuite) TestEnforceValidationSetAssertionPinToOlderSequence(c *
c.Assert(s.storeSigning.Add(vsetAs2), IsNil)

snaps := []*snapasserts.InstalledSnap{
snapasserts.NewInstalledSnap("foo", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 1}),
snapasserts.NewInstalledSnap("foo", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 1}, nil),
}

sequence := 2
Expand Down Expand Up @@ -3894,7 +3894,7 @@ func (s *assertMgrSuite) TestEnforceValidationSetAssertionAfterMonitor(c *C) {
assertstate.UpdateValidationSet(st, &monitor)

snaps := []*snapasserts.InstalledSnap{
snapasserts.NewInstalledSnap("foo", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 1}),
snapasserts.NewInstalledSnap("foo", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 1}, nil),
}

// add a newer sequence to the store
Expand Down Expand Up @@ -3946,7 +3946,7 @@ func (s *assertMgrSuite) TestEnforceValidationSetAssertionIgnoreValidation(c *C)
c.Assert(s.storeSigning.Add(vsetAs), IsNil)

snaps := []*snapasserts.InstalledSnap{
snapasserts.NewInstalledSnap("foo", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 3}),
snapasserts.NewInstalledSnap("foo", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 3}, nil),
}

sequence := 2
Expand Down Expand Up @@ -4038,8 +4038,8 @@ func (s *assertMgrSuite) TestTryEnforceValidationSetsAssertionsValidationError(c
// try to enforce extra validation sets bar and baz. some-snap is present (and required by foo at any revision),
// but needs to be at revision 3 to satisfy bar. invalid-snap is present but is invalid for baz.
installedSnaps := []*snapasserts.InstalledSnap{
snapasserts.NewInstalledSnap("some-snap", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 1}),
snapasserts.NewInstalledSnap("invalid-snap", "cccchntON3vR7kwEbVPsILm7bUViPDcc", snap.Revision{N: 1}),
snapasserts.NewInstalledSnap("some-snap", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 1}, nil),
snapasserts.NewInstalledSnap("invalid-snap", "cccchntON3vR7kwEbVPsILm7bUViPDcc", snap.Revision{N: 1}, nil),
}
err := assertstate.TryEnforcedValidationSets(st, []string{fmt.Sprintf("%s/bar", s.dev1Acct.AccountID()), fmt.Sprintf("%s/baz", s.dev1Acct.AccountID())}, 0, installedSnaps, nil)
verr, ok := err.(*snapasserts.ValidationSetsValidationError)
Expand Down Expand Up @@ -4122,7 +4122,7 @@ func (s *assertMgrSuite) TestTryEnforceValidationSetsAssertionsOK(c *C) {
c.Assert(s.storeSigning.Add(vsetAs2), IsNil)

installedSnaps := []*snapasserts.InstalledSnap{
snapasserts.NewInstalledSnap("some-snap", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 3}),
snapasserts.NewInstalledSnap("some-snap", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 3}, nil),
}
err := assertstate.TryEnforcedValidationSets(st, []string{fmt.Sprintf("%s/bar", s.dev1Acct.AccountID()), fmt.Sprintf("%s/baz=1", s.dev1Acct.AccountID())}, 0, installedSnaps, nil)
c.Assert(err, IsNil)
Expand Down Expand Up @@ -4231,7 +4231,7 @@ func (s *assertMgrSuite) TestTryEnforceValidationSetsAssertionsAlreadyTrackedUpd
c.Assert(s.storeSigning.Add(vsetAs2), IsNil)

installedSnaps := []*snapasserts.InstalledSnap{
snapasserts.NewInstalledSnap("some-snap", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 3}),
snapasserts.NewInstalledSnap("some-snap", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 3}, nil),
}
err := assertstate.TryEnforcedValidationSets(st, []string{fmt.Sprintf("%s/foo", s.dev1Acct.AccountID())}, 0, installedSnaps, nil)
c.Assert(err, IsNil)
Expand Down Expand Up @@ -4312,7 +4312,7 @@ func (s *assertMgrSuite) TestTryEnforceValidationSetsAssertionsConflictError(c *
// try to enforce extra validation sets bar and baz. some-snap is present (and required by foo at any revision),
// but needs to be at revision 3 to satisfy bar. invalid-snap is present but is invalid for baz.
installedSnaps := []*snapasserts.InstalledSnap{
snapasserts.NewInstalledSnap("some-snap", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 1}),
snapasserts.NewInstalledSnap("some-snap", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 1}, nil),
}
err := assertstate.TryEnforcedValidationSets(st, []string{fmt.Sprintf("%s/bar", s.dev1Acct.AccountID())}, 0, installedSnaps, nil)
_, ok := err.(*snapasserts.ValidationSetsConflictError)
Expand Down Expand Up @@ -4523,7 +4523,7 @@ func (s *assertMgrSuite) testEnforceValidationSets(c *C, pinnedSeq int) {
requestedValSet: localVs,
}
installedSnaps := []*snapasserts.InstalledSnap{
snapasserts.NewInstalledSnap("some-snap", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 1}),
snapasserts.NewInstalledSnap("some-snap", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 1}, nil),
}
err := assertstate.ApplyEnforcedValidationSets(st, valSets, pinnedSeqs, installedSnaps, nil, 0)
c.Assert(err, IsNil)
Expand Down Expand Up @@ -4586,7 +4586,7 @@ func (s *assertMgrSuite) TestEnforceValidationSetsWithNoLocalAssertions(c *C) {
}
pinnedSeqs := map[string]int{fmt.Sprintf("%s/foo", s.dev1Acct.AccountID()): 1}
installedSnaps := []*snapasserts.InstalledSnap{
snapasserts.NewInstalledSnap("some-snap", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 1}),
snapasserts.NewInstalledSnap("some-snap", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 1}, nil),
}

err := assertstate.ApplyEnforcedValidationSets(st, valSets, pinnedSeqs, installedSnaps, nil, 0)
Expand Down Expand Up @@ -4673,7 +4673,7 @@ func (s *assertMgrSuite) TestEnforceValidationSetsWithUnmetConstraints(c *C) {
}

installedSnaps := []*snapasserts.InstalledSnap{
snapasserts.NewInstalledSnap("some-snap", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 2}),
snapasserts.NewInstalledSnap("some-snap", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 2}, nil),
}

err := assertstate.ApplyEnforcedValidationSets(st, valSets, nil, installedSnaps, nil, 0)
Expand Down Expand Up @@ -4723,7 +4723,7 @@ func (s *assertMgrSuite) testApplyLocalEnforcedValidationSets(c *C, pinnedSeq in
vsKey: {release.Series, s.dev1Acct.AccountID(), "foo", "1"},
}
installedSnaps := []*snapasserts.InstalledSnap{
snapasserts.NewInstalledSnap("some-snap", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 1}),
snapasserts.NewInstalledSnap("some-snap", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 1}, nil),
}
err := assertstate.ApplyLocalEnforcedValidationSets(st, valSets, pinnedSeqs, installedSnaps, nil)
c.Assert(err, IsNil)
Expand Down Expand Up @@ -4801,7 +4801,7 @@ func (s *assertMgrSuite) TestApplyLocalEnforcedValidationSetsWithUnmetConstraint
}

installedSnaps := []*snapasserts.InstalledSnap{
snapasserts.NewInstalledSnap("some-snap", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 2}),
snapasserts.NewInstalledSnap("some-snap", "qOqKhntON3vR7kwEbVPsILm7bUViPDzz", snap.Revision{N: 2}, nil),
}

err := assertstate.ApplyLocalEnforcedValidationSets(st, valSets, nil, installedSnaps, nil)
Expand Down
3 changes: 2 additions & 1 deletion overlord/snapstate/snapstate.go
Original file line number Diff line number Diff line change
Expand Up @@ -4033,8 +4033,9 @@ func InstalledSnaps(st *state.State) (snaps []*snapasserts.InstalledSnap, ignore
if err != nil {
return nil, nil, err
}
// TODO:COMPS: add components
snaps = append(snaps, snapasserts.NewInstalledSnap(snapState.InstanceName(),
snapState.CurrentSideInfo().SnapID, cur.Revision))
snapState.CurrentSideInfo().SnapID, cur.Revision, nil))
if snapState.IgnoreValidation {
ignoreValidation[snapState.InstanceName()] = true
}
Expand Down
4 changes: 2 additions & 2 deletions overlord/snapstate/snapstate_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7972,8 +7972,8 @@ version: 1`), &snap.SideInfo{Revision: snap.R("5")})
snaps, ignoreValidation, err = snapstate.InstalledSnaps(st)
c.Assert(err, IsNil)
c.Check(snaps, testutil.DeepUnsortedMatches, []*snapasserts.InstalledSnap{
snapasserts.NewInstalledSnap("foo", "foo-id", snap.R("23")),
snapasserts.NewInstalledSnap("bar", "bar-id", snap.R("5"))})
snapasserts.NewInstalledSnap("foo", "foo-id", snap.R("23"), nil),
snapasserts.NewInstalledSnap("bar", "bar-id", snap.R("5"), nil)})

c.Check(ignoreValidation, DeepEquals, map[string]bool{"bar": true})
}
Expand Down
4 changes: 3 additions & 1 deletion seed/seedwriter/writer.go
Original file line number Diff line number Diff line change
Expand Up @@ -1534,9 +1534,11 @@ func (w *Writer) validationSets() (*snapasserts.ValidationSets, error) {

func (w *Writer) installedSnaps() []*snapasserts.InstalledSnap {
installedSnap := func(snap *SeedSnap) *snapasserts.InstalledSnap {
return snapasserts.NewInstalledSnap(snap.SnapName(), snap.ID(), snap.Info.Revision)
return snapasserts.NewInstalledSnap(snap.SnapName(), snap.ID(), snap.Info.Revision, nil)
}

// TODO:COMPS: add components

var installedSnaps []*snapasserts.InstalledSnap
for _, sn := range w.snapsFromModel {
installedSnaps = append(installedSnaps, installedSnap(sn))
Expand Down

0 comments on commit 56a1f30

Please sign in to comment.