Remove internet dependency from TestBuildCacheADD

Signed-off-by: Alexandr Morozov <lk4d4math@gmail.com>
This commit is contained in:
Alexandr Morozov 2014-08-18 14:13:43 +04:00
parent 7afb98ad5d
commit 075e1bc1c3
No known key found for this signature in database
GPG Key ID: 59BF89FA47378873
4 changed files with 34 additions and 33 deletions

View File

@ -1,2 +0,0 @@
FROM busybox
ADD https://index.docker.io/robots.txt /

View File

@ -1,2 +0,0 @@
FROM busybox
ADD http://example.com/index.html /

View File

@ -15,38 +15,34 @@ import (
)
func TestBuildCacheADD(t *testing.T) {
var (
exitCode int
out string
err error
)
{
buildDirectory := filepath.Join(workingDirectory, "build_tests", "TestBuildCacheADD", "1")
out, exitCode, err = dockerCmdInDir(t, buildDirectory, "build", "-t", "testcacheadd1", ".")
errorOut(err, t, fmt.Sprintf("build failed to complete: %v %v", out, err))
if err != nil || exitCode != 0 {
t.Fatal("failed to build the image")
}
name := "testbuildtwoimageswithadd"
defer deleteImages(name)
server, err := fakeStorage(map[string]string{
"robots.txt": "hello",
"index.html": "world",
})
if err != nil {
t.Fatal(err)
}
{
buildDirectory := filepath.Join(workingDirectory, "build_tests", "TestBuildCacheADD", "2")
out, exitCode, err = dockerCmdInDir(t, buildDirectory, "build", "-t", "testcacheadd2", ".")
errorOut(err, t, fmt.Sprintf("build failed to complete: %v %v", out, err))
if err != nil || exitCode != 0 {
t.Fatal("failed to build the image")
}
defer server.Close()
if _, err := buildImage(name,
fmt.Sprintf(`FROM scratch
ADD %s/robots.txt /`, server.URL),
true); err != nil {
t.Fatal(err)
}
out, _, err := buildImageWithOut(name,
fmt.Sprintf(`FROM scratch
ADD %s/index.html /`, server.URL),
true)
if err != nil {
t.Fatal(err)
}
if strings.Contains(out, "Using cache") {
t.Fatal("2nd build used cache on ADD, it shouldn't")
}
deleteImages("testcacheadd1")
deleteImages("testcacheadd2")
logDone("build - build two images with ADD")
logDone("build - build two images with remote ADD")
}
func TestBuildSixtySteps(t *testing.T) {

View File

@ -240,7 +240,7 @@ func getIDByName(name string) (string, error) {
return inspectField(name, "Id")
}
func buildImage(name, dockerfile string, useCache bool) (string, error) {
func buildImageWithOut(name, dockerfile string, useCache bool) (string, string, error) {
args := []string{"build", "-t", name}
if !useCache {
args = append(args, "--no-cache")
@ -250,9 +250,18 @@ func buildImage(name, dockerfile string, useCache bool) (string, error) {
buildCmd.Stdin = strings.NewReader(dockerfile)
out, exitCode, err := runCommandWithOutput(buildCmd)
if err != nil || exitCode != 0 {
return "", fmt.Errorf("failed to build the image: %s", out)
return "", out, fmt.Errorf("failed to build the image: %s", out)
}
return getIDByName(name)
id, err := getIDByName(name)
if err != nil {
return "", out, err
}
return id, out, nil
}
func buildImage(name, dockerfile string, useCache bool) (string, error) {
id, _, err := buildImageWithOut(name, dockerfile, useCache)
return id, err
}
func buildImageFromContext(name string, ctx *FakeContext, useCache bool) (string, error) {