container/init: use absolute compare method
All checks were successful
Test / Create distribution (push) Successful in 34s
Test / Sandbox (push) Successful in 2m9s
Test / Hakurei (push) Successful in 3m3s
Test / Hpkg (push) Successful in 4m4s
Test / Sandbox (race detector) (push) Successful in 4m25s
Test / Hakurei (race detector) (push) Successful in 4m59s
Test / Flake checks (push) Successful in 1m19s
All checks were successful
Test / Create distribution (push) Successful in 34s
Test / Sandbox (push) Successful in 2m9s
Test / Hakurei (push) Successful in 3m3s
Test / Hpkg (push) Successful in 4m4s
Test / Sandbox (race detector) (push) Successful in 4m25s
Test / Hakurei (race detector) (push) Successful in 4m59s
Test / Flake checks (push) Successful in 1m19s
More checks are also added. Signed-off-by: Ophestra <cat@gensokyo.uk>
This commit is contained in:
parent
31f0dd36df
commit
97ab24feef
@ -73,8 +73,7 @@ func (r *AutoRootOp) apply(state *setupState) error {
|
||||
func (r *AutoRootOp) Is(op Op) bool {
|
||||
vr, ok := op.(*AutoRootOp)
|
||||
return ok && ((r == nil && vr == nil) || (r != nil && vr != nil &&
|
||||
r.Host != nil && vr.Host != nil &&
|
||||
r.Host.String() == vr.Host.String() &&
|
||||
r.Host != nil && vr.Host != nil && r.Host.Is(vr.Host) &&
|
||||
r.Prefix == vr.Prefix && r.Flags == vr.Flags))
|
||||
}
|
||||
func (*AutoRootOp) prefix() string { return "setting up" }
|
||||
|
@ -27,7 +27,7 @@ func TestAutoRootOp(t *testing.T) {
|
||||
resolved: []Op{new(BindMountOp)},
|
||||
}, true},
|
||||
|
||||
{"differs", &AutoRootOp{
|
||||
{"prefix differs", &AutoRootOp{
|
||||
Host: MustAbs("/"),
|
||||
Prefix: "\x00",
|
||||
Flags: BindWritable,
|
||||
@ -37,6 +37,26 @@ func TestAutoRootOp(t *testing.T) {
|
||||
Flags: BindWritable,
|
||||
}, false},
|
||||
|
||||
{"flags differs", &AutoRootOp{
|
||||
Host: MustAbs("/"),
|
||||
Prefix: ":3",
|
||||
Flags: BindWritable | BindDevice,
|
||||
}, &AutoRootOp{
|
||||
Host: MustAbs("/"),
|
||||
Prefix: ":3",
|
||||
Flags: BindWritable,
|
||||
}, false},
|
||||
|
||||
{"host differs", &AutoRootOp{
|
||||
Host: MustAbs("/tmp/"),
|
||||
Prefix: ":3",
|
||||
Flags: BindWritable,
|
||||
}, &AutoRootOp{
|
||||
Host: MustAbs("/"),
|
||||
Prefix: ":3",
|
||||
Flags: BindWritable,
|
||||
}, false},
|
||||
|
||||
{"equals", &AutoRootOp{
|
||||
Host: MustAbs("/"),
|
||||
Prefix: ":3",
|
||||
|
@ -88,10 +88,8 @@ func (b *BindMountOp) apply(*setupState) error {
|
||||
func (b *BindMountOp) Is(op Op) bool {
|
||||
vb, ok := op.(*BindMountOp)
|
||||
return ok && ((b == nil && vb == nil) || (b != nil && vb != nil &&
|
||||
b.Source != nil && vb.Source != nil &&
|
||||
b.Source.String() == vb.Source.String() &&
|
||||
b.Target != nil && vb.Target != nil &&
|
||||
b.Target.String() == vb.Target.String() &&
|
||||
b.Source != nil && vb.Source != nil && b.Source.Is(vb.Source) &&
|
||||
b.Target != nil && vb.Target != nil && b.Target.Is(vb.Target) &&
|
||||
b.Flags == vb.Flags))
|
||||
}
|
||||
func (*BindMountOp) prefix() string { return "mounting" }
|
||||
|
@ -28,7 +28,7 @@ func TestBindMountOp(t *testing.T) {
|
||||
sourceFinal: MustAbs("/etc/"),
|
||||
}, true},
|
||||
|
||||
{"differs", &BindMountOp{
|
||||
{"flags differs", &BindMountOp{
|
||||
Source: MustAbs("/etc/"),
|
||||
Target: MustAbs("/etc/.host/048090b6ed8f9ebb10e275ff5d8c0659"),
|
||||
}, &BindMountOp{
|
||||
@ -37,6 +37,22 @@ func TestBindMountOp(t *testing.T) {
|
||||
Flags: BindOptional,
|
||||
}, false},
|
||||
|
||||
{"source differs", &BindMountOp{
|
||||
Source: MustAbs("/.hakurei/etc/"),
|
||||
Target: MustAbs("/etc/.host/048090b6ed8f9ebb10e275ff5d8c0659"),
|
||||
}, &BindMountOp{
|
||||
Source: MustAbs("/etc/"),
|
||||
Target: MustAbs("/etc/.host/048090b6ed8f9ebb10e275ff5d8c0659"),
|
||||
}, false},
|
||||
|
||||
{"target differs", &BindMountOp{
|
||||
Source: MustAbs("/etc/"),
|
||||
Target: MustAbs("/etc/.host/048090b6ed8f9ebb10e275ff5d8c0659"),
|
||||
}, &BindMountOp{
|
||||
Source: MustAbs("/etc/"),
|
||||
Target: MustAbs("/etc/"),
|
||||
}, false},
|
||||
|
||||
{"equals", &BindMountOp{
|
||||
Source: MustAbs("/etc/"),
|
||||
Target: MustAbs("/etc/.host/048090b6ed8f9ebb10e275ff5d8c0659"),
|
||||
|
@ -129,8 +129,7 @@ func (d *MountDevOp) apply(state *setupState) error {
|
||||
func (d *MountDevOp) Is(op Op) bool {
|
||||
vd, ok := op.(*MountDevOp)
|
||||
return ok && ((d == nil && vd == nil) || (d != nil && vd != nil &&
|
||||
d.Target != nil && vd.Target != nil &&
|
||||
d.Target.String() == vd.Target.String() &&
|
||||
d.Target != nil && vd.Target != nil && d.Target.Is(vd.Target) &&
|
||||
d.Mqueue == vd.Mqueue && d.Write == vd.Write))
|
||||
}
|
||||
func (*MountDevOp) prefix() string { return "mounting" }
|
||||
|
@ -22,15 +22,7 @@ func TestMountDevOp(t *testing.T) {
|
||||
checkOpIs(t, []opIsTestCase{
|
||||
{"zero", new(MountDevOp), new(MountDevOp), false},
|
||||
|
||||
{"equals", &MountDevOp{
|
||||
Target: MustAbs("/dev/"),
|
||||
Mqueue: true,
|
||||
}, &MountDevOp{
|
||||
Target: MustAbs("/dev/"),
|
||||
Mqueue: true,
|
||||
}, true},
|
||||
|
||||
{"differs", &MountDevOp{
|
||||
{"write differs", &MountDevOp{
|
||||
Target: MustAbs("/dev/"),
|
||||
Mqueue: true,
|
||||
}, &MountDevOp{
|
||||
@ -39,13 +31,28 @@ func TestMountDevOp(t *testing.T) {
|
||||
Write: true,
|
||||
}, false},
|
||||
|
||||
{"differs path", &MountDevOp{
|
||||
{"mqueue differs", &MountDevOp{
|
||||
Target: MustAbs("/dev/"),
|
||||
}, &MountDevOp{
|
||||
Target: MustAbs("/dev/"),
|
||||
Mqueue: true,
|
||||
}, false},
|
||||
|
||||
{"target differs", &MountDevOp{
|
||||
Target: MustAbs("/"),
|
||||
Mqueue: true,
|
||||
}, &MountDevOp{
|
||||
Target: MustAbs("/dev/"),
|
||||
Mqueue: true,
|
||||
}, false},
|
||||
|
||||
{"equals", &MountDevOp{
|
||||
Target: MustAbs("/dev/"),
|
||||
Mqueue: true,
|
||||
}, &MountDevOp{
|
||||
Target: MustAbs("/dev/"),
|
||||
Mqueue: true,
|
||||
}, true},
|
||||
})
|
||||
|
||||
checkOpMeta(t, []opMetaTestCase{
|
||||
|
@ -32,8 +32,7 @@ func (m *MkdirOp) apply(*setupState) error {
|
||||
func (m *MkdirOp) Is(op Op) bool {
|
||||
vm, ok := op.(*MkdirOp)
|
||||
return ok && ((m == nil && vm == nil) || (m != nil && vm != nil &&
|
||||
m.Path != nil && vm.Path != nil &&
|
||||
m.Path.String() == vm.Path.String() &&
|
||||
m.Path != nil && vm.Path != nil && m.Path.Is(vm.Path) &&
|
||||
m.Perm == vm.Perm))
|
||||
}
|
||||
func (*MkdirOp) prefix() string { return "creating" }
|
||||
|
@ -11,7 +11,8 @@ func TestMkdirOp(t *testing.T) {
|
||||
|
||||
checkOpIs(t, []opIsTestCase{
|
||||
{"zero", new(MkdirOp), new(MkdirOp), false},
|
||||
{"differs", &MkdirOp{Path: MustAbs("/"), Perm: 0755}, &MkdirOp{Path: MustAbs("/etc/"), Perm: 0755}, false},
|
||||
{"path differs", &MkdirOp{Path: MustAbs("/"), Perm: 0755}, &MkdirOp{Path: MustAbs("/etc/"), Perm: 0755}, false},
|
||||
{"perm differs", &MkdirOp{Path: MustAbs("/")}, &MkdirOp{Path: MustAbs("/"), Perm: 0755}, false},
|
||||
{"equals", &MkdirOp{Path: MustAbs("/")}, &MkdirOp{Path: MustAbs("/")}, true},
|
||||
})
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user