2014-02-25 18:17:48 +02:00
|
|
|
package main
|
|
|
|
|
|
|
|
import (
|
|
|
|
"io"
|
2014-09-02 17:35:25 +03:00
|
|
|
"os"
|
2014-02-25 18:17:48 +02:00
|
|
|
"os/exec"
|
2014-07-28 22:50:16 -07:00
|
|
|
"time"
|
2014-09-06 14:49:40 +03:00
|
|
|
|
2015-09-09 15:36:44 +02:00
|
|
|
"github.com/docker/docker/pkg/integration"
|
2016-08-04 12:57:34 -04:00
|
|
|
"github.com/docker/docker/pkg/integration/cmd"
|
2014-02-25 18:17:48 +02:00
|
|
|
)
|
|
|
|
|
2016-02-03 15:16:00 +01:00
|
|
|
func getPrefixAndSlashFromDaemonPlatform() (prefix, slash string) {
|
|
|
|
if daemonPlatform == "windows" {
|
|
|
|
return "c:", `\`
|
|
|
|
}
|
|
|
|
return "", "/"
|
|
|
|
}
|
|
|
|
|
2016-08-04 12:57:34 -04:00
|
|
|
// TODO: update code to call cmd.RunCmd directly, and remove this function
|
|
|
|
func runCommandWithOutput(execCmd *exec.Cmd) (string, int, error) {
|
|
|
|
result := cmd.RunCmd(transformCmd(execCmd))
|
|
|
|
return result.Combined(), result.ExitCode, result.Error
|
2014-02-25 18:17:48 +02:00
|
|
|
}
|
|
|
|
|
2016-08-04 12:57:34 -04:00
|
|
|
// TODO: update code to call cmd.RunCmd directly, and remove this function
|
|
|
|
func runCommandWithStdoutStderr(execCmd *exec.Cmd) (string, string, int, error) {
|
|
|
|
result := cmd.RunCmd(transformCmd(execCmd))
|
|
|
|
return result.Stdout(), result.Stderr(), result.ExitCode, result.Error
|
2014-08-13 17:23:11 +03:00
|
|
|
}
|
|
|
|
|
2016-08-04 12:57:34 -04:00
|
|
|
// TODO: update code to call cmd.RunCmd directly, and remove this function
|
|
|
|
func runCommand(execCmd *exec.Cmd) (exitCode int, err error) {
|
|
|
|
result := cmd.RunCmd(transformCmd(execCmd))
|
|
|
|
return result.ExitCode, result.Error
|
2015-03-10 22:10:00 +00:00
|
|
|
}
|
|
|
|
|
2016-08-04 12:57:34 -04:00
|
|
|
// Temporary shim for migrating commands to the new function
|
|
|
|
func transformCmd(execCmd *exec.Cmd) cmd.Cmd {
|
|
|
|
return cmd.Cmd{
|
|
|
|
Command: execCmd.Args,
|
|
|
|
Env: execCmd.Env,
|
|
|
|
Dir: execCmd.Dir,
|
|
|
|
Stdin: execCmd.Stdin,
|
|
|
|
Stdout: execCmd.Stdout,
|
|
|
|
}
|
2014-02-25 18:17:48 +02:00
|
|
|
}
|
|
|
|
|
2015-02-14 14:25:13 -08:00
|
|
|
func runCommandPipelineWithOutput(cmds ...*exec.Cmd) (output string, exitCode int, err error) {
|
2015-09-09 15:36:44 +02:00
|
|
|
return integration.RunCommandPipelineWithOutput(cmds...)
|
2015-02-14 14:25:13 -08:00
|
|
|
}
|
|
|
|
|
2014-07-08 23:25:22 +03:00
|
|
|
func convertSliceOfStringsToMap(input []string) map[string]struct{} {
|
2015-09-09 15:36:44 +02:00
|
|
|
return integration.ConvertSliceOfStringsToMap(input)
|
2014-07-28 22:50:16 -07:00
|
|
|
}
|
2014-09-02 17:35:25 +03:00
|
|
|
|
|
|
|
func compareDirectoryEntries(e1 []os.FileInfo, e2 []os.FileInfo) error {
|
2015-09-09 15:36:44 +02:00
|
|
|
return integration.CompareDirectoryEntries(e1, e2)
|
2014-09-02 17:35:25 +03:00
|
|
|
}
|
2014-09-06 14:49:40 +03:00
|
|
|
|
2015-07-22 13:59:24 +01:00
|
|
|
func listTar(f io.Reader) ([]string, error) {
|
2015-09-09 15:36:44 +02:00
|
|
|
return integration.ListTar(f)
|
2014-09-06 14:49:40 +03:00
|
|
|
}
|
2014-09-12 20:10:42 +03:00
|
|
|
|
2015-09-24 10:53:47 -07:00
|
|
|
func randomTmpDirPath(s string, platform string) string {
|
|
|
|
return integration.RandomTmpDirPath(s, platform)
|
2015-02-13 22:59:01 -08:00
|
|
|
}
|
|
|
|
|
2014-10-30 21:10:38 +02:00
|
|
|
func consumeWithSpeed(reader io.Reader, chunkSize int, interval time.Duration, stop chan bool) (n int, err error) {
|
2015-09-09 15:36:44 +02:00
|
|
|
return integration.ConsumeWithSpeed(reader, chunkSize, interval, stop)
|
2014-10-30 20:52:13 +02:00
|
|
|
}
|
2015-03-20 22:32:40 +00:00
|
|
|
|
|
|
|
func parseCgroupPaths(procCgroupData string) map[string]string {
|
2015-09-09 15:36:44 +02:00
|
|
|
return integration.ParseCgroupPaths(procCgroupData)
|
2015-05-26 22:22:03 -04:00
|
|
|
}
|
2015-07-22 09:14:48 -07:00
|
|
|
|
|
|
|
func runAtDifferentDate(date time.Time, block func()) {
|
2015-09-09 15:36:44 +02:00
|
|
|
integration.RunAtDifferentDate(date, block)
|
2015-07-22 09:14:48 -07:00
|
|
|
}
|