26
26
containertesting "launchpad.net/juju-core/container/testing"
27
27
instancetest "launchpad.net/juju-core/instance/testing"
28
28
"launchpad.net/juju-core/juju/osenv"
29
"launchpad.net/juju-core/testing/testbase"
29
coretesting "launchpad.net/juju-core/testing"
32
32
func Test(t *stdtesting.T) {
58
58
s.TestSuite.TearDownTest(c)
61
func (t *LxcSuite) TestPreferFastLXC(c *gc.C) {
62
for i, test := range []struct {
67
message: "missing release file",
69
message: "precise release",
70
releaseVersion: "12.04",
72
message: "trusty release",
73
releaseVersion: "14.04",
76
message: "unstable unicorn",
77
releaseVersion: "14.10",
81
releaseVersion: "10.04",
83
c.Logf("%v: %v", i, test.message)
84
value := lxc.PreferFastLXC(test.releaseVersion)
85
c.Assert(value, gc.Equals, test.expected)
89
func (s *LxcSuite) TestContainerManagerLXCClone(c *gc.C) {
96
releaseVersion: "12.04",
100
releaseVersion: "14.04",
103
releaseVersion: "12.04",
106
releaseVersion: "14.04",
110
for i, test := range tests {
111
c.Logf("test %d: %v", i, test)
112
s.PatchValue(lxc.ReleaseVersion, func() string { return test.releaseVersion })
114
mgr, err := lxc.NewContainerManager(container.ManagerConfig{
115
container.ConfigName: "juju",
116
"use-clone": test.useClone,
118
c.Assert(err, gc.IsNil)
119
c.Check(lxc.GetCreateWithCloneValue(mgr), gc.Equals, test.expectClone)
61
123
func (s *LxcSuite) TestContainerDirFilesystem(c *gc.C) {
62
124
for i, test := range []struct {
93
155
params := container.ManagerConfig{
94
156
container.ConfigName: name,
97
params["use-clone"] = "true"
158
// Need to ensure use-clone is explicitly set to avoid it
159
// being set based on the OS version.
160
params["use-clone"] = fmt.Sprintf("%v", s.useClone)
100
162
params["use-aufs"] = "true"