Code Review
/
vpp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
hs-test: containerize ab and wrk
[vpp.git]
/
extras
/
hs-test
/
container.go
diff --git
a/extras/hs-test/container.go
b/extras/hs-test/container.go
index
1f600f9
..
1dc49b7
100644
(file)
--- a/
extras/hs-test/container.go
+++ b/
extras/hs-test/container.go
@@
-27,6
+27,7
@@
type Volume struct {
type Container struct {
suite *HstSuite
isOptional bool
type Container struct {
suite *HstSuite
isOptional bool
+ runDetached bool
name string
image string
extraRunningArgs string
name string
image string
extraRunningArgs string
@@
-65,6
+66,12
@@
func newContainer(yamlInput ContainerConfig) (*Container, error) {
container.isOptional = false
}
container.isOptional = false
}
+ if runDetached, ok := yamlInput["run-detached"]; ok {
+ container.runDetached = runDetached.(bool)
+ } else {
+ container.runDetached = true
+ }
+
if _, ok := yamlInput["volumes"]; ok {
r := strings.NewReplacer("$HST_DIR", workDir)
for _, volu := range yamlInput["volumes"].([]interface{}) {
if _, ok := yamlInput["volumes"]; ok {
r := strings.NewReplacer("$HST_DIR", workDir)
for _, volu := range yamlInput["volumes"].([]interface{}) {
@@
-119,7
+126,7
@@
func (c *Container) getContainerWorkDir() (res string) {
}
func (c *Container) getContainerArguments() string {
}
func (c *Container) getContainerArguments() string {
- args := "--cap-add=all --privileged --network host --rm"
+ args := "--
ulimit nofile=90000:90000 --
cap-add=all --privileged --network host --rm"
args += c.getVolumesAsCliOption()
args += c.getEnvVarsAsCliOption()
args += " --name " + c.name + " " + c.image
args += c.getVolumesAsCliOption()
args += c.getEnvVarsAsCliOption()
args += " --name " + c.name + " " + c.image
@@
-139,19
+146,38
@@
func (c *Container) start() error {
return exechelper.Run(cmd)
}
return exechelper.Run(cmd)
}
-func (c *Container)
run() error
{
+func (c *Container)
prepareCommand() (string, error)
{
if c.name == "" {
if c.name == "" {
- return fmt.Errorf("run container failed: name is blank")
+ return
"",
fmt.Errorf("run container failed: name is blank")
}
}
- cmd := "docker run -d " + c.getContainerArguments()
+ cmd := "docker run "
+ if c.runDetached {
+ cmd += " -d"
+ }
+ cmd += " " + c.getContainerArguments()
+
c.suite.log(cmd)
c.suite.log(cmd)
- err := exechelper.Run(cmd)
+ return cmd, nil
+}
+
+func (c *Container) combinedOutput() (string, error) {
+ cmd, err := c.prepareCommand()
if err != nil {
if err != nil {
- return
fmt.Errorf("container run failed: %s", err)
+ return
"", err
}
}
- return nil
+ byteOutput, err := exechelper.CombinedOutput(cmd)
+ return string(byteOutput), err
+}
+
+func (c *Container) run() error {
+ cmd, err := c.prepareCommand()
+ if err != nil {
+ return err
+ }
+
+ return exechelper.Run(cmd)
}
func (c *Container) addVolume(hostDir string, containerDir string, isDefaultWorkDir bool) {
}
func (c *Container) addVolume(hostDir string, containerDir string, isDefaultWorkDir bool) {