Halfway through fs branch fixes, TestUser not passing

This commit is contained in:
shin-
2013-02-26 17:45:46 -08:00
parent 8b61af1895
commit 2ebf3464a1
11 changed files with 143 additions and 515 deletions
+49 -8
View File
@@ -5,9 +5,20 @@ import (
"log"
"os"
"testing"
"io"
"./fs"
)
const testLayerPath string = "/var/lib/docker/images/docker-ut"
const testLayerPath string = "/var/lib/docker/docker-ut.tar"
func layerArchive(tarfile string) (io.Reader, error) {
// FIXME: need to close f somewhere
f, err := os.Open(tarfile)
if err != nil {
return nil, err
}
return f, nil
}
func init() {
// Hack to run sys init during unit testing
@@ -21,6 +32,7 @@ func init() {
panic(err)
}
log.Fatalf("Unit test base image not found. Please fix the problem by running \"debootstrap --arch=amd64 quantal %v\"", testLayerPath)
return
}
}
@@ -33,9 +45,28 @@ func newTestDocker() (*Docker, error) {
if err != nil {
return nil, err
}
if layer, err := layerArchive(testLayerPath); err != nil {
panic(err)
} else {
_, err = docker.Store.Create(layer, nil, "docker-ut", "unit tests")
if err != nil {
panic(err)
}
}
return docker, nil
}
func GetTestImage(docker *Docker) (*fs.Image) {
imgs, err := docker.Store.Images()
if err != nil {
panic(err)
} else if len(imgs) < 1 {
panic("GASP")
}
return imgs[0]
}
func TestCreate(t *testing.T) {
docker, err := newTestDocker()
if err != nil {
@@ -50,7 +81,7 @@ func TestCreate(t *testing.T) {
"test_create",
"ls",
[]string{"-al"},
[]string{testLayerPath},
GetTestImage(docker),
&Config{},
)
if err != nil {
@@ -98,7 +129,7 @@ func TestDestroy(t *testing.T) {
"test_destroy",
"ls",
[]string{"-al"},
[]string{testLayerPath},
GetTestImage(docker),
&Config{},
)
if err != nil {
@@ -146,7 +177,7 @@ func TestGet(t *testing.T) {
"test1",
"ls",
[]string{"-al"},
[]string{testLayerPath},
GetTestImage(docker),
&Config{},
)
if err != nil {
@@ -158,7 +189,7 @@ func TestGet(t *testing.T) {
"test2",
"ls",
[]string{"-al"},
[]string{testLayerPath},
GetTestImage(docker),
&Config{},
)
if err != nil {
@@ -170,7 +201,7 @@ func TestGet(t *testing.T) {
"test3",
"ls",
[]string{"-al"},
[]string{testLayerPath},
GetTestImage(docker),
&Config{},
)
if err != nil {
@@ -198,16 +229,26 @@ func TestRestore(t *testing.T) {
t.Fatal(err)
}
// Create a container with one instance of docker
docker1, err := NewFromDirectory(root)
if err != nil {
t.Fatal(err)
}
if layer, err := layerArchive(testLayerPath); err != nil {
panic(err)
} else {
_, err = docker1.Store.Create(layer, nil, "docker-ut", "unit tests")
if err != nil {
panic(err)
}
}
// Create a container with one instance of docker
container1, err := docker1.Create(
"restore_test",
"ls",
[]string{"-al"},
[]string{testLayerPath},
GetTestImage(docker1),
&Config{},
)
if err != nil {