1
// Copyright 2014 Canonical Ltd.
2
// Licensed under the AGPLv3, see LICENCE file for details.
7
jc "github.com/juju/testing/checkers"
8
gc "launchpad.net/gocheck"
10
"launchpad.net/juju-core/instance"
11
"launchpad.net/juju-core/provider/local"
12
"launchpad.net/juju-core/testing/testbase"
19
var _ = gc.Suite(&lxcTest{})
21
func (*lxcTest) TestUseFastLXCForContainer(c *gc.C) {
22
c.Assert(local.UseFastLXC(instance.ContainerType("")), jc.IsFalse)
23
c.Assert(local.UseFastLXC(instance.KVM), jc.IsFalse)
26
func (t *lxcTest) TestUseFastLXC(c *gc.C) {
27
for i, test := range []struct {
32
message: "missing release file",
34
message: "precise release",
35
releaseVersion: "12.04",
37
message: "trusty release",
38
releaseVersion: "14.04",
41
message: "unstable unicorn",
42
releaseVersion: "14.10",
46
releaseVersion: "9.10",
48
c.Logf("%v: %v", i, test.message)
49
t.PatchValue(local.ReleaseVersion, func() string { return test.releaseVersion })
50
value := local.UseFastLXC(instance.LXC)
51
c.Assert(value, gc.Equals, test.expected)