Some checks failed
Test / Create distribution (push) Successful in 34s
Test / Hpkg (push) Successful in 42s
Test / Hakurei (race detector) (push) Failing after 1m28s
Test / Sandbox (race detector) (push) Failing after 2m16s
Test / Hakurei (push) Successful in 2m19s
Test / Sandbox (push) Failing after 2m42s
Test / Flake checks (push) Has been skipped
Most tests already had no global state, however parallel was never enabled. This change enables it for all applicable tests. Signed-off-by: Ophestra <cat@gensokyo.uk>
48 lines
1.3 KiB
Go
48 lines
1.3 KiB
Go
package container
|
|
|
|
import (
|
|
"os"
|
|
"testing"
|
|
|
|
"hakurei.app/container/check"
|
|
"hakurei.app/container/stub"
|
|
)
|
|
|
|
func TestMkdirOp(t *testing.T) {
|
|
t.Parallel()
|
|
|
|
checkOpBehaviour(t, []opBehaviourTestCase{
|
|
{"success", new(Params), &MkdirOp{
|
|
Path: check.MustAbs("/.hakurei"),
|
|
Perm: 0500,
|
|
}, nil, nil, []stub.Call{
|
|
call("mkdirAll", stub.ExpectArgs{"/sysroot/.hakurei", os.FileMode(0500)}, nil, nil),
|
|
}, nil},
|
|
})
|
|
|
|
checkOpsValid(t, []opValidTestCase{
|
|
{"nil", (*MkdirOp)(nil), false},
|
|
{"zero", new(MkdirOp), false},
|
|
{"valid", &MkdirOp{Path: check.MustAbs("/.hakurei")}, true},
|
|
})
|
|
|
|
checkOpsBuilder(t, []opsBuilderTestCase{
|
|
{"etc", new(Ops).Mkdir(check.MustAbs("/etc/"), 0), Ops{
|
|
&MkdirOp{Path: check.MustAbs("/etc/")},
|
|
}},
|
|
})
|
|
|
|
checkOpIs(t, []opIsTestCase{
|
|
{"zero", new(MkdirOp), new(MkdirOp), false},
|
|
{"path differs", &MkdirOp{Path: check.MustAbs("/"), Perm: 0755}, &MkdirOp{Path: check.MustAbs("/etc/"), Perm: 0755}, false},
|
|
{"perm differs", &MkdirOp{Path: check.MustAbs("/")}, &MkdirOp{Path: check.MustAbs("/"), Perm: 0755}, false},
|
|
{"equals", &MkdirOp{Path: check.MustAbs("/")}, &MkdirOp{Path: check.MustAbs("/")}, true},
|
|
})
|
|
|
|
checkOpMeta(t, []opMetaTestCase{
|
|
{"etc", &MkdirOp{
|
|
Path: check.MustAbs("/etc/"),
|
|
}, "creating", `directory "/etc/" perm ----------`},
|
|
})
|
|
}
|