Signed-off-by: Alexandr Morozov <lk4d4@docker.com>
| ... | ... |
@@ -87,29 +87,28 @@ RUN [ $(ls -l /exists | awk '{print $3":"$4}') = 'dockerio:dockerio' ]`,
|
| 87 | 87 |
|
| 88 | 88 |
// Issue #3960: "ADD src ." hangs |
| 89 | 89 |
func TestBuildAddSingleFileToWorkdir(t *testing.T) {
|
| 90 |
- testDirName := "SingleFileToWorkdir" |
|
| 91 |
- sourceDirectory := filepath.Join(workingDirectory, "build_tests", "TestAdd", testDirName) |
|
| 92 |
- buildDirectory, err := ioutil.TempDir("", "test-build-add")
|
|
| 93 |
- defer os.RemoveAll(buildDirectory) |
|
| 94 |
- |
|
| 95 |
- err = copyWithCP(sourceDirectory, buildDirectory) |
|
| 96 |
- if err != nil {
|
|
| 97 |
- t.Fatalf("failed to copy files to temporary directory: %s", err)
|
|
| 98 |
- } |
|
| 99 |
- |
|
| 100 |
- buildDirectory = filepath.Join(buildDirectory, testDirName) |
|
| 101 |
- f, err := os.OpenFile(filepath.Join(buildDirectory, "test_file"), os.O_CREATE, 0644) |
|
| 90 |
+ name := "testaddsinglefiletoworkdir" |
|
| 91 |
+ defer deleteImages(name) |
|
| 92 |
+ ctx, err := fakeContext(`FROM busybox |
|
| 93 |
+ADD test_file .`, |
|
| 94 |
+ map[string]string{
|
|
| 95 |
+ "test_file": "test1", |
|
| 96 |
+ }) |
|
| 102 | 97 |
if err != nil {
|
| 103 | 98 |
t.Fatal(err) |
| 104 | 99 |
} |
| 105 |
- f.Close() |
|
| 106 |
- _, exitCode, err := dockerCmdInDirWithTimeout(5*time.Second, buildDirectory, "build", "-t", "testaddimg", ".") |
|
| 107 |
- if err != nil || exitCode != 0 {
|
|
| 108 |
- t.Fatalf("build failed: %s", err)
|
|
| 100 |
+ done := make(chan struct{})
|
|
| 101 |
+ go func() {
|
|
| 102 |
+ if _, err := buildImageFromContext(name, ctx, true); err != nil {
|
|
| 103 |
+ t.Fatal(err) |
|
| 104 |
+ } |
|
| 105 |
+ close(done) |
|
| 106 |
+ }() |
|
| 107 |
+ select {
|
|
| 108 |
+ case <-time.After(5 * time.Second): |
|
| 109 |
+ t.Fatal("Build with adding to workdir timed out")
|
|
| 110 |
+ case <-done: |
|
| 109 | 111 |
} |
| 110 |
- |
|
| 111 |
- deleteImages("testaddimg")
|
|
| 112 |
- |
|
| 113 | 112 |
logDone("build - add single file to workdir")
|
| 114 | 113 |
} |
| 115 | 114 |
|