Skip to content

Commit eae75ff

Browse files
feedbacks
Topic: add-podman-backend Relative: refactor-for-podman Signed-off-by: andrew <andrew@anyscale.com>
1 parent 23ca2d5 commit eae75ff

File tree

3 files changed

+43
-16
lines changed

3 files changed

+43
-16
lines changed

wanda/podman_cmd.go

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,16 @@ import (
66
)
77

88
func podmanCmdEnvs() []string {
9-
var envs []string
10-
for _, k := range []string{
9+
keys := []string{
1110
"HOME",
1211
"USER",
1312
"PATH",
1413
"XDG_RUNTIME_DIR",
1514
"CONTAINERS_CONF",
1615
"REGISTRY_AUTH_FILE",
17-
} {
16+
}
17+
var envs []string
18+
for _, k := range keys {
1819
if v, ok := os.LookupEnv(k); ok {
1920
envs = append(envs, fmt.Sprintf("%s=%s", k, v))
2021
}

wanda/podman_cmd_test.go

Lines changed: 36 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,23 +1,48 @@
11
package wanda
22

33
import (
4+
"strings"
45
"testing"
56
)
67

78
func TestNewPodmanCmd(t *testing.T) {
8-
c := NewPodmanCmd(&PodmanCmdConfig{})
9-
cmd := c.(*podmanCmd)
10-
11-
if cmd.bin != "podman" {
12-
t.Errorf("bin: got %q, want %q", cmd.bin, "podman")
9+
testCases := []struct {
10+
name string
11+
config *PodmanCmdConfig
12+
wantBin string
13+
}{
14+
{
15+
name: "default",
16+
config: &PodmanCmdConfig{},
17+
wantBin: "podman",
18+
},
19+
{
20+
name: "custom bin",
21+
config: &PodmanCmdConfig{Bin: "/usr/local/bin/podman"},
22+
wantBin: "/usr/local/bin/podman",
23+
},
1324
}
14-
}
1525

16-
func TestNewPodmanCmd_customBin(t *testing.T) {
17-
c := NewPodmanCmd(&PodmanCmdConfig{Bin: "/usr/local/bin/podman"})
18-
cmd := c.(*podmanCmd)
26+
for _, tc := range testCases {
27+
t.Run(tc.name, func(t *testing.T) {
28+
c := NewPodmanCmd(tc.config)
29+
cmd := c.(*podmanCmd)
30+
31+
if cmd.bin != tc.wantBin {
32+
t.Errorf("bin: got %q, want %q", cmd.bin, tc.wantBin)
33+
}
1934

20-
if cmd.bin != "/usr/local/bin/podman" {
21-
t.Errorf("bin: got %q, want %q", cmd.bin, "/usr/local/bin/podman")
35+
// Check that at least one env var is propagated, e.g. PATH.
36+
foundEnv := false
37+
for _, env := range cmd.envs {
38+
if strings.HasPrefix(env, "PATH=") {
39+
foundEnv = true
40+
break
41+
}
42+
}
43+
if !foundEnv {
44+
t.Errorf("expected env vars to be propagated, but PATH was not found")
45+
}
46+
})
2247
}
2348
}

wanda/wanda/main.go

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ Flags:
2626

2727
func main() {
2828
workDir := flag.String("work_dir", ".", "root directory for the build")
29-
dockerBin := flag.String("docker", "", "path to the docker/podman binary")
29+
// Flag kept as docker for backward compatibility.
30+
containerBin := flag.String("docker", "", "path to the docker/podman binary")
3031
podman := flag.Bool("podman", false, "use podman instead of docker")
3132
rayCI := flag.Bool(
3233
"rayci", false,
@@ -91,7 +92,7 @@ func main() {
9192
ReadOnlyCache: *readOnly,
9293

9394
ContainerRuntime: runtime,
94-
ContainerBin: *dockerBin,
95+
ContainerBin: *containerBin,
9596
}
9697

9798
if err := wanda.Build(input, config); err != nil {

0 commit comments

Comments
 (0)