Exemple #1
0
func TestFoo(t *testing.T) {
	cmd := sh.Command{"foo"}
	_, err := cmd.Run()
	if err.Error() != "exit status 127" {
		t.Errorf("command(%s) should exit with 127, but is: %#v", cmd.Text(), err.Error())
	}
}
Exemple #2
0
func TestRun(t *testing.T) {
	cmd := sh.Command{"echo -n 12; echo 34"}
	out, _ := cmd.Run()
	if out != "1234" {
		t.Errorf("command(%s) should output 1234, but is: %#v", cmd.Text(), out)
	}
}
Exemple #3
0
func RunPods(file string) (RunOutput, error) {
	var out RunOutput
	p, err := config.Pods(file)
	if err != nil {
		return out, err
	}

	script, err := MakeCmd(p)
	if err != nil {
		return out, err
	}

	cmd := sh.Command{script}
	fmt.Println(file)
	fmt.Println(script)
	fmt.Println("=============================")
	out = RunOutput{
		Pid:         p.Id,
		Pods:        file,
		ContainerId: cmd.Ok(),
		// ContainerId: cmd.Mock()[0],
	}

	return out, nil
}
Exemple #4
0
func TestLines(t *testing.T) {
	cmd := sh.Command{"echo 12; echo 34"}
	out, _ := cmd.Lines()
	if len(out) != 2 {
		t.Errorf("command(%s) should output 2 line, but is: %#v", cmd.Text(), out)
	}
}
Exemple #5
0
func gitDescribe(dir string) (string, error) {
	os.Chdir(dir)
	script := "git describe"
	cmd := sh.Command{script}

	out, err := cmd.Run()
	return out, err
}
Exemple #6
0
func InspectRunning(cid string) string {
	script := fmt.Sprintf("docker inspect --format='{{.State.Running}}' %s", cid)
	cmd := sh.Command{script}
	ret := cmd.Ok()
	if ret == "true" {
		return "YES"
	}
	return "NO"
}
Exemple #7
0
func InspectPid(cid string) string {
	script := fmt.Sprintf("docker inspect --format='{{.Config.Labels.name}}' %s", cid)
	cmd := sh.Command{script}
	ret := cmd.Ok()
	if ret == "<no value>" {
		return ""
	}
	return ret
}
Exemple #8
0
func gitRev(dir string) (string, error) {
	os.Chdir(dir)

	script := "git rev-list --count --first-parent HEAD"
	cmd := sh.Command{script}
	out, err := cmd.Run()

	if err != nil {
		return "", err
	}

	return fmt.Sprintf("r%s", out), err
}
Exemple #9
0
func Ps() []PsOutput {
	cmd := sh.Command{"docker ps -a"}

	lines, _ := cmd.Lines()
	var reader = sh.NewReader(lines, PsOutput{})

	var status []PsOutput
	status = make([]PsOutput, 0)

	for {
		var s PsOutput
		err := sh.Unmarshal(reader, &s)

		if err == io.EOF {
			break
		}
		if err != nil {
			panic(err)
		}
		status = append(status, s)
	}
	return status
}
Exemple #10
0
func TestRm(t *testing.T) {
	script := fmt.Sprintf("docker rm -f %s", busybox)
	cmd := sh.Command{script}
	t.Log(cmd.Ok())
}
Exemple #11
0
package docker_test

import (
	"fmt"
	"testing"

	"github.com/lotreal/docker-pods/src/docker"
	"github.com/lotreal/docker-pods/src/sh"
)

var busybox = (func() string {
	cmd := sh.Command{"docker run -d -it busybox sh"}
	return cmd.Ok()[0:12]
})()

func TestInit(t *testing.T) {
	t.Logf("%s", docker.Ps())
	t.Logf("%s", busybox)
}

func TestIp(t *testing.T) {
	t.Log(docker.InspectIp(busybox))
}

func TestPort(t *testing.T) {
	t.Log(docker.InspectPorts(busybox))
}

func TestState(t *testing.T) {
	t.Log(docker.InspectPorts(busybox))
}
Exemple #12
0
func InspectIp(cid string) string {
	script := fmt.Sprintf("docker inspect --format='{{.NetworkSettings.IPAddress}}' %s", cid)
	cmd := sh.Command{script}
	return cmd.Ok()
}
Exemple #13
0
func InspectPorts(cid string) string {
	script := fmt.Sprintf("docker inspect --format='{{range $p, $conf := .NetworkSettings.Ports}} {{$p}} -> {{(index $conf 0).HostPort}} {{end}}' %s", cid)
	cmd := sh.Command{script}
	ret := cmd.Ok()
	return ret
}