mirror of
https://github.com/clearlinux/docker.git
synced 2026-10-03 15:28:35 +00:00
Halfway through fs branch fixes, TestUser not passing
This commit is contained in:
+49
-8
@@ -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 {
|
||||
|
||||
Reference in New Issue
Block a user