|
6 | 6 | "io" |
7 | 7 | "io/ioutil" |
8 | 8 | "os" |
| 9 | + "os/exec" |
9 | 10 | "path" |
10 | 11 | "strconv" |
11 | 12 | "strings" |
@@ -37,15 +38,41 @@ func (d *downstream) start() error { |
37 | 38 | } |
38 | 39 |
|
39 | 40 | func (d *downstream) startShell() error { |
40 | | - stdinPipe, stdoutPipe, stderrPipe, err := kubectl.Exec(d.config.Kubectl, d.config.Pod, d.config.Container.Name, []string{"sh"}, false, nil) |
| 41 | + if d.config.testing == false { |
| 42 | + stdinPipe, stdoutPipe, stderrPipe, err := kubectl.Exec(d.config.Kubectl, d.config.Pod, d.config.Container.Name, []string{"sh"}, false, nil) |
41 | 43 |
|
42 | | - if err != nil { |
43 | | - return errors.Trace(err) |
44 | | - } |
| 44 | + if err != nil { |
| 45 | + return errors.Trace(err) |
| 46 | + } |
| 47 | + |
| 48 | + d.stdinPipe = stdinPipe |
| 49 | + d.stdoutPipe = stdoutPipe |
| 50 | + d.stderrPipe = stderrPipe |
| 51 | + } else { |
| 52 | + var err error |
| 53 | + |
| 54 | + cmd := exec.Command("bash", "-c", "sh") |
| 55 | + |
| 56 | + d.stdinPipe, err = cmd.StdinPipe() |
| 57 | + if err != nil { |
| 58 | + return err |
| 59 | + } |
45 | 60 |
|
46 | | - d.stdinPipe = stdinPipe |
47 | | - d.stdoutPipe = stdoutPipe |
48 | | - d.stderrPipe = stderrPipe |
| 61 | + d.stdoutPipe, err = cmd.StdoutPipe() |
| 62 | + if err != nil { |
| 63 | + return err |
| 64 | + } |
| 65 | + |
| 66 | + d.stderrPipe, err = cmd.StderrPipe() |
| 67 | + if err != nil { |
| 68 | + return err |
| 69 | + } |
| 70 | + |
| 71 | + err = cmd.Start() |
| 72 | + if err != nil { |
| 73 | + return err |
| 74 | + } |
| 75 | + } |
49 | 76 |
|
50 | 77 | return nil |
51 | 78 | } |
@@ -347,18 +374,19 @@ func (d *downstream) createFolders(createFolders []*fileInformation) { |
347 | 374 | } |
348 | 375 |
|
349 | 376 | for _, element := range createFolders { |
350 | | - if fileMap[element.Name] == nil && element.IsDirectory { |
| 377 | + if element.IsDirectory { |
351 | 378 | if numCreateFolders <= 3 { |
352 | 379 | d.config.Logln("[Downstream] Create folder: " + element.Name) |
353 | 380 | } |
354 | 381 |
|
355 | 382 | err := os.MkdirAll(path.Join(d.config.WatchPath, element.Name), 0755) |
356 | | - |
357 | 383 | if err != nil { |
358 | | - d.config.Logln(err) |
| 384 | + d.config.Error(err) |
359 | 385 | } |
360 | 386 |
|
361 | | - d.config.fileIndex.CreateDirInFileMap(element.Name) |
| 387 | + if fileMap[element.Name] == nil { |
| 388 | + d.config.fileIndex.CreateDirInFileMap(element.Name) |
| 389 | + } |
362 | 390 | } |
363 | 391 | } |
364 | 392 | } |
|
0 commit comments