Skip to content

Commit 30feaa1

Browse files
authored
Merge pull request #2178 from crazy-max/0.12_backport_fix-builder-creation
[v0.12 backport] driver(container): fix conditional statement for error handling
2 parents b68ee82 + 8fb1163 commit 30feaa1

4 files changed

Lines changed: 54 additions & 2 deletions

File tree

driver/docker-container/factory.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -51,11 +51,11 @@ func (f *factory) New(ctx context.Context, cfg driver.InitConfig) (driver.Driver
5151
case k == "image":
5252
d.image = v
5353
case k == "memory":
54-
if err := d.memory.Set(v); err == nil {
54+
if err := d.memory.Set(v); err != nil {
5555
return nil, err
5656
}
5757
case k == "memory-swap":
58-
if err := d.memorySwap.Set(v); err == nil {
58+
if err := d.memorySwap.Set(v); err != nil {
5959
return nil, err
6060
}
6161
case k == "cpu-period":

tests/create.go

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package tests
2+
3+
import (
4+
"strings"
5+
"testing"
6+
7+
"github.com/moby/buildkit/util/testutil/integration"
8+
"github.com/stretchr/testify/require"
9+
)
10+
11+
func createCmd(sb integration.Sandbox, opts ...cmdOpt) (string, error) {
12+
opts = append([]cmdOpt{withArgs("create")}, opts...)
13+
cmd := buildxCmd(sb, opts...)
14+
out, err := cmd.CombinedOutput()
15+
return string(out), err
16+
}
17+
18+
var createTests = []func(t *testing.T, sb integration.Sandbox){
19+
testCreateMemoryLimit,
20+
}
21+
22+
func testCreateMemoryLimit(t *testing.T, sb integration.Sandbox) {
23+
if sb.Name() != "docker-container" {
24+
t.Skip("only testing for docker-container driver")
25+
}
26+
27+
var builderName string
28+
t.Cleanup(func() {
29+
if builderName == "" {
30+
return
31+
}
32+
out, err := rmCmd(sb, withArgs(builderName))
33+
require.NoError(t, err, out)
34+
})
35+
36+
out, err := createCmd(sb, withArgs("--driver", "docker-container", "--driver-opt", "network=host", "--driver-opt", "memory=1g"))
37+
require.NoError(t, err, out)
38+
builderName = strings.TrimSpace(out)
39+
}

tests/integration_test.go

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ func TestIntegration(t *testing.T) {
2727
tests = append(tests, lsTests...)
2828
tests = append(tests, imagetoolsTests...)
2929
tests = append(tests, versionTests...)
30+
tests = append(tests, createTests...)
3031
testIntegration(t, tests...)
3132
}
3233

tests/rm.go

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
package tests
2+
3+
import (
4+
"github.com/moby/buildkit/util/testutil/integration"
5+
)
6+
7+
func rmCmd(sb integration.Sandbox, opts ...cmdOpt) (string, error) {
8+
opts = append([]cmdOpt{withArgs("rm")}, opts...)
9+
cmd := buildxCmd(sb, opts...)
10+
out, err := cmd.CombinedOutput()
11+
return string(out), err
12+
}

0 commit comments

Comments
 (0)